作用:做权限管理、划分权限
用户操作
查看用户
[root@ztq ~]# id root //查看的是当前登录账户的id信息
uid=0(root) gid=0(root) 组=0(root)
uid 系统用来识别账户的user identify
gid 系统用来识别组的group identify
# id user1
uid=1001(user1) gid=1002(user1) groups=1002(user1)
[root@ztq ~]# id user1 查看user1这个账户的id信息
[root@ztq ~]# whoami 查看我现在所使用的账户
# cat /etc/passwd
每一行代表一个用户
每一行有 以:为分隔符的7列
每一列的作用
user1:x:1001:1002::/home/user1:/bin/bash
用户名:代表密码:uid:gid:用户描述信息:家目录:登录shell
代表密码可以删除,删除之后真正的密码会被删除
uid user identify 用户的一个唯一识别号码,用来给系统识别用户的
gid group identify 组的一个唯一识别号码,用来给系统识别组的
用户描述信息
家目录
登录shell shell是统称,这里是具体使用哪个shell登录
常用的两个:bash、nologin
添加用户
每一个用户的添加都会导致系统默认添加一个新的组,并且组名和用户同名,这个组是用户的主属组
# useradd 用户名
# useradd -u uid 用户名 //指定用户的uid
# useradd -g gid 用户名 //指定用户的gid,组id需要存在才可以指定
# useradd -c "描述信息" 用户名 //指定用户的描述信息
# useradd -d 家目录 用户名 //指定用户的家目录
# useradd -s /sbin/nologin 用户名 //指定用户的登录方式(不能登录);默认为/bin/bash
# useradd -G 附属组1,附属组2,附属组3... //指定用户的附属组
实例:
[root@ztq ~]# useradd -d /user3 user3
[root@ztq ~]# cat /etc/passwd | grep user3
user3:x:502:502::/user3:/bin/bash
[root@ztq ~]# useradd -u 1000 user4
[root@ztq ~]# id user4
uid=1000(user4) gid=1000(user4) 组=1000(user4)
[root@ztq ~]# useradd -g 1000 user5
[root@ztq ~]# id user5
uid=1001(user5) gid=1000(user4) 组=1000(user4)
[root@ztq ~]# useradd -c qq-28282828 user6
[root@ztq ~]# cat /etc/passwd | grep user6
user6:x:1002:1002:qq-28282828:/home/user6:/bin/bash
[root@ztq ~]# useradd -s /sbin/nologin user7
[root@ztq ~]# cat /etc/passwd | grep user7
user7:x:1003:1003::/home/user7:/sbin/nologin
查看系统现在所支持的shell
[root@ztq ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
修改用户
# usermod -l 新用户名 旧用户名
# usermod -u 新用户id 用户名
# usermod -g 新组id 用户名
# usermod -c "新的描述信息" 用户名
# usermod -s /sbin/nologin 用户名
# usermod -d 家目录 用户名 //修改过后的家目录是不可以直接用的
以上所有操作都可通过修改/etc/passwd文件进行修改
# usermod -d /test /user8
修复用户家目录
# cp -r /etc/skel /test //拷贝文件到用户的家目录
# chown user8.user8 /test -R //修改家目录的权限为用户
删除用户
# userdel -r 用户名
-r 连带家目录、个人邮箱一起删 /home/ /var/spool/mail/
切换用户
# su - 用户名
密码操作
添加密码/修改密码
# passwd 用户名
删除密码
直接修改passwd配置文件
锁定密码
# passwd -l 用户名
[root@ztq ~]# passwd -l user10
锁定用户 user10 的密码 。
passwd: 操作成功
解锁用户
# passwd -u 用户名
[root@ztq ~]# passwd -u user10
解锁用户 user10 的密码 。
passwd: 操作成功
密码信息
查看 /etc/shadow 影子文件
# vim /etc/shadow
# man 5 shadow
非交互式操作
# echo 密码 | passwd --stdin 用户名
# echo 1111 | passwd --stdin yueyue
组操作
添加组
# groupadd -g gid 组名
查看组
[root@ztq ~]#cat /etc/group
组名:代表组密码:gid:组员
查看一个用户的所属组
[root@ztq ~]#groups 用户名称
修改组
# groupmod 参数 组名
选项:
-g 修改gid
-n 修改组名
-o 允许使用重复的gid
# vim /etc/group
组名:代表组密码:gid:组员
# vim /etc/gshadow //组密码文件
组名:密码:组管理员:组员
删除组
# groupdel 组 //组中要没有成员,才可以删除
给组设置密码
# gpasswd 参数 组名
组密码作用:临时切换当前登陆账户组身份,让这个账户暂时拥有所切换组的权限
用户和组
添加用户到组
# gpasswd -a 用户名 组名
[root@ztq ~]# gpasswd -a user10 grp2
Adding user user10 to group grp2
添加多个用户到组
# gpasswd -M 用户名1,用户名2,用户名3 组名
从组内删除用户
# gpasswd -d 用户名 组名
[root@ztq ~]# gpasswd -d user10 grp2
指定组管理员
# gpasswd -A 用户名 组名
[root@ztq ~]# gpasswd -A user12 grp2
查看用户的所属组
# groups 用户名