《linux 用户管理》- useradd/userdel/usermod/groupadd/who/w/id/group

一:概念

  - 在 Linux 中,分为三种用户

    - 普通用户 (即为所有使用 Linux 的真实用户)

    - 根用户 (即为 root 用户,拥有对于系统的完全控制)

    - 系统用户 (系统运行时的必须用户,但并不是真实用户,例如 PHP 的 www-data)

  - UID/GID (用户ID/组ID)概念

    - 在 Linux 中,使用一个 32位整数记录每一个用户(USER ID 简称 UID)

    - 这意味着在 Linux 中,可以有 40亿 个不同的用户。

    - 系统默认500之后创建用户/组 (1-499系统用户使用)

    -  用户的 UID/GID(Group ID 简称 GID) 为 0.

  - 用户信息存在哪?

    - 在 /etc/passwd 记录了每一个用户组/权限等信息

    - 由于每个用户都有权限查看 /etc/passwd 权限.对于密码来说,是不安全的。

    - 所以现代 Linux 将 密码信息剥离到了 /etc/shadow 里面,只有 root 用户 可以查看

二: 账号管理

  - useradd 添加用户

    - 推荐使用 useradd -m 用户名 创建用户,这样会同时生成用户 ‘家(home)’ 目录。

      • root@1feebb8a548b:~# useradd -m homework
        
        root@1feebb8a548b:~# cd /home/homework/
        root@1feebb8a548b:/home/homework# pwd
        /home/homework

    - 用户创建成功后,Linux 会在在 /etc/passwd 和 /etc/shadow 追加该用户记录,同时分配一个 UID 和 GID

      • cat /etc/passwd
        ...
        homework:x:1000:1000::/home/homework:
        
        cat /etc/shadow
        ...
        homework:!:17942:0:99999:7:::

    - 同时创建这个用户组

      • cat /etc/group
        ...
        homework:x:1000:

  

  - passwd 修改密码

    - 没有设置过密码的用户(在 /etc/shdow 里面会有 ! 作为标识)  是不允许登录的.

  - usermod 修改用户

    - 冻结账户     usermod -L 用户名

    - 解冻账户     usermod -U 用户名

    - 指定家目录  usermod -d /home/homework_new -m 用户名

      - -m 的作用为,创建新的家目录文件 并指向新的家目录

  - usedel 删除用户

    - 使用 usedel 删除用户, 同时会删除 /etc/passwd 和 /etc/shadow 的记录

    - 但是 Linux  出于安全考虑,并不会删除所有的用户记录(保留邮件和家目录)

    - 如果想彻底删除,使用 usedel -r 用户名 可以删除与用户相关的所有信息

三:  用户组管理

  - groupadd 新增用户组

    - groupadd 组名,新增的用户组可在 /etc/group 中查看

  - groupdel 删除用户组

    - groupdel 组名, 如果组内有成员,则删除失败

四:  用户信息

  - id (查看自己的 UID 和 GID)

  - who (查看当前登录用户) 

    • homework@lihong ~ $ who
      用户名    来源          日期
      homework pts/1        2019-02-15 15:07 (xx.xx.xx.xx)
      homework pts/2        2019-02-13 15:43 (xx.xx.xx.xx)

  - w (查看当前登录用户详细信息)

    • 
      
      17:48:12 up 77 days, 21:26,  8 users,  load average: 0.03, 0.06, 0.01
      USER     TTY      FROM             LOGIN@   IDLE       JCPU                 PCPU                          WHAT
      用户名 终端 来源 登录时间 闲置时间 与终端相关的CPU运行量 与当前WHAT进程消耗的CPU时间总量 当前运行进程 homework pts/1 xxx.xx.xxx.xx 15:07 6:15 0.07s 0.07s -bash homework pts/2 xxx.xx.xxx.xx Wed15 25:13m 0.08s 0.01s tail -f php-error.log homework pts/9 xxx.xx.xxx.xxx 17:47 0.00s 0.00s 0.00s w

原文地址:https://www.cnblogs.com/25-lH/p/10384062.html