Linux 用户和群组相关命令

  1. 用户配置文件参数详解(一)

    cat /etc/passwd
    
    root:x:0:0:root:/root:/bin/bash
    bin:x:1:1:bin:/bin:/sbin/nologin
    daemon:x:2:2:daemon:/sbin:/sbin/nologin
    adm:x:3:4:adm:/var/adm:/sbin/nologin
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
    halt:x:7:0:halt:/sbin:/sbin/halt
    mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
    operator:x:11:0:operator:/root:/sbin/nologin
    games:x:12:100:games:/usr/games:/sbin/nologin
    ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    nobody:x:99:99:Nobody:/:/sbin/nologin
    systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
    dbus:x:81:81:System message bus:/:/sbin/nologin
    polkitd:x:999:997:User for polkitd:/:/sbin/nologin
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    chrony:x:998:996::/var/lib/chrony:/sbin/nologin
    sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    ntp:x:38:38::/etc/ntp:/sbin/nologin
    tcpdump:x:72:72::/:/sbin/nologin
    nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
    mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
    tomcat:x:1000:1000::/home/tomcat:/bin/bash
    dockerroot:x:997:994:Docker User:/var/lib/docker:/sbin/nologin
    gitlab-www:x:996:993::/var/opt/gitlab/nginx:/bin/false
    git:x:995:992::/var/opt/gitlab:/bin/sh
    gitlab-redis:x:994:991::/var/opt/gitlab/redis:/bin/false
    gitlab-psql:x:993:990::/var/opt/gitlab/postgresql:/bin/sh
    gitlab-prometheus:x:992:989::/var/opt/gitlab/prometheus:/bin/sh
    jenkins:x:991:988:Jenkins Automation Server:/var/lib/jenkins:/bin/false
    nginx:x:990:987:Nginx web server:/var/lib/nginx:/sbin/nologin
    

    第一字段:用户名称
    第二字段:密码标志
    第三字段: UID
    0 : 代表超级用户
    1-499:代表系统用户(伪用户)【默认很多 不能删除给os中启动服务不能登陆不能操作】
    500——65535+:代表自定义的普通用户
    第四字段:GID用户初始组【只有一个,创建用户时自动建立,不推荐改】和附加组【同时属于其他组,像是大学的社团】
    第五字段:用户说明
    第六字段:家目录【普通用户 home/用户名【二级目录】 超级用户:/root/【一级目录】】
    第七字段:登陆之后的shell:linux的命令解释器标准:bin/bash sbin/nologin

  2. 用户配置文件参数详解(二)

    cat /etc/shadow
    
    root:$6$/0KjKQ7u$peuPg8B4xhyVeGohZpv74/:17768:0:99999:7:::
    bin:*:17110:0:99999:7:::
    daemon:*:17110:0:99999:7:::
    adm:*:17110:0:99999:7:::
    lp:*:17110:0:99999:7:::
    sync:*:17110:0:99999:7:::
    shutdown:*:17110:0:99999:7:::
    halt:*:17110:0:99999:7:::
    mail:*:17110:0:99999:7:::
    operator:*:17110:0:99999:7:::
    games:*:17110:0:99999:7:::
    ftp:*:17110:0:99999:7:::
    nobody:*:17110:0:99999:7:::
    systemd-network:!!:17454::::::
    dbus:!!:17454::::::
    polkitd:!!:17454::::::
    postfix:!!:17454::::::
    chrony:!!:17454::::::
    sshd:!!:17454::::::
    ntp:!!:17454::::::
    tcpdump:!!:17454::::::
    nscd:!!:17454::::::
    mysql:!!:17769::::::
    

    1)用户名
    2)加密的密码
    3)上次更改密码的日期(按天计算 从1970-1-1开始)
    4)最短密码期限【密码不可被更动的天数】(按天计算,0 = 无最短期限)
    5)最长密码期限【 密码需要重新变更的天数】(按天计算)
    6)密码警告期限【密码需要变更期限前的警告期限】(按天计算,0 = 未指定警告)
    7)密码非活动期限【密码过期的恕限时间】(按天计算)
    ps:如果用户过了警告期限没有重新输入密码,使得密码失效了,也就是说,你在‘必须变更密码的期限前,并没有变更你的密码!’那么该组密码就称为‘失效的密码’啰~怎么办?没关系,还有这个栏位的天数设计啊~意思就是说,当密码失效后,你还可以用这个密码在 n 天内进行登入的意思。而如果在这个天数后还是没有变更密码,呵呵!那么您的帐号就失效了!无法登入!
    8)账号到期时间【帐号失效日期】(按天计算 从1970-1-1开始)
    9)保留域

  3. 用户组配置文件参数详解

    cat /etc/group
    
    root:x:0:
    bin:x:1:
    daemon:x:2:
    sys:x:3:
    adm:x:4:
    tty:x:5:
    disk:x:6:
    lp:x:7:
    mem:x:8:
    kmem:x:9:
    wheel:x:10:
    cdrom:x:11:
    mail:x:12:postfix
    man:x:15:
    dialout:x:18:
    floppy:x:19:	
    

    第一字段:组名
    第二字段:组密码标志
    第三字段:GID
    第四字段:组中附加用户

  4. 添加用户 useradd

    用法:useradd [选项] 登录
      useradd -D
      useradd -D [选项]
    
    选项:
      -b, --base-dir BASE_DIR	新账户的主目录的基目录
      -c, --comment COMMENT         新账户的 GECOS 字段
      -d, --home-dir HOME_DIR       新账户的主目录
      -D, --defaults		显示或更改默认的 useradd 配置
     -e, --expiredate EXPIRE_DATE  新账户的过期日期
      -f, --inactive INACTIVE       新账户的密码不活动期
      -g, --gid GROUP		新账户主组的名称或 ID
      -G, --groups GROUPS	新账户的附加组列表
      -h, --help                    显示此帮助信息并推出
      -k, --skel SKEL_DIR	使用此目录作为骨架目录
      -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
      -l, --no-log-init	不要将此用户添加到最近登录和登录失败数据库
      -m, --create-home	创建用户的主目录
      -M, --no-create-home		不创建用户的主目录
      -N, --no-user-group	不创建同名的组
      -o, --non-unique		允许使用重复的 UID 创建用户
      -p, --password PASSWORD		加密后的新账户密码
      -r, --system                  创建一个系统账户
      -R, --root CHROOT_DIR         chroot 到的目录
      -s, --shell SHELL		新账户的登录 shell
      -u, --uid UID			新账户的用户 ID
      -U, --user-group		创建与用户同名的组
      -Z, --selinux-user SEUSER		为 SELinux 用户映射使用指定 SEUSER
    

    第一字段:组名
    第二字段:组密码标志
    第三字段:GID
    第四字段:组中附加用户

  5. 用户密码设置 passwd
    passwd [OPTION...]
    选项: -l :是Lock的意思,会将 /etc/shadow 第二栏最前面加上”!”使密码失效 -u :与-l相对,是Unlock的意思 -S :列出密码相关参数,即shadow文件的大部分信息 -n :后面接天数,shadow的第4字段,不可修改密码天数 -x :后面接天数,shadow的第5字段,多长时间内必须要修改密码 -w :后面接天数,shadow的第6字段,密码过期前的警告天数 -i :后面接日期,shadow 的第7字段,密码失效日期
    > 第一字段:组名
    第二字段:组密码标志
    第三字段:GID
    第四字段:组中附加用户

  6. 编辑用户usermod
    用法:usermod [选项] 登录

    ```
    选项:
     -c, --comment 注释            GECOS 字段的新值
     -d, --home HOME_DIR           用户的新主目录
     -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE
     -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态
     -g, --gid GROUP               强制使用 GROUP 为新主组
     -G, --groups GROUPS           新的附加组列表 GROUPS
     -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中,
                                   并不从其它组中删除此用户
     -h, --help                    显示此帮助信息并推出
     -l, --login LOGIN             新的登录名称
     -L, --lock                    锁定用户帐号
     -m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)
     -o, --non-unique              允许使用重复的(非唯一的) UID
     -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码
     -R, --root CHROOT_DIR         chroot 到的目录
     -s, --shell SHELL             该用户帐号的新登录 shell
     -u, --uid UID                 用户帐号的新 UID
     -U, --unlock                  解锁用户帐号
     -Z, --selinux-user  SEUSER       用户账户的新 SELinux 用户映射
    ```
    
  7. 删除用户userdel

    userdel -h
    
    选项:
      -f, --force                   force some actions that would fail otherwise
                                    e.g. removal of user still logged in
                                    or files, even if not owned by the user
      -h, --help                    显示此帮助信息并推出
      -r, --remove                  删除主目录和邮件池
      -R, --root CHROOT_DIR         chroot 到的目录
      -Z, --selinux-user            为用户删除所有的 SELinux 用户映射
    
  8. 增加用户组 groupadd
    用法:groupadd [选项] 组

    选项:
      -f, --force		如果组已经存在则成功退出
    			并且如果 GID 已经存在则取消 -g
      -g, --gid GID                 为新组使用 GID
      -h, --help                    显示此帮助信息并推出
      -K, --key KEY=VALUE           不使用 /etc/login.defs 中的默认值
      -o, --non-unique              允许创建有重复 GID 的组
      -p, --password PASSWORD       为新组使用此加密过的密码
      -r, --system                  创建一个系统账户
      -R, --root CHROOT_DIR         chroot 到的目录
    
  9. 编辑用户组 groupmod

    用法:groupmod [选项] 组
    

    选项:
    -g, --gid GID 将组 ID 改为 GID
    -h, --help 显示此帮助信息并推出
    -n, --new-name NEW_GROUP 改名为 NEW_GROUP
    -o, --non-unique 允许使用重复的 GID
    -p, --password PASSWORD 将密码更改为(加密过的) PASSWORD
    -R, --root CHROOT_DIR chroot 到的目录

    eg: groupmod -g 666 -n jboss1 jboss(将组jboss的gid改为666且名称改为jboss1)
    修改前:jboss:x:1002:
    修改后:jboss1:x:666:

  10. 删除用户组 groupdel

    用法:groupdel [选项] 组
    

    选项:
    -h, --help 显示此帮助信息并推出
    -R, --root CHROOT_DIR chroot 到的目录

    eg:groupdel jboss1
    在删除用户组前,一定要查看这个组中还有没有成员。
    

你可能感兴趣的:(Linux基础)