USERMOD(8) | 系统管理命令 | USERMOD(8) |
名称¶
usermod - 修改一个用户账户大纲¶
usermod [选项] 登录
描述¶
usermod 修改系统账户文件和在命令行上指定的相关更改。选项¶
usermod 可以接受的选项有:-a, --append
-c, --comment COMMENT
-d, --home HOME_DIR
如果给了 -m 选项,当前主目录的内容将会移动到新主目录中,如果不存在,则创建。
-e, --expiredate EXPIRE_DATE
空 EXPIRE_DATE 参数将禁用账户过期。
此选项需要一个 /etc/passwd 文件。如果没有,将会创建一条 /etc/shadow 项目。
-f, --inactive INACTIVE
0 表示密码过期时,立即禁用账户;-1 表示不使用这个功能。
此选项需要一个 /etc/passwd 文件。如果没有,将会创建一条 /etc/shadow 项目。
-g, --gid GROUP
用户主目录中,属于原来的主组的文件将转交新组所有。
主目录之外的文件所属的组必须手动修改。
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
如果用户当前是一个组的成员,而这个组没有列在这里,用户将被从那个组里便删除。这个行为可以通过 -a 选项修改,这使用户追加到给出的附加组列表中。
-l, --login NEW_LOGIN
-L, --lock
注意:如果希望锁定账户(不仅仅是通过密码访问),您也需要设置 EXPIRE_DATE 为 1。
-m, --move-home
这个选项只有和 -d (或 --home) 选项组合使用时才有效。
usermod 会改写文件的属主并复制模式、ACL 和扩展属性,但是稍后也可能需要手动修改。
-o, --non-unique
-p, --password PASSWORD
注意:不推荐使用这个选项,因为密码(或加密过的密码)会被用户通过列出这个过程而看到。
密码将会写到本地的 /etc/passwd 或 /etc/shadow 文件。这可能会与您的机器有所不同,这根据 PAM 配置中的密码数据库配置而定。
您应该确保密码符合系统的密码政策。
-R, --root CHROOT_DIR
-s, --shell SHELL
-u, --uid UID
这个值必须是唯一的,除非使用了 -o 选项,必须是非负值。
用户的邮箱,用户主目录中属于此用户的文件的属主 ID 也将自动更改。
用户主目录之外文件所有权必须手动修复。
不会对 /etc/login.defs 中的 UID_MIN, UID_MAX, SYS_UID_MIN 和 SYS_UID_MAX 进行检查。
-U, --unlock
注意:如果您希望解锁账户(不只是使用密码访问),您也应该设置 EXPIRE_DATE (例如设置为 99999,或者 /etc/default/useradd 中的 EXPIRE 值)。
-v, --add-subuids FIRST-LAST
This option may be specified multiple times to add multiple ranges to a users account.
No checks will be performed with regard to SUB_UID_MIN, SUB_UID_MAX, or SUB_UID_COUNT from /etc/login.defs.
-V, --del-subuids FIRST-LAST
This option may be specified multiple times to remove multiple ranges to a users account. When both --del-subuids and --add-subuids are specified, the removal of all subordinate uid ranges happens before any subordinate uid range is added.
No checks will be performed with regard to SUB_UID_MIN, SUB_UID_MAX, or SUB_UID_COUNT from /etc/login.defs.
-w, --add-subgids FIRST-LAST
This option may be specified multiple times to add multiple ranges to a users account.
No checks will be performed with regard to SUB_GID_MIN, SUB_GID_MAX, or SUB_GID_COUNT from /etc/login.defs.
-W, --del-subgids FIRST-LAST
This option may be specified multiple times to remove multiple ranges to a users account. When both --del-subgids and --add-subgids are specified, the removal of all subordinate gid ranges happens before any subordinate gid range is added.
No checks will be performed with regard to SUB_GID_MIN, SUB_GID_MAX, or SUB_GID_COUNT from /etc/login.defs.
-Z, --selinux-user SEUSER
空的 SEUSER 将移除用户 LOGIN 的 SELinux 用户映射(如果有)。
CAVEATS¶
You must make certain that the named user is not executing any processes when this command is being executed if the user's numerical user ID, the user's name, or the user's home directory is being changed. usermod checks this on Linux. On other platforms it only uses utmp to check if the user is logged in.您必须手动更改 crontab 文件或 at 作业的属主。
您必须更改 NIS 服务器上的 NIS 相关内容。
配置文件¶
在 /etc/login.defs 中有如下配置变量,可以用来更改此工具的行为:MAIL_DIR (string)
MAIL_FILE (string)
MAIL_DIR and MAIL_FILE 变量由 useradd,usermod 和 userdel 用于创建、移动或删除用户邮箱。
MAX_MEMBERS_PER_GROUP (number)
默认值是 0,意味着组中的成员数没有限制。
此功能(分割组)允许限制组文件中的行长度。这对于确保 NIS 组的行比长于 1024 字符。
如果要强制这个限制,可以使用 25。
注意:分割组可能不受所有工具的支持(甚至在 Shadow 工具集中)。您不应该使用这个变量,除非真的需要。
SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)
The default values for SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNT are respectively 100000, 600100000 and 10000.
SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)
The default values for SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT are respectively 100000, 600100000 and 10000.
文件¶
/etc/group/etc/gshadow
/etc/login.defs
/etc/passwd
/etc/shadow
/etc/subgid
/etc/subuid
参见¶
chfn(1), chsh(1), passwd(1), crypt(3), gpasswd(8), groupadd(8), groupdel(8), groupmod(8), login.defs(5), subgid(5), subuid(5), useradd(8), userdel(8).2018-07-27 | shadow-utils 4.5 |