用户配置文件和密码配置文件
/etc/passwd:存放用户的配置文件。
/etc/shadow :专门用来存放用户密码的。
加密密码是随机生成的不能编译,
用户组管理
/etc/group : 存放关于组的文件,每创建一个用户就会自动创建一个和他相对应的组。
/etc/gshadow :组的密码配置文件。
groupdel :删除组(但改组必须是空的)。
用户管理
useradd :创建用户。
useradd -M :创建用户是不创建家目录。,但并不是说该用户就没有家目录,只不过是没有创建而已。
userdel :删除用户, userdel -r 删除用户的同时删除家目录。
usermod命令
usermod :用来更改用户属性的命令。
usermod -u123 username :指定用户的UID。
usermod -g123 username :指定用户的gid。
usermod -d /home/gk1 username :指定该用户的家目录位/home/gk1.
usermod -s /sbin/bash usermane : 指定用户sell。
usermod -G grp1 username : 把用户加入到扩展组grp1 中。
usermod -G grp1,grp2 username :把用户同时加入到多个扩展组中。
用户密码管理
passwd:更改用户密码,passwd有一个set-uid权限可以让普通用户修改自己的密码,输入passwd直接按回车更改当前用户的密码,passwd username更改指定用户的密码。
passwd -l username : 锁定用户。
passwd -u username :解锁用户。
锁定用户还有一个命令:usermod -L username,解锁用户也有一个命令:usermod-U username。
passwd - -stdin username :直接给用户设置密码,不用再次确认之前输过的密码。
echo "12345678" | passwd --stdin username :该命令中有一个“ | ”该符号位管道的意思,表示把前面的命令结果传递给后面的命令, echo -e "12345678/n12345678" |passwd --stdin username,直接给用户设置密码,不需要重复两次。
mkpasswd命令
mkpasswd :随机生成密码,该命令默认是不存在的,我们需要安装一个包,yum install -y expect,mkpasswd默认生成的密码是九位的。
mkpasswd -l 12 :生成12位的密码。
mkpasswd -l 12 -s 5 :生成包含5个特殊字符的12位密码。
su命令
su :切换用户,su gk1和su- gk1的区别是加了“-”后会完全切换到gk1的家目录下,只有加了“-”切换用户后配置文件这个用户的配置文件才会生效。
su - -c “touch /tme/4.txt” gk1 :以gk1 的身份去执行一条命令,但不需要切换用户。
su - gk2在普通用户之间是可以来回相互切换的,只要输入密码即可。
由于gk4 没有家目录所以切换到gk4是显示的和gk1 是不一样的,那么我们就需要拷贝配置文件,首先我们需要创建这个目录,并且修改他的所有者和所属组。
然后再次切换的时候就不一样了。
sudo命令
sudo:可以让普通用户临时以指定用户的身份去执行一条命令。
首先我们先来查看配置文件:visudo这个命令可以检测错误。
root ALL=(ALL) ALL 表示root用户不管在什么地方都能执行所有的命令,我们模仿他给gk1用户添加一些命令gk1 ALL=(ALL) ls,mv,cat让gk1 能以root用户的身份执行这几个命令,保存退出。
但保存退出的时候他提示你有错误,我们查看发现不能直接输入命令本身,我们的输入命令的绝对路径,用which ** 先查看你的命令的具体位置。输入“e”我们重新来编辑。输入“:set nu”可以查看行数。
然后我们切换到gk1用户下试试命令是否生效,你会发现他提示你要输入gk1 用户的密码,输入一次后下次再次查看就不需要输入了。
那我们怎么样才能不需要输入密码呢,我们需要再次编辑visudo,只需要在我们想添加的命令前加上大写的“NOPASSWD”即可。,
切换到gk4用户下测试,直接输入“ls”时显示没有权限,但可以使用“sudo ls”来查看。并没有提示要输入密码。
visudo中其实有好多用法,比如:我们可以把/bin/ls /bin/mv /bin/cat 等这些命令放到一个命令别名里面去“Cmnd_Alias”首字母大写。
把命令添加到命令别名里以后我们在把gk1的sudo命令更换一下,会发现这样也可以实现。
限制root远程登录
限制root远程登录我们首先要改配置文件 vi /etc/ssh/sshd_config
然后重启下服务,即可。