zoukankan      html  css  js  c++  java
  • Linux_用户和组管理

    一、用户分类

    1、管理员和普通用户

    1️⃣:管理员   ——    用户ID:0

    2️⃣:普通用户 ——   用户ID:1—65535

    2、普通用户又分为系统用户和登陆用户

    1️⃣:系统用户 —— 用户ID:1—999 (一般系统用户不需要登录的,都是给护远程使用的)

    2️⃣:登陆用户 —— 用户ID:1000—60000(为了完成交互式登陆而使用的用户)

    3、示例

    //创建一个普通用户,查看ID
    [root@localhost ~]# useradd zhangsan
    [root@localhost ~]# id zhangsan
    uid=1000(zhangsan) gid=1000(zhangsan) 组=1000(zhangsan)
    
    //创建一个系统用户,查看ID
    [root@localhost ~]# useradd -r -M -s /sbin/nologin lisi
    [root@localhost ~]# id lisi 
    uid=991(lisi) gid=987(lisi) 组=987(lisi)

    二、用户和组的类别

    1️⃣:私有组 ——创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名相同的组

    2️⃣:基本组 ——用户的默认组

    3️⃣:附加组 ——除默认组以外其他的组

    三、用户和组的相关配置文件

    1️⃣:/etc/passwd —— 用户及其属性信息

    2️⃣:/etc/shadow ——用户密码及相关信息

    3️⃣:/etc/group —— 组及其属性信息

    4️⃣:/etc/gshadow —— 组密码及其相关属性

    四、用户和组的相关命令

     1、useradd —— 创建用户命令

    useradd
        -u:指定用户的UID
        -c<备注>:加上备注文字
        -d<家目录>:指定用户家目录,该目录必须事先存在
        -g<基本组名>:指定用户所属的基本组
        -G<附加组名>:指定用户所属的附加组,可以有多个,用逗号隔开
        -M:不要自动创建用户的家目录
        -r:创建一个系统用户
    

    2、userdel —— 用户删除命令

    userdel
        -f:强制删除用户,即使用户当前已登录
        -r:删除用户的同时,删除与用户相关的所有文件。
    

    3、usermod —— 修改用户信息命令

    usermod
        -u<uid>:修改用户UID
        -s<shell>:修改该用户帐号的新登录 shell
        -c<备注>:修改用户帐号的备注信息
        -d<登入目录>:修改用户登入时的家目录
        -e<有效期限>:修改帐号的有效期限
        -g<群组>:修改用户所属的群组
        -G<群组>;修改用户所属的附加群组
        -l<帐号名称>:修改用户帐号名称
        -L:锁定用户密码,使密码无效
        -U:解除密码锁定
    

    4、groupadd —— 组创建命令

    groupadd
        -g:指定新建工作组的GID
        -r:创建系统工作组,系统工作组的组ID小于500
    

    5、groupdel —— 组删除命令

    groupdel  
        //删除组名只需要指定组名即可
    
    groupdel groupname
    

    6、groupmod —— 组信息修改命令

    groupmod
        -g, --gid GID   将组 GID 改为新的 GID
        -n, --new-name      修改新的组名
    

    7、su —— 切换用户命令

    su 
        -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份
        
    su username    :非登录式切换(切换后,任然在root家目录下,不会跳转到该用户的家目录)
    su - usernaem  :登录式切换 (切换后,自动跳转到该用户的家目录)
    su -    :不指定用户名,则直接切换到root用户

    五、密码管理

    1、passwd —— 设置用户密码命令

    passwd
        --stdin   //标准输入获取用户密码(也叫明文获取用户密码)
    e.g:[root@localhost ~]# echo '123456' | passwd --stdin lisi
    
        -d:删除用户密码,仅有系统管理者才能使用
        -f:强制执行
        -l:锁住用户密码
        -u:解开已上锁的用户密码
        -s:列出密码的相关信息,仅有系统管理者才能使用
        -n:指定使用最短期限
        -x:指定使用最长期限
        -w:指定多少天开始警告
    

    2、openssl —— 密码生成工具

    openssl  command
    
    command
        dgst      //提取特征码
        passwd    //生成密码
        rand      //生成伪随机数
        version   //查看程序版本号
    
    示例
      //提取特征码
    [root@localhost ~]# openssl dgst -md5 /etc/passwd
    MD5(/etc/passwd)= 93690d490a4c6767084ab1c4c19a22a5
    [root@localhost ~]# openssl dgst -md5 /etc/fstab 
    MD5(/etc/fstab)= f57f5c4e8baa2e133f583c88bfb69abd
    
      //生成密码
    格式:openssl passed -number(1-6) -salt 杂质词(string:一般为8位)
    [root@localhost ~]# openssl passwd -1 -salt password
    Password: 
    $1$password$7ZK8mMeLGXxbNPeJEFJOU0
    
      //生成随机数
    格式:openssl rand -base64 num(num为随机数长度)
    [root@localhost ~]# openssl rand -base64 10
    1F3boAMqLShFKg==
    [root@localhost ~]# openssl rand -base64 20
    Jo35wmVC2X2Qw4WwjYJY90/1J/k=
    [root@localhost ~]# openssl rand -base64 30
    LZPA3UcV4yYEaD7G5ywVo9j+SCU8+i6ovrik0MPh
    [root@localhost ~]# openssl rand -base64 40
    ZjqZxMsdj7MJM0IlUzrDj2WNRlZ+xDH2C3FI5YZbSx8n13KiOim5SA==
    [root@localhost ~]# openssl rand -base64 50
    RjkM9gcXwOBdKzlDdH6ZHqXknJfHK9vi1IiSbTaDMiLeUpmg3ab6c5VV8twfs+sC
    To8=
    
  • 相关阅读:
    JS URL传中文参数引发的乱码问题
    git (转载)
    php webservice
    php date之间的相互转换
    在图片上加字符-base64转图片-图片转base64
    转:微软面试一百题
    2014-8-17 note
    some base knowledge
    introduction
    Centos6.6 编译安装nginx
  • 原文地址:https://www.cnblogs.com/itwangqiang/p/13442589.html
Copyright © 2011-2022 走看看