Chapter 9 用户管理

9.1 id

系统上的每个进程都是作为特定用户运行的

每个文件是由一个特定的用户拥有

访问文件和目录受到用户的限制

进程可访问的文件和目录由与之关联的用户确定

  • id [用户名]:查询uid, gid, groups

    用户名为空时:查看自己的信息

9.2 相关文件

  • /etc/passswd

    用户信息

    用户名:x:uid:主组:描述:HOME:shell

  • /etc/shadow

    密码信息、策略

    login name:$id$salt$encrypted:... (详细信息 man 5 shadow)

    id:$1 -- MD5 ; $5 -- SHA-256 ; $6 -- SHA-512

  • /etc/group

    组信息

    组名:x:gid:组内用户列表

9.3 groupadd groupdel groupmod

  • groupadd [选项] 组名

    -g:指定gid

  • groupmod -n new_name old_name:修改组名

9.4 useradd userdel usermod

  • useradd [选项] 用户名:

    创建用户,默认家目录/home/用户名,默认邮箱/var/spool/mail/用户名

    -d 目录:指定路径创建家目录

    -g 组名或gid:指定主组(必须已存在),未指定则创建与用户同名的组

    -G 组1,组2 :附加组(必须已存在),逗号分隔

    -u uid:指定uid

    -s /sbin/nologin:指定shell

  • userdel 用户名:删除用户

    -r:删除用户,并删除家目录和邮件池

  • usermod [选项] 用户

    -l new_name:修改用户名(l: login),家目录不会变

    -d dir:重新指定家目录

    -md dir:迁移家目录

    -G 组1,组2:切换附加组

    -aG 组3,组4:增加附加组

    -u new_UID:更改UID

    -s /bin/bash:更改默认shell

9.5 gpasswd

  • gpasswd [选项] 组

    -a 用户:添加用户到组

    -M 用户1,用户2 :设置组的成员列表

    -d 用户:在组中删除用户

除了使用上述命令,也可以直接修改/etc/passwd

9.6 w who whoami passwd su -

  • whoami:显示当前用户

  • wwho 可以查看系统当前所有的登陆会话(/var/run/utmp),w 还能查看所做的操作

  • passwd 用户名:设置密码

  • su - 用户名:切换用户(switch user)

    默认:切换到root用户

    注:- 表示 –login