Linux: 帐号管理(一):基本帐号管理

基本帐号管理的命令有:

useradd, userdel, usermod, passwd 等。本文就这四个命令讨论。

1 useradd 命令:

useradd 同 adduser。其功能是创建新的用户账户。

  • 使用者身份
    1. root
    2. 拥有 sudo 权限的普通用户使用 sudo 命令进行操作
  • 命令格式
    useradd [-hlmnorMNUZ] [-options OPTIONS] user_name
    
  • 参数:
    -b --base-dir BASE_DIR: base dir of the home dir : 建立的用户 home 目录的父目录,与 -d 参数同时出现时会被 -d 参数屏蔽。
    -c --comment COMMENTS: 创建新用户时对新用户的描述
    -d --home-dir HOME_DIR: home dir: 指定新用户的 home 目录,默认为 /home/username 目录
    -D --defaults: 显示 useradd 命令的默认参数
    -e --expiredate ESPIER_DTAE: 用户名失效日期(仍可以使用)
    -f --inactive INACTIVE: 用户名失效后指定天数内完全禁用
    -g --gid GROUP: 指定新用户默认的群组(后接群组名或 gid)
    -G --groups GROUPS: 指定新用户加入的群组(所支持的群组)
    -h --help: 显示帮助信息
    -k --skel SKEL_DIR: 创建 home 目录下子目录的参考目录。即在 home 目录下出现的目录均以该目录下的目录为模板
    -K --key KEY=VALUE: 在创建新用户时,使用指定的 KEY 值暂时屏蔽掉 /etc/login.defs 中预设的值
    -l --no-log-init: 
    -m --create-home: 创建 home 目录,默认参数
    -M --no-create-home: 不创建 home 目录
    -n :
    -N --no-user-group: 不创建新用户同名的群组(默认是创建的)
    -o --non-unique: 
    -p --password PASSWORD: 新用户的密码
    -r --system: 创建系统用户(uid 较小)
    -s shell SHELL: 指定新用户的 shell 类型,一般包括 /bin/bash, /bin/sh, /sbin/nologin, /bin/dash, /bin/tcsh, /bin/csh
    -u uid UID: 指定新用户的 uid,一般大于 500(实际上是大于文件 /etc/login.defs 中定义的 UID_MIN 的值,比这个值小的 UID 作为系统保留)。
    -U --user-group: 创建与新用户同名的群组(默认的参数,与 -N 参数作用相反)
    -Z --selinux-user SEUSER:   
    
  • 常用的参数:
    -[dgGMprsu]
  • 不可同时使用的参数:
    -m -M, -N -U, 这两对参数的意义截然相反,不可能同时出现。
  • 类似参数比较:
    1. -g 与 -G:
      • -g 参数指定新用户的有效群组。这个用户所创建的文件,默认都是该群组。默认的情况下,该群组与新用户同名。
      • 而 -G 参数后面可以跟一个或多个群组,这些群组都是新用户所支持的群组,属于该群组的文件,新用户都有群组权限。
    2. -d 与 -b:
      • -d 指定用户创建 home 目录而不是使用默认的 /home/username 这个目录。该目录必定为绝对路径。
      • 而 -b 参数指定新用户的 home 目录的父目录,不使用默认的 /home。即新 home 目录为 /BASEDIR/username。同样的,必须为绝对路径。
    3. -d 与 -m: -m 参数表示要创建 home 目录。其实这两个参数一个是标志,一个是实际条件,-d 是在 -m 参数默认或显式成立的前提下的。
  • 其他要注意的事:
    1. -d 与 -M 参数同时使用的时候,-M 参数会屏蔽掉 -d 参数的功能。
    2. -d 与 -b 参数同时使用的时候,-d 参数会屏蔽掉 -b 参数的功能。
    3. -p 参数,目前不知道到底有什么用处。使用该参数给新用户指定密码时,在 /etc/shadow 文件中密码是明文显示的,且切换用户时,密码并不可用,提示 incorrect password.
    4. -s 后接 /sbin/nologin 表示新用户不可用于登录系统

