一、用户操作
1、查看用户
cut -d : -f 1 /etc/passwd # 输出所有用户名 cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 # 输出可登陆的用户名 cat /ect/passwd # 输出用户信息
cut和cat是不同的命令。/etc/passwd文件每一行代表一个用户,被冒号使用格式如下:
username:password:UserID:Group ID:comment:home directory:shell
分别代表用户名、密码、用户ID(整数)、组ID(整数)、用户说明、用户登陆的主目录、用户登陆后执行命令。值得注意的是密码现在不存这个文件了,改成 /etc/shadow 文件。
2、添加用户
useradd -h # useradd命令帮助 useradd username # 添加一个用户username useradd username -g groupname # 添加一个用户并加入group组中,组不存在会报错 useradd username -g groupname -s /bin/false # 创建不登陆的用户 useradd username -g groupname -s /sbin/nologin # 创建不登陆的用户 useradd mysql -g mysql -s /bin/false -r # 创建系统用户,且不用登陆,系统用户是不会创建用户目录的
添加用户时的默认参数:
3、设置用户密码
passwd username # 设置用户密码
4、修改用户
usermod -h # usermod命令帮助 usermod username -l username2 # 修改用户username登陆名为username2 usermod username -l username2 -d /home/username2 -m # 修改用户名、home目录 usermod username -g groupname # 修改用户组
小技巧:将系统用户改为普通用户
usermod username -s /bin/bash # 修改Shell mkdir /home/username # 创建用户目录,和/etc/passwd中的保持一致 cp /etc/skel/.bashrc /home/username/ # 环境变量文件,否则登陆时显示 -bash-4.2$ cp /etc/skel/.bash_profile /home/username/ #环境变量文件,否则登陆时显示 -bash-4.2$
5、删除用户
userdel -h # userdel命令帮助 userdel username # 删除用户,家目录和邮箱目录会被保留,再次创建该用户时会报错 userdel -r username # 删除用户,家目录和邮箱目录同步删除
如果忘记使用-r参数,手工删除/home和/var/spool/mail对应的目录即可。
rm -rf /home/xxx # xxx代表用户名 rm -rf /var/spool/mail/xxx
6、其它
su - username # 切换登陆用户 last # 查看用户登陆记录
二、用户组操作
1、查看用户组
cut -d : -f 1 /etc/group # 列出用户组名 cat /etc/group # 输出用户组文件内存
2、添加用户组
groupadd -h # groupadd命令帮助 groupadd test # 添加test用户组
3、修改用户组
groupmod -h # groupmod命令帮助 groupmod test -n mytest # 将test用户组改名为mytest
4、删除用户组
groupdel -h # groupdel命令帮助 groupdel test # 删除test用户组,组不存在会报错