首页 > 代码库 > Linux -- usermod

Linux -- usermod

USERMOD(8)                       系统管理命令                       USERMOD(8)




       usermod - 修改一个用户账户


       usermod [选项] 登录


       usermod 修改系统账户文件和在命令行上指定的相关更改。


       usermod 可以接受的选项有:

 

*************************************************************************************************************************

 

       -u, --uidUID      #改变用户的ID
           用户 ID 的新数值。

           这个值必须是唯一的,除非使用了 -o 选项,必须是非负值。

           用户的邮箱,用户主目录中属于此用户的文件的属主 ID 也将自动更改。

           用户主目录之外文件所有权必须手动修复。

           不会对 /etc/login.defs 中的 UID_MIN, UID_MAX, SYS_UID_MIN 和
           SYS_UID_MAX 进行检查。


           注意:如果您希望解锁账户(不只是使用密码访问),您也应该设置
           EXPIRE_DATE (例如设置为 99999,或者 /etc/default/useradd 中的
           EXPIRE 值)。


       -o, --non-unique
           使用 -u 选项时,可以将用户 ID 改为非唯一的值。

 

 

       -g, --gidGROUP      #改变
           用户的新初始登录组的组名或数字代号。此组必须存在。

           用户主目录中,属于原来的主组的文件将转交新组所有。

           主目录之外的文件所属的组必须手动修改。

       -a, --append      #添加
           将用户添加到附加组。只能和 -G 选项一起使用。

       -G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]
           用户还属于的附加组列表。组之间使用逗号分隔,没有空格。这些组需要遵守和
           -g 选项中给的组同样的限制。

           如果用户当前是一个组的成员,而这个组没有列在这里,用户将被从那个组里便删除。这个行为可以通过
           -a 选项修改,这使用户追加到给出的附加组列表中。


***************************************************************************************************************************



       -d, --homeHOME_DIR
           用户的新登录目录。

           如果给了 -m
           选项,当前主目录的内容将会移动到新主目录中,如果不存在,则创建。


       -m, --move-home
           将用户的主目录移动到新位置。

           这个选项只有和 -d (或 --home) 选项组合使用时才有效。

           usermod 会改写文件的属主并复制模式、ACL
           和扩展属性,但是稍后也可能需要手动修改。

 

***************************************************************************************************************************

 


       -e, --expiredateEXPIRE_DATE
           用户账户将被禁用的日期。日期以 YYYY-MM-DD 格式指定。

           空 EXPIRE_DATE 参数将禁用账户过期。

           此选项需要一个 /etc/passwd 文件。如果没有,将会创建一条 /etc/shadow
           项目。

       -f, --inactiveINACTIVE
           密码过期之后,账户被彻底禁用之前的天数。

           0 表示密码过期时,立即禁用账户;-1 表示不使用这个功能。

           此选项需要一个 /etc/passwd 文件。如果没有,将会创建一条 /etc/shadow
           项目。

                   *  *****                   
       -L, --lock
           锁定用户的密码。这会在用户加密的密码之前放置一个“!”,可以快速禁用密码。您可以和
           -p 或 -U 配合使用此选项。

           注意:如果希望锁定账户(不仅仅是通过密码访问),您也需要设置
           EXPIRE_DATE 为 1。

       -U, --unlock
           解锁用户的密码。这将移除加密的密码之前的“!”。您可以将此选项和 -p 或
           -L 配合使用。

 

   ^

    l

    l 

***********************************************************************************************************************



       -l, --loginNEW_LOGIN
           用户的名称将会从 LOGIN 修改为
           NEW_LOGIN。不会更改别的任何东西。特别是,用户的主目录名和邮件池也需要手动修改以和新登录名对应。


       -c, --commentCOMMENT
           用户密码文件中注释字段的新值。通常使用 chfn(1) 工具对其进行修改。

       -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。

 

*******************************************************************************************************************

 

  -v, --add-subuids FIRST-LAST  add range of subordinate uids
  -V, --del-subuids FIRST-LAST  remvoe range of subordinate uids
  -w, --add-subgids FIRST-LAST  add range of subordinate gids
  -W, --del-subgids FIRST-LAST  remvoe range of subordinate gid


       -v, --add-sub-uids FIRST-LAST
           Add a range of subordinate uids to the users account.

           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-sub-uids FIRST-LAST
           Remove a range of subordinate uids from the users account.

           This option may be specified multiple times to remove multiple
           ranges to a users account. When both --del-sub-uids and
           --add-sub-uids are specified remove of all subordinate uid ranges
           happens before any subordinate uid ranges are 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-sub-gids FIRST-LAST
           Add a range of subordinate gids to the users account.

           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-sub-gids FIRST-LAST
           Remove a range of subordinate gids from the users account.

           This option may be specified multiple times to remove multiple
           ranges to a users account. When both --del-sub-gids and
           --add-sub-gids are specified remove of all subordinate gid ranges
           happens before any subordinate gid ranges are 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-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).



shadow-utils 4.1.5.1              2014-02-17                        USERMOD(8)

Linux -- usermod