用户管理

  1. 创建和删除用户 - useradd / userdel

    1. [root home]# useradd hellokitty
    2. [root home]# userdel hellokitty
    • -d - 创建用户时为用户指定用户主目录
    • -g - 创建用户时指定用户所属的用户组
  2. 创建和删除用户组 - groupadd / groupdel

    说明:用户组主要是为了方便对一个组里面所有用户的管理。

  3. 修改密码 - passwd

    1. [root ~]# passwd hellokitty
    2. New password:
    3. Retype new password:
    4. passwd: all authentication tokens updated successfully.

    说明:输入密码和确认密码没有回显且必须一气呵成的输入完成(不能使用退格键),密码和确认密码需要一致。如果使用passwd命令时没有指定命令作用的对象,则表示要修改当前用户的密码。如果想批量修改用户密码,可以使用chpasswd命令。

    • -l / -u - 锁定/解锁用户。
    • -d - 清除用户密码。
    • -e - 设置密码立即过期,用户登录时会强制要求修改密码。
    • -i - 设置密码过期多少天以后禁用该用户。
  4. 查看和修改密码有效期 - chage

    设置hellokitty用户100天后必须修改密码,过期前15天通知该用户,过期后15天禁用该用户。

    1. chage -M 100 -W 15 -I 7 hellokitty
  5. 切换用户 - su

    1. [root ~]# su hellokitty
    2. [hellokitty root]$
  6. 以管理员身份执行命令 - sudo

    1. [hellokitty ~]$ ls /root
    2. ls: cannot open directory /root: Permission denied
    3. [hellokitty ~]$ sudo ls /root
    4. [sudo] password for hellokitty:

    说明:如果希望用户能够以管理员身份执行命令,用户必须要出现在sudoers名单中,sudoers文件在 /etc目录下,如果希望直接编辑该文件也可以使用下面的命令。

  7. 编辑sudoers文件 - visudo

    这里使用的编辑器是vi,关于vi的知识在后面有讲解。该文件的部分内容如下所示:

    1. ## Allow root to run any commands anywhere
    2. root ALL=(ALL) ALL
    3. ## Allows members of the 'sys' group to run networking, software,
    4. ## service management apps and more.
    5. # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
    6. ## Allows people in group wheel to run all commands
    7. %wheel ALL=(ALL) ALL
    8. ## Same thing without a password
    9. # %wheel ALL=(ALL) NOPASSWD: ALL
    10. ## Allows members of the users group to mount and unmount the
    11. ## cdrom as root
    12. # %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
    13. ## Allows members of the users group to shutdown this system
    14. # %users localhost=/sbin/shutdown -h now
  8. 显示用户与用户组的信息 - id

  9. 给其他用户发消息 -write / wall

    发送方:

    1. [root ~]# write hellokitty
    2. Dinner is on me.
    3. Call me at 6pm.

    接收方:

    1. [hellokitty ~]$
    2. Message from root on pts/0 at 17:41 ...
    3. Dinner is on me.
    4. Call me at 6pm.
    5. EOF
  10. 查看/设置是否接收其他用户发送的消息 - mesg

    1. [hellokitty ~]$ mesg
    2. is y
    3. [hellokitty ~]$ mesg n
    4. [hellokitty ~]$ mesg
    5. is n