3.1用户配置文件和密码配置文件
3.1.1 用户配置文件
/etc/passwd
3.1.2用户密码配置文件
/etc/shadow
- 该文件和/etc/passwd的每一行都是一一对应的,专门用于控制用户的密码
- 和/etc/passwd一样也被冒号分隔,分为了九段
- 第一段:用户名
- 第二段:加密后的密码。不可编译。
- 第三段:从1970年1月1日开始到最后一次变更密码过去了多少天。
- 第四段:密码变更的最小天数。(用户超过此天数才可以更改密码)
- 第五段:密码有效期。(超过此天数,用户必须更改密码)
- 第六段:密码到期警告。(密码失效期前多少天,用户会收到警告)
- 第七段:密码失效此天数后,用户帐号将被禁止登录。
- 第八段:帐号生命周期。从1970年1月1日开始计算。
- 第九段:未具体定义。
3.2 组管理
3.2.1 组配置文件
/etc/group
3.2.2组密码文件
/etc/gshadow
3.2.3 配置文件和密码文件的备份文件
3.2.4 添加组命令
groupadd [选项] 组名
- -g 选项可以指定新建组的GID
- 用户新建的组名默认从1000开始。
3.2.5 删除组命令
groupdel 组名
- 只能删除空的组。组内有用户会提示无法删除。
3.3 用户管理
3.3.1增加用户
useradd [选项] 用户名
- -u 指定用户UID
- -g 新建用户的同时可以指定用户的GID或是组名
- -d 指定用户的家目录(默认/home/用户名)
- -s 指定用户的shell
- -M 新建用户时不创建家目录。
家目录还是会写入passwd文件里,但是不会在实际路径上建立。 - 新用户UID的默认从1000开始。
- 创建用户时不指定UID,则默认会紧跟上一次创建用户的UID。
- useradd和adduser用法一样
- 同时启用多个选项使用空格隔开
3.3.2删除用户
userdel [选项] 用户名
- 删除用户时会保留家目录文件。
- -r 删除用户时连同用户的家目录也删除。
3.4usermod命令
chmod [选项] 用户名
3.4.1chmod命令的常用选项
- -u 指定用户的UID
- -g 指定用户GID或组名
- -d 指定用户的家目录
- -s 指定用户的shell
- -G 指定用户的扩展组
3.4.2扩展组
- 一个用户可以属于多个扩展组(groups)。
- 一个用户只能属于一个GID。
- 扩展组可以定义多个,但是最后一次的指定会覆盖之前的。
- 定义多个扩展组时使用逗号分隔。
3.5 用密码管理
3.5.1 更改用户密码
passwd 用户名
- 用户名可以省略,默认为当前用户。
- 如果一个用户没有密码,/etc/shadow文件的密码字段显示为双叹号!!
- 密码字段显示为星号*,表示这个用户的密码被锁定。
- –stdin 密码以明文显示,且只需输入一次,即可完成密码的输入。
-l 锁定用户
-u 解锁用户
3.5.2 使用passwd -l 锁定用户
3.5.3 使用chmod -L 锁定用户。
- 已设定密码的用户,会在密码前加单叹号!
- 使用chmod -U 来解锁密码。
3.5.4 以单命令行的形式更换密码
- –stdin形式
echo “新密码” |passwd --stdin 用户名
- echo中加换行符
echo -e “新密码\n新密码” | passwd 用户名
- echo -e
在输入出的内容中如果有\n为换行,\t则相当于按了一次tab键
3.6 mkpasswd命令
3.6.1安装
yum install -y expect
3.6.2 mkpasswd参数
- -l 指定密码长度
- -s 指定特珠符号的个数
3.7 su命令
3.7.1切换用户
su - 用户名
- - su与用户名之间加-会完全切换至用户。
- 如果不加-,则会停留在上次登录的情况。
3.7.2 以其他用户的身份执行命令
su - -c “命令” 用户名
3.7.3为一个没有家目录的用户新生成家目录。
mkdir /home/user5
3,将/etc/skel/目录下以.bash开头的文件,复制到新建的家目录下。
cp /etc/skel/.bash* /home/user5/
4,按照用户和他的属组,来更改家目录的属主和属组。
chown -R user5:user5 /home/user5/
3.8 sudo命令
sudo命令可以使一个用户以其他用户的身份去执行一条命令。
3.8.1 visudo
- 执行visudo可以打开sudo的配置文件。
- 不要使用vi /etc/sudoers。因为这样不能自动排错。
- 通过用户别名来管理多个用户
- 通用命令别名来管理多个命令
- !叹号取反,标叹号表示除了这个命令
- visuo可以通过用户来管理命令,也可以通过用户组来管理。这里的用户组指的是系统用户组。
3.8.2 通过sudo 来执行命令
sudo 授权命令(绝对路径)
- 第一次使用需要输入授权者密码
- 在visudo中加入NOPASSWD可以不输入密码
3.9 限制root用户远程登录
3.9.1设置sudo,使指定用户使用su命令具有root权限
用户名 ALL=(ALL) NOPASSWD: /usr/bin/su
- 用户名定义可以使用这个命令的用户
- NOPASSWD: 执行/usr/bin/su时不需要使用密码
3.9.2 禁止用户使用远程终端登录root
systemctl restart sshd.service
直播笔记
用户管理在工作中如何体现。
- 创建用户
- 改属组
- 创建测式用户
- 为普通用户设备权限
- 为普通用户改家目录和shell
密码加密
- 6 6 6开头的是SHA-512
sudo格式
=
关于host字段的使用场景
- 在大量需要配置sudo的文件时。
- 一次性写入各种配置。
- 使用ip来标记本机特性,完成配置文件对本机的识别。