2 userdel 命令:

userdel 命令是 useradd 命令的逆。其功能是删除指定的用户账户以及其 home 目录。

  • 使用者身份
    1. root
    2. 拥有 sudo 权限的普通用户使用 sudo 命令进行操作
  • 命令格式
    userdel [-fhrZ] user_name
    
  • 参数:
    -f: 强制删除文件,暂时不知道这个参数的作用。
    -h --help: 显示帮助信息
    -r: 删除 home 目录: 最常用的参数了,删除掉要删除的用户的 home 目录,以及目录下的所有文件。这是一个强制行为,在 home 目录下的文件,不管属主是谁,都将被删除,即使是 root 的文件
    -Z: 删除 SELINUX 用户
    

3 usermod 命令:

这个命令的主要作用在于修改已建立的用户的一些属性。其大部分参数与 useradd 命令相同,功能也相同。当然,也有不同的参数。

  • 使用者身份
    1. root
    2. 拥有 sudo 权限的普通用户使用 sudo 命令进行操作
  • 命令格式
    usermod [-hlmoLUZ] [-options OPTIONS] user_name
    
  • 参数:
    -c --comment COMMENT: 功能同 useradd
    -d --home HOME_DIR: 功能同 useradd
    -e --expiredate EXPIRE_DATE: 功能同 useradd
    -f --inactive INCATIVE: 功能同 useradd
    -g --gid GROUP: 功能同 useradd
    -G --groups GROUPS: 功能同 useradd
    -a --append : 与 -G 参数同时使用,添加该用户到 -G 指定的群组作为支持群组,并且不从已设定的支持群组中删除
    -h --help:
    -l --login NEW_LOGIN:
    -L --lock 锁定账号(除 root 用户外,其他用户不能切换到该用户)
    -m --mv-home:
    -o --non-unique:
    -p --password PASSWORD: 功能同 useradd
    -s --shell SHELL: 功能同 useradd
    -u --uid UID: 功能同 useradd
    -U --unlock: 解锁帐号
    -Z --selinux-user:
    

4 passwd 命令:

passwd 命令的功能:最基本的功能是修改用户的 password。但是,还有一些额外的功能,如锁定指定用户的密码、删除指定用户的密码、设置密码的有效期等功能。

  • 使用者身份
    1. root
    2. 普通用户
  • 命令格式
    passwd [-kdluefS] [-xnwi OPTIONS] [--stdin] [user_name]
    
  • 参数:
    -k --keep-tokens: 设置 password 永不过期
    -d --delete: 删除指定用户的 password,仅 root 可用
    -l --lock: 锁定指定用户的 password, 同 usermod -L, 仅 root 可用
    -u --unlock: 解锁指定用户的 password,同 usermod -U, 仅 root 可用
    -e --expire: 设定有效期
    -f --force: 强制执行操作
    -x --maximun=DAYS: password 的最长有效期限,仅 root 可用
    -n --minimum=DAYS: password 的最短有效期限,仅 root 可用
    -w --warning=DAYS: password 过期前多少天提醒用户,仅 root 可用
    -i --inactive=DAYS: password 过期后多少天账户会被禁用,仅 root 可用
    -S --status: 打印指定用户的 password 状态,仅 root 可用
    --stdin: 从标准输入读取令牌,仅 root 可用
    

    需要注意的是:如果 root 用户使用 passwd 命令对其他用户进行操作,需要指定目标用户。普通用户或 root 用户操作时不指定用户名,默认对自身操作。

Date: 2013-05-15 三

Author: Lyndon Wu

Org version 7.9.3d with Emacs version 24

Validate XHTML 1.0

posted on 2013-05-15 17:28  灵台无镜  阅读(176)  评论(0)    收藏  举报

导航