用户与组管理
用户账户的唯一标志为UID,管理员root账户UID默认为0,普通用户UID默认从1000开始,默认最大值为60000
组账户的唯一标识为GID,编号从0开始,默认最大值60000,linux的一个用户至少属于一个组,组账户分为基本组与附加组,基本组每人一个,由系统创建,与用户同名;附加组为管理员创建的,管理员管理成员的组
基本信息的存储与内容识别
本地账户的数据存储文件位置
/etc/password 存放用户基本信息
/etc/shadow 存放密码字符串
/etc/group 存放组账号的基本信息
/etc/gshadow 存放组的管理信息
用户的基本信息:
test09:x:9892:9896::/home/test09:/bin/bash
//用户名:密码占位符:uid:基本组的gid:用户描述信息:家目录:解释器
密码字符串信息:
zh03:$6$41ZUJ.6Y$4SSE2uj5U5ugQq1nwt1wruuAiNhUwX9IZ9jI66e4xvi33xPM8yqT9W36JLfGBbGqit
xZNnAn2xpDbd7r3KmgG0:18892:0:99999:7:::
/*用户名:加密后的密码:上次修改密码的时间,从1970年1月1日之后向后推,单位天数:密码的最短
有效天数,默认0:密码的最长有效天数,默认99999:密码过期前的警告天数,默认7:密码过期之后多少
天禁用账号:账号失效时间,默认为空:保留字段(没有使用)*/
组账号的基本信息:
zh03:x:9893:test03,test07
//组名:组密码占位符:gid:组成员
组管理信息:
zh03:!:test03:test03,test07
//组名:加密后的密码:组的管理员:所有组成员
对用户的基本操作
创建用户
基础格式:useradd 用户名
选项
useradd -u 指定该用户的UID
useradd -d 指定该用户的家目录,如果无此项默认家目录为/home/用户名
useradd -G 指定该用户的附加组
[root@localhost home]# useradd -u 6789 -d /home/cc10 -G iweb test11
[root@localhost home]# cat /etc/passwd | grep test11
test11:x:6789:6789::/home/cc10:/bin/bash
[root@localhost home]# cat /etc/group | grep test11
iweb:x:9894:test06,test04,test03,test099,test11
test11:x:6789:
//iweb组为附加组,创建test11时指定,test11组为用户test11的基本组。
useradd -s 指定该用户的登录解释器
[root@localhost home]# useradd -s /sbin/nologin test12
//禁止test12用户登录操作系统
修改用户账户信息
基础格式:usermod 用户名
选项
usermod -l 新登录名 旧登录名,更改账户的登录名
usermod -u 更改用户id
usermod d 更改用户家目录
usermod -G 更改用户的附加组
usermod -s 更改用户登录解释器
修改用户密码
基础格式:passwd 用户名
普通用户修改密码需要知道原密码,超级用户(管理员)改密码不需要且无限制长度要求
[root@localhost home]# passwd test11
更改用户 test11 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
可以结合前面的管道和echo打印实现不需要交互的改密码
[root@localhost home]# echo 12334 | passwd --stdin test11
更改用户 test11 的密码 。
passwd:所有的身份验证令牌已经成功更新。
删除用户
基础格式:userdel 用户名
userdel -r 用户名,会连同家目录一同删除
查询用户id
基础格式: id 用户名
对组的基本操作
新建组
基础格式:groupadd 组名
同样可以通过前面的grep快速查找组信息
[root@localhost home]# grep iweb /etc/group
iweb:x:9894:test06,test04,test03,test11,test098
删除组
基础格式:groupdel 组名
删除组的时候不能删除基本组
管理组成员
基础格式:gpasswd 选项 组名
选项
gpasswd -a 组员 组名,添加组成员,每次加一个
gpasswd -d 组员 组名,删除组成员,每次删一个
gpasswd -M 定义成员列表,可以一次设置多个
[root@localhost home]# gpasswd -M test03,test05,test09,test11 iweb
[root@localhost home]# grep iweb /etc/group
iweb:x:9894:test03,test05,test09,test11
用类似的方法可以一次性删除所有成员
[root@localhost home]# gpasswd -M "" iweb
[root@localhost home]# grep iweb /etc/group
iweb:x:9894:
gpasswd -A 定义管理员列表,可以一次设置多个
[root@localhost home]# gpasswd -A test05,test09 iweb
[root@localhost home]# grep iweb /etc/gshadow
iweb:!:test05,test09:test03,test05,test09,test11
在linux下搭建ftp服务器
如果之前进行过本地yum软件仓库的创建,先将之前备份的所有*.repo还原至原位置,联网进行操作,这次服务端非本地光驱
先用yum或者rpm安装ftp,并验证是否安装成功
[root@localhost yum.repos.d]# yum -y install vsftpd
//等待安装
[root@localhost yum.repos.d]# rpm -qa | grep vsftpd
vsftpd-3.0.2-29.el7_9.x86_64
//验证安装完成
之后关闭防火墙,启动服务
[root@localhost yum.repos.d]# systemctl stop firewalld.service
[root@localhost yum.repos.d]# service vsftpd start
/*service vsftpd start 启动
service vsftpd stop 停止
service vsftpd restart 重启*/
Redirecting to /bin/systemctl start vsftpd.service
然后打开我的电脑,在上方输入ftp://静态ip地址,右键点击登录,登陆成功后,该文件夹内即为你对应账户的家目录,服务器基础内容搭建完毕,可以通过文件夹来直接进行windows与linux系统的文件传输
vsftpd的核心配置目录位置在/etc/vsftpd
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
其中vsftpd.conf为核心配置文件,ftpusers为黑名单,user_list为白名单,vsftpd_conf_migrate.sh为一些变量和设置脚本