linux usermod命令例子
Linux usermod命令用于修改或者更改现有用户的属性。
用户的属性是主目录,shell,密码到期日,组,uid等。
当命令运行时,相应地更新/etc/passwd(用户帐户信息),/etc/shadow(安全帐户信息)和/etc/group(组信息)文件中的数据。
只有根(超级用户)可以使用此命令。
此命令的基本语法如下。
usermod [-c comment] [-d home_dir [-m]] [-e expire_date] [-f inactive_time] [-g initial_group] [-G group [,...]] [-l login_name] [-p passwd] [-s shell] [-u uid [-o]] [-L|-U]login
在本教程中,我们将通过一些示例来学习usermod命令。
1)更改用户的主目录
假设当前的用户'测试'的主目录是/home/test,并且我们希望将其更改为现有目录'/home/testnew'而无需复制'/home/test'的内容,我们可以使用以下命令:
# usermod –d /home/testnew test
如果要移动'/home/test'的内容也(如果新目录不存在,它将创建和移动),则需要使用选项"-m"。
# usermod –d /home/testnew –m test
2)向用户添加组
使用UserAdd命令添加用户而不指定组,则将创建具有与用户相同的组。
这是用户的主要组。
我们可以使用选项-g
添加多个组到用户,如下所示。
假设,我们需要将组"Developer"添加到用户"测试",我们可以将其添加如下。
# usermod –G developer test
请注意,如果我们之前将用户添加到任何其他组(除主组以外),则将通过上述命令删除。
因此,如果要保留当前用户的组并添加更多组,则需要使用选项-Ag
,如下所示:
# usermod –aG developer test # id test uid=501(test) gid=501(test) groups=501(test),506(pros),508(developer)
3)更改用户的主要组
如果要将组添加为用户的主要组,则可以执行以下操作:
# usermod –g developer test # id test uid=501(test) gid=508(developer) groups=508(developer), 506(pros)
4)锁定和解锁用户
在某些情况下,我们可能需要临时锁定帐户。
这可以用-l
选项完成。
这会给一个'!'在加密密码面前,有效地禁用密码。
# usermod –L test
用户可以解锁,如下所示,将删除加密密码前面的"!"。
# usermod –U test
5)更改帐户的到期数据
我们可以使用以下命令禁用"2012-12-01"上的帐户"测试"。
# usermod -e 2012-12-01 test
6)更改登录和密码
我们可以使用"-L"交换机更改登录名称。
# usermod -l newtest test
# id test Id: test: No such user # id newtest uid=501(newtest) gid=508(developer) groups=508(developer), 506(pros)
我们可以按如下方式更改密码:
# usermod –p newpass newtest
7)更改用户的shell
我们可以使用usermod命令来更改用户的shell。
以下命令将更将用户"newtest"的shell更改为'/bin/bash'。
# usermod -s /bin/bash newtest