去评论
海欣资源

Linux-用户管理与组管理介绍

dscca
2022/05/11 19:25:12
一、分类
1、按账户身份的访问控制进行分类
①用户账号(用UID来识别)
②组账号(用GID来识别)


2、按用户账号分类
①超级用户root
②系统用户
③普通用户


3、按组账号分类(组账号用来区分权限,不用于登录)
基本组(私有组)
附加组(从属组)


二、账号文件与密码文件
1、本地账号数据的存放在本地磁盘中,包括用户账号数据文件和组账号数据文件
1)用户账号数据文件
/etc/passwd(用户账号文件)
/etc/shadow (用户密码文件)
2)组账号数据文件
/etc/group(组账号文件)
/etc/gshadow(组密码文件)


2、用户初始配置文件
1)配置文件来源
新建用户时,根据 /etc/skel模板目录复制
2)主要的初始配置文件
~/.bash profile:每次登录时执行
~/.bashrc:每次进入新的Bash环境时执行
全局配置文件:/etc/bashrc、/etc/profile


3、用户账号文件
1)/etc/passwd 保存用户帐号的基本信息
2)实例
    [root@localhost ~]# cat /etc/passwd     
    root:x:0:0:root:/root:/bin/bash     
    ... ... ...
    每个用户记录一行,以:分割为7个字段
    字段1:用户帐号的名称
    字段2:密码字串或占位符x
    字段3:用户帐号的UID号
    字段4:所属基本组的GID号
    字段5:用户全名
    字段6:家目录
    字段7:登录使用的解释器


4、用户密码文件
1) /etc/shadow 保存密码字串/有效期等信息
2)实例
    [root@localhost ~]# cat /etc/shadow     
    root6$Jjo9h9zNw... ...J/:264:0:99999:7:::     
    ... ... ...
    每个用户记录一行,以:分割为9个字段
    字段1:用户帐号的名称
    字段2:加密后的密码字符串
    字段3:上次修改密码的时间
    字段4:密码的最短有效天数,默认0
    字段5:密码的最长有效天数,默认99999
    字段6:密码过期前的警告天数,默认7
    字段7:密码过期后多少天禁用此用户账号
    字段8:帐号失效时间,默认值为空
    字段9:保留字段(未使用)


5、组账号文件
1)/etc/group 保存组号的基本信息
2)实例
    [root@localhost ~]# cat /etc/group     
    root:x:0:   
    ... ... ...


    每个组记录一行,以:分割为4个字段
    字段1:组帐号的名称
    字段2:密码占位符x
    字段3:组帐号的GID号
    字段4:本组的成员用户列表


6、组密码文件
1)/etc/gshadow 保存组帐号的管理信息
2)实例
    [root@localhost ~]# cat /etc/gshadow     
    root:::   
    ... ... ...


    每个组记录一行,以:分割为4个字段
    字段1:组帐号的名称
    字段2:加密后的密码字符串
    字段3:本组的管理员列表
    字段4:本组的成员用户列表


三、相关命令
1、useradd命令
1)功能
useradd添加用户
2)格式
useradd  [选项] ... 用户名
3)常用命令选项
-u:指定UID
-d:指定家目录,缺省为/home/用户名
-G:指定所属的附加组
-s:指定用户的登录解释器
4)实例
    [root@localhost ~]# useradd -u 10010 -d /opt/wangwu -s /bin/bash -G zhaolu wangwu     
    #添加wangwu用户,指定UID为10010,家目录设置为/opt/wangwu,指定登录解释器为/bin/bash,指定所属附加组为zhaolu


2、usermod命令
1)功能
usermod修改用户
2)格式
usermod d[选项] ... 用户名
3)常用命令选项
-l:更改用户帐号的登录名称
-u:用户id
-d:家目录
-s:登录解释器
-G:附加组(重置附加组)
4)实例
    [root@localhost ~]# usermod -l wuqi -u 123456 -d /home/wangwu -s /sbin/nologin -G wangwu wangwu     
    #将用户wangwu更改登录名称为wuqi,用户id改为123456,家目录改为/home/wangwu,附加组改为wangwu,登录解释器改为/sbin/nologin(该解释器不用于登录)


3、passwd命令
1)功能
设置用户密码
2)格式
passwd [选项] ... 用户名
3)常用命令选项
--stdin:从标准输入(例如管道操作)读入密码
4)实例
    [root@localhost ~]# echo 123456 | passwd --stdin wangwu     
    #通过 --stdin选项设置密码为123456,免除交互过程


4、userdel命令
1)功能
userdel删除用户
2)格式
userdel [选项] 用户名
3)常用命令选项
-r :连同家目录/用户邮件一起删除
4)实例
    [root@localhost ~]# userdel -r wangwu     
    #删除用户wangwu
5、id命令
1)功能
查询账号id
2)格式
id [选项] ... 用户名
3)实例
    [root@localhost ~]# id root     
    uid=0(root) gid=0(root) groups=0(root)


6、groupadd命令
1)功能
groupadd添加组账号
2)格式
groupadd [选项] 组名
3)常用命令选项
-g:指定GID
4)实例
    [root@localhost ~]# groupadd -g 1234 wangwu     
    [root@localhost ~]# grep wangwu /etc/group     
    wangwu:x:1234:wangwu


7、gpasswd命令
1)功能
gpasswd 管理组成员
2)格式
gpasswd [选项] ... 组名
3)常用命令选项
-A:定义组管理员列表
-a:添加组成员(每次只能加一个)
-d:删除组成员(每次只能删一个)
-M:定义组成员用户列表(可设置多个)
4)实例
    [root@localhost ~]# gpasswd -A wuqi wangwu     
    [root@localhost ~]# grep wangwu /etc/gshadow     
    wangwu:!:wuqi:     
    #wuqi设置为wangwu组管理员
    [root@localhost ~]# gpasswd -M wuqi,zhangsan,lisi wangwu     
    [root@localhost ~]# grep wangwu /etc/gshadow     
    wangwu:!:wuqi:zhangsan,lisi     
    #wuqi,zhangsan,lisi设置为wangwu组的组成员
    [root@localhost ~]# gpasswd -d lisi wangwu     
    Removing user lisi from group wangwu     
    [root@localhost ~]# grep wangwu /etc/gshadow     
    wangwu:!:wuqi:zhangsan     
    #将用户删除lisi从wangwu组删除
    [root@localhost ~]# gpasswd -a lisi wangwu     
    Adding user lisi to group wangwu     
    [root@localhost ~]# grep wangwu /etc/gshadow     
    wangwu:!:wuqi:zhangsan,lisi     
    #将用户lisi加入wangwu组


8、groupdel命令
1)功能
groupdel删除组(删除的目标组不能是用户的基本组)
2)格式
groupdel组名
3)实例
    [root@localhost ~]# grep wangwu /etc/gshadow     
    wangwu:!:wuqi:zhangsan,lisi     
    [root@localhost ~]# groupdel wangwu     
    [root@localhost ~]# grep wangwu /etc/gshadow   
    #删除wangwu组,再次搜索发现没有输出,证明成功