other languages
USERMOD(8) | 系统管理命令 | USERMOD(8) |
名称¶
usermod - 修改一个用户账户大纲¶
usermod
[ 选项] 登录
描述¶
usermod 修改系统账户文件和在命令行上指定的相关更改。选项¶
usermod 可以接受的选项有: -a, --append将用户添加到附加组。只能和
-G 选项一起使用。
-c, --commentCOMMENT
用户密码文件中注释字段的新值。通常使用
chfn(1)
工具对其进行修改。
-d, --homeHOME_DIR
用户的新登录目录。
如果给了 -m
选项,当前主目录的内容将会移动到新主目录中,如果不存在,则创建。
-e, --expiredateEXPIRE_DATE
用户账户将被禁用的日期。日期以
YYYY-MM-DD 格式指定。
空 EXPIRE_DATE
参数将禁用账户过期。
此选项需要一个 /etc/passwd
文件。如果没有,将会创建一条
/etc/shadow 项目。
-f, --inactiveINACTIVE
密码过期之后,账户被彻底禁用之前的天数。
0
表示密码过期时,立即禁用账户;-1
表示不使用这个功能。
此选项需要一个 /etc/passwd
文件。如果没有,将会创建一条
/etc/shadow 项目。
-g, --gidGROUP
用户的新初始登录组的组名或数字代号。此组必须存在。
用户主目录中,属于原来的主组的文件将转交新组所有。
主目录之外的文件所属的组必须手动修改。
-G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]
用户还属于的附加组列表。组之间使用逗号分隔,没有空格。这些组需要遵守和
-g
选项中给的组同样的限制。
如果用户当前是一个组的成员,而这个组没有列在这里,用户将被从那个组里便删除。这个行为可以通过
-a
选项修改,这使用户追加到给出的附加组列表中。
-l, --loginNEW_LOGIN
用户的名称将会从
LOGIN 修改为
NEW_LOGIN。不会更改别的任何东西。特别是,用户的主目录名和邮件池也需要手动修改以和新登录名对应。
-L, --lock
锁定用户的密码。这会在用户加密的密码之前放置一个“!”,可以快速禁用密码。您可以和
-p 或 -U
配合使用此选项。
注意:如果希望锁定账户(不仅仅是通过密码访问),您也需要设置
EXPIRE_DATE 为 1。
-m, --move-home
将用户的主目录移动到新位置。
这个选项只有和 -d (或
--home)
选项组合使用时才有效。
usermod
会改写文件的属主并复制模式、ACL
和扩展属性,但是稍后也可能需要手动修改。
-o, --non-unique
使用 -u
选项时,可以将用户 ID
改为非唯一的值。
-p, --passwordPASSWORD
已经加密过的密码,就像
crypt(3) 返回的那样。
注意:不推荐使用这个选项,因为密码(或加密过的密码)会被用户通过列出这个过程而看到。
密码将会写到本地的
/etc/passwd 或 /etc/shadow
文件。这可能会与您的机器有所不同,这根据
PAM
配置中的密码数据库配置而定。
您应该确保密码符合系统的密码政策。
-R, --rootCHROOT_DIR
Apply changes in the CHROOT_DIR
directory and use the configuration files from the CHROOT_DIR
directory.
-s, --shellSHELL
用户的新登录
shell
的名称。将此字段设置为空会让系统选择默认的登录
shell。
-u, --uidUID
用户 ID
的新数值。
这个值必须是唯一的,除非使用了
-o
选项,必须是非负值。
用户的邮箱,用户主目录中属于此用户的文件的属主
ID 也将自动更改。
用户主目录之外文件所有权必须手动修复。
不会对 /etc/login.defs 中的 UID_MIN,
UID_MAX, SYS_UID_MIN 和 SYS_UID_MAX
进行检查。
-U, --unlock
解锁用户的密码。这将移除加密的密码之前的“!”。您可以将此选项和
-p 或 -L 配合使用。
注意:如果您希望解锁账户(不只是使用密码访问),您也应该设置
EXPIRE_DATE (例如设置为
99999,或者 /etc/default/useradd 中的
EXPIRE 值)。
-Z, --selinux-userSEUSER
用户登陆的
SELinux 用户。
空的 SEUSER 将移除用户
LOGIN 的 SELinux
用户映射(如果有)。
CAVEATS¶
如果要更改用户的数字 ID、用户名或主目录,需要确保允许命令时,用户没有执行任何进程。 usermod 会在 Linux 上进行检查;但是在其它平台上,仅仅根据 utmp 检查用户是否已经登录。 您必须手动更改 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)
每个组条目的最大成员数。达到最大值时,在
/etc/group
开始一个新条目(行)(使用同样的名称,同样的密码,同样的
GID)。
默认值是
0,意味着组中的成员数没有限制。
此功能(分割组)允许限制组文件中的行长度。这对于确保
NIS 组的行比长于 1024
字符。
如果要强制这个限制,可以使用
25。
注意:分割组可能不受所有工具的支持(甚至在
Shadow
工具集中)。您不应该使用这个变量,除非真的需要。
文件¶
/etc/group组账户信息。
/etc/gshadow
安全组账户信息。
/etc/login.defs
Shadow
密码套件配置。
/etc/passwd
用户账户信息。
/etc/shadow
安全用户账户信息。
参见¶
chfn(1), chsh(1), passwd(1), crypt(3), gpasswd(8), groupadd(8), groupdel(8), groupmod(8), login.defs(5), useradd(8), userdel(8).2012-05-25 | shadow-utils 4.1.5.1 |