首页 > 代码库 > Linux小命令(8)usermod

Linux小命令(8)usermod

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

发现用户名也可以修改了。

Linux小命令(8)usermod