Linux命令(8)usermod
该命令可以添加用户组
?
命令格式:usermod [parameters]
?
常用参数:
-c[备注] 修改用户账号的备注文字
-d[登入目录] 修改用户登入时的目录
-g[有效期限] 修改账号的有效期限
-G[组群] 修改用户所属的组群
-l[账号名称] 修改用户账号名称
-s[shell] 锁定用户登入后所使用的shell
-u[uid] 修改用户ID
-L[密码] 锁定用户密码,使密码无效
-U[密码] 解除密码锁定
?
我们可以创建一个用户来测试一下。
#useradd yy
#passwd yy
---输入密码:123456
这时,它会提示我it is too simplistic/systematic说设置的密码太简单了。不过没事再次输入123456它也会设置成功的。
?
我们可以在/etc/passwd中查看用户
#cat /etc/passwd | grep bash
使用上面的命令,可以查看自己创建的用户
可以看到,用户ID是500,一般用户ID都会大于500的,因为Linux安装后会建立一些特殊的用户,一般0-499之间的值都是留给bin、mail这样的系统账号的。
?
-c
我们可以-c来修改用户的备注
#usermod –c 54321yy yy
#cat /etc/passwd | grep bash
查看一下,发现备注已经改了
?
?
-d
我们可以先创建一个文件夹在根目录。取名123,我们将home目录下的yy移动要/123下。
#cd /
#mkdir 123
#usermod –d /123 yy
这时提示user yy is currently logged in
如果要修改目录,或者修改用户名的时候会出现user yy is currently logged in这样报错。我已经试过进入yy用户在退出登录,再敲命令改名字,改目录。怎样折腾还是会出现这个报错。所以网上搜了一下资料。
解决办法:
Cat /dev/null > /var/run/utmp 清空此文件
重启reboot之后再执行修改目录和名字的命令就OK了。
Utmp是一个文件,出了utmp程序你不能编辑这个文件,删掉它的话,当前登陆信息都会丢失。它就好比系统开启后它会把系统成员的信息迅速记录下来,过一段时间它就不再记录,确认系统的用户配置就是这样了。这个文件在每次机器reboot起来后,都会重新创建。
?
那我们试一下
#cat /dev/null > /var/run/utmp
然后我们reboot重启
?
#usermod –d /123 yy
好了,可以修改目录了。
#cat /etc/passwd | grep bash
查看一下,发现登陆目录以及修改成/123了
?
-l
我们也可以修改一下用户名
#usermod –l renameyy yy
#cat /etc/passwd | grep bash
发现用户名也可以修改了。