CentOS之用户与组

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个唯一的用户名和各自的口令。

用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

  • 用户信息文件

    /etc/passwd
    
    root:x:0:0:root:/root:/bin/bash
    用户名:X:uid:gid:描述:HOME:shell
    
    root:         用户名:登录系统的名字
    X:             密码占位符
    0:            UID:用户的身份证号
    0:            GID:GROUP组好
    root:        描述
    /root:        家目录
    /bin/bash:    登录shell:命令解释器位置
  • bash简要说明

    SHELL    中文 壳
            功能 命令解释器
            定义命令
            接受命令
            执行命令
    
    shell的版本 
    ashell bshell cshell tshell......
    ashell+bshell=bash(abshell)
  • 用户密码信息文件

    /etc/shadow
    
    root:$6$bfVWgoRx54TGY.jG$VoY2MKvi/rNmHeEjL7FPd0xjHG4N10EPOREqlek.KCqaKs3jzdO1c0soR6nUl8fcHq6SENSGbrvmrSsgXvUpu/::0:99999:7:::
    aaa : $6$xxxx : 18320 : 0 : 99999 : 7 : : : 
    ---   -------   -----   -   -----   -  - - -
    1        2        3     4     5     6  7 8 9
    
    1) "登录名" 是与/etc/passwd文件中的登录名一致的用户账号
    2) "口令" 字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令
        "*" 星号代表正好被锁定
        "!!" 双叹号表示这个密码过期了
            $6$开头的,表示用的SHA-512加密的
            $1$表示使用MD5加密的
            $2$是用Blowfish加密的
            $5$是用SHA-256加密的
    3) 最后一次修改时间 (时间戳) 
    4) "最小时间间隔" 指的是两次修改口令之间的所需的最小天数
    5) "最大时间间隔" 指的是口令保持有效的最大天数
    6) "警告时间" 字段表示的是从系统开始警告用户到用户密码正式失效的天数
    7) "不活动时间" 表示的是用户没有登录活动但账号仍能保持有效的最大天数(软限制,到期后多少天就不能用账号了)
    8) "失效时间" 字段给出的是一个绝对的天数,如果使用了这个字段,那么给出的相应账号的生存期,期满后,该账号就不是一个合法的账号,也就不能再用来登录了(硬限制)
    9) 保留
  • 组信息文件

    /etc/group
    
    root:x:0:
    
    1)    组名
    2)    组密码
    3)    组ID
    4)    组成员 (默认为空)
  • 新增用户和用户信息查询

    1. 用户创建命令         useradd NewUserName
    2. 查询用户命令         id UserName
    3. 修改密码(root)     passwd NewPassWord 
    4. 删除用户             userdel UserName
    5. 删除用户所有信息       userdel -r UserName
    6. 修改用户信息        usermod
    
    -u 指定用户的UID
    -g 指定用户的基本组
    -G 指定用户的附加组
    /etc/passwd 可以查看用户的基本组
    /etc/group 可以查看用户的附加组。id命令也可以查看
    
    [root@CatdeXin-PC ~]# useradd user001 
    [root@CatdeXin-PC ~]# id user001
    uid=1001(user001) gid=1001(user001) 组=1001(user001)
    [root@CatdeXin-PC ~]# passwd user001
    更改用户 user001 的密码 。
    新的 密码:
    重新输入新的 密码:
    passwd:所有的身份验证令牌已经成功更新。
    
    # -u 指定用户的ID(组ID)
    useradd NewUserName -u Number
    # -d 指定用户的家目录
    useradd NewUserName -d /NewFilePath
    
    # 删除用户示例
    [root@CatdeXin-PC /]# userdel -r user002
         -r, --remove  删除该用户所有信息和文件
    
    # 修改用的的附加组
    usermod UserName -G GroupName
    # usermod -G GroupName UserName 也可以
    [root@CatdeXin-PC ~]# usermod user001 -G group001
    
    # 禁止该用户登录
    usermod  -s  /sbin/nologin UserName
    -------  --  ------------- --------
     命令    选项    什么shell    用户参数
    # usermod UserName -s /sbin/nologin 也可以
    
    [root@CatdeXin-PC /]# tail -1 /etc/passwd
    user001:x:1001:1001::/home/user001:/bin/bash
    [root@CatdeXin-PC /]# usermod -s /sbin/nologin user001
    [root@CatdeXin-PC /]# tail -1 /etc/passwd
    user001:x:1001:1001::/home/user001:/sbin/nologin
    
    # 把用户从组里删除
    gpasswd -d UaerName GroupName
    # 用户必须存在一个基本组(基本组只能存在一个)中
    [root@CatdeXin-PC /]# gpasswd -d user001 group001
  • 组操作

    # 创造组
    groupadd NewGroupName
    
    # 创造组时指定组ID
    groupadd NewGroupName -g Number 
    
    # 删除组
    groupdel GroupName
    
    [root@CatdeXin-PC /]# groupadd net01
    [root@CatdeXin-PC /]# groupadd net02 -g 2000
    [root@CatdeXin-PC /]# groupdel net02
posted @ 2021-01-18 09:31  CatdeXin  阅读(219)  评论(0)    收藏  举报