学习啦 > 学习电脑 > 操作系统 > Linux教程 > usermod命令怎么修改用户主目录

usermod命令怎么修改用户主目录

时间: 春健736 分享

usermod命令怎么修改用户主目录

  有一台CentOS的服务器,原来建的一个用于ftp的用户帐号,制定一个特定的目录,现在需要修改这个用户的home_dir。只需要使用usermod -d /new/home_dir -U username 命令就可以更改了。下面跟着学习啦小编一起来了解一下usermod命令修改用户主目录的方法吧。

  usermod命令怎么修改用户主目录参考如下

  linux常用命令之usermod命令用法。

  方法1,可以修改/etc/passwd文件,这个大家研究下。

  方法2,usermod命令修改用户主目录。

  说明:

  第一种方法:vi /etc/passwd

  找到要修改的用户那几行,修改掉即可。此法很暴力,建议慎用。

  第二种方法:usermod

  usermod -d /usr/newfolder -u uid username

  根据wuming的留言提示,uid后面必须接username才可以!表示感谢。详细的例子放在文章的最后。

  -u后面一定要接uid啊,然后是username

  附:usermod详细参数

  语  法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][- f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ] [用户帐号]

  补充说明:usermod可用来修改用户帐号的各项设定。

  参  数:

  -c<备注>  修改用户帐号的备注文字。

  -d登入目录>  修改用户登入时的目录。

  -e<有效期限>  修改帐号的有效期限。

  -f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。

  -g<群组>  修改用户所属的群组。

  -G<群组>  修改用户所属的附加群组。

  -l<帐号名称>  修改用户帐号名称。

  -L  锁定用户密码,使密码无效。

  -s  修改用户登入后所使用的shell。

  -u  修改用户ID。

  -U  解除密码锁定。

  linux shell代码:

  weiva02awark9:~# finger plcxue.com

  Login: plcxue.com Name:

  Directory: /var/www/www.plcxue.com Shell: /bin/false

  Never logged in.

  No mail.

  No Plan.

  weiva02awark9:~# usermod -d /var/www/ -u 1011

  usermod: user 1011 does not exist

  weiva02awark9:~# usermod -d /var/www/ -u plcxue.com

  usermod: invalid numeric argument 'www.plcxue.com'

  weiva02awark9:~# usermod -d /var/www/ -u 1011 plcxue.com

  weiva02awark9:~# finger plcxue.com

  Login: plcxue.com Name:

  Directory: /var/www/ Shell: /bin/false

  Never logged in.

  No mail.

  No Plan.

  weiva02awark9:~# usermod -d /var/www/www.plcxue.com -u 1011 plcxue.com

  weiva02awark9:~# finger plcxue.com

  Login: plcxue.com Name:

  Directory: /var/www/www.plcxue.com Shell: /bin/false

  Never logged in.

  No mail.

  No Plan.

  下面补充一下usermod更多功能:

  usermod 不仅能改用户的SHELL类型,所归属的用户组,也能改用户密码的有效期,还能改登录名。usermod 如此看来就是能做到用户帐号大转移;比如我把用户A改为新用户B;

  usermod [-u uid [-o]] [-g group] [-G group,...]

  [-d 主目录 [-m]] [-s shell] [-c 注释] [-l 新名称]

  [-f 失效日] [-e 过期日] [-p 密码] [-L|-U] 用户名

  usermod 命令会参照你命令列上指定的部份修改系统帐号档。下列为usermod可选用的参数。

  -c comment

  更新用户帐号password档中的注解栏,一般是使用chfn(1)来修改。

  -d home_dir

  更新用户新的登入目录。如果给定-m选项,用户旧目录会搬到新的目录去,如旧目录不存在则建个新的。

  -e expire_date 加上用户帐号停止日期。日期格式为MM/DD/YY.

  -f inactive_days 帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1。

  -g initial_group 更新用户新的起始登入用户组。用户组名须已存在。用户组ID必须参照既有的的用户组。用户组ID预设值为1。

  -G group,[...] 定义用户为一堆groups的成员。每个用户组使用","区格开来,不可以夹杂空白字元。用户组名同-g选项的限制。如果用户现在的用户组不再此列,则将用户由该用户组中移除。

  -l login_name 变更用户login时的名称为login_name。其它不变。特别是,用户目录名应该也会跟着更动成新的登入名。

  -s shell 指定新登入shell。如此栏留白,系统将选用系统预设shell。

  -u uid用户ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为最小不得小于/etc/login.defs中定义的UID_MIN值。 0到UID_MIN值之间是传统上保留给系统帐号使用。用户目录树下所有的档案目录其userID会自动改变。放在用户目录外的档案则要自行手动更动。

  警 告:usermod不允许你改变正在线上的用户帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序。你需手动 更改用户的crontab档。也需手动更改用户的at工作档。采用NISserver须在server上更动相关的NIS设定。

  举个简单的例子,我们在前面说了关于useradd的工具,而usermod 工具和useradd的参数差不多;两者不同之处在于useradd是添加,usermod 是修改。

646945