zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    在64位Win7下安装Oracle 10g客户端,以及PL/SQL Developer的经验
    Windows 8/Windows 8.1激活CMD命令大全
    安装交叉编译工具出错,arm-linux-gcc: 没有那个文件或目录
    驱动设备号创建
    内核驱动调试
    stm32定时器接力
    linux常用命令
    stm32定时器外部计数
    stm32 flash 选择
    pymysql 使用twisted异步插入数据库:基于crawlspider爬取内容保存到本地mysql数据库
  • 原文地址:https://www.cnblogs.com/sgtb/p/3973648.html
Copyright © 2011-2022 走看看