系统: Ubuntu 16.04 LTS

今天使用usermod命令更改用户的家目录, 总是失败. 上网查询了各种方法也还是不可以, 最后慢慢尝试总算找到了对的方法, 现记录下来.

例: 新添加了用户user1, 将其改为user2, UID/GID不变, 用户名,基本组名和家目录均改为user2.

1.创建用户user1;

useradd -m user1;

ll /home;

cat /etc/passwd;

id user1;

我们成功创建了user1;

2.更改user1的家目录为user2;

由于man下没找到usermod更改家目录的命令具体格式(可能是我没看清楚没找到),最早使用了一下几个命令:

usermod -dm /home/user2 user1;

usermod -dm /home/user2 1001;

usermod -d -m /home/user2 1001;

usermod -d /home/user2 -m 1001;

等类似命令,均不能实现.

之后搜索, 发现有很多人在问这个问题,而比较一致的回答是要加-u选项,后跟UID和用户名,具体命令为:

usermod -dm /home/user2 -u 1001 user1;

使用此命令仍报错,报错信息是usermod命令的使用说明(可能是Ubuntu特有的报错模式?)

我最初猜测可能是因为没有/home/user2这个目录,所以先创建了一个,再执行上述命令,仍是同样结果:

mkdir user2;

usermod -dm /home/user2 -u 1001 user1;

仍是同样的报错信息.

当时百思不得其解,为什么别人用这个命令可以,我用就不可以?

我又尝试了命令

usermod -d -m /home/user2 -u 1001 user1;

报错.

usermod -m -d /home/user2 -u 1001 user1;

这次出现了不一样的报错信息,提示目录/home/user2不存在,但实际上我已经用root创建了user2目录,怎么可能不存在?难道是因为目录user2的属主和属组都是root,权限或usermod命令的局限性所致无法将其属主改为user2?于是我把user2目录手动删除之后再usermod:

rmdir user2;

usermod -m -d /home/user2 -u 1001 user1;

提示信息为usermod无改变,难道user1的家目录已经变为/home/user2?我用finger命令查看了一下:

finger user1;

user1的家目录确实已经变成/home/user2,但此时ll /home并没有发现user2目录.

于是我重新整理思路,尝试将其家目录先变回user1,再重新变为user2;

usermod -m -d /home/user1 -u 1001 user1;

提示/home/user1不存在,但是

finger user1;

发现其实已经变回来了,再使用命令:

usermod -m -d /home/user2 -u 1001 user1;

终于没有报错!

ll /home;

发现/home/user2目录出现,属主为user1,属组为user1,以前的/home/user1目录不见了.

使用su - 命令切换到用户user1看是否成功创建了家目录:

su - user1; #此处应使用su - user1而不是su user1以改变各种环境变量等,否则可能出现假阳性?

ll;

pwd;

成功切换,一切正常.

至此,终于将user1的家目录切换为/home/user2.

正确的命令为:

usermod -m -d /home/user2 -u 1001 user1;

usermod -d /home/user2 -m -u 1001 user1;

最后,再改变用户名和组名为user2:

usermod -l user2 user1;

ll;

groupmod -n user2 user1;

ll;

finger user2;

cat /etc/passwd;

至此,成功将user1的登录名,基本组名和家目录改为了user2(即把user1改名叫user2了,和使用命令useradd -m user2是一样的效果).

Tips:

1.很多linux的短选项可以缩写,如-m -n 可以写为-mn,但在usermod命令中,-m -d 缩写为-dm是不可以的(至少在我的电脑上我的这个版本上是不可以的),所以当某个短选项后面加参数时不要和其他短选项混合缩写.

2.Ubuntu可使用gnome-screenshot -a局部截图,但是后来发现这个桌面版直接在系统设置里可以设置成快捷键.

linux设置家目录,usermod更改用户家目录相关推荐

  1. Linux怎样创建FTP服务器--修改用户默认目录-完美解决 - 费元星

    在创建FTP服务器之有先命令: ps -ef |grep vsftpd 查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装. 然后再执行:yum install vsft ...

  2. android 根目录缓存,Android 文件目录存储介绍 缓存目录 | 私有目录 | 系统根目录 | 用户可见目录...

    先简要介绍一下Android系统的文件系统吧,本文基于原生Android M系统: 我们都知道Android系统内核就是个Linux.所以我们的文件系统与Linux也是基本一致的,最顶部的目录是 &q ...

  3. linux设置tty终端字体,更改Ubuntu tty下字体方法

    第一种就是网上大多数使用的方法,英文的教程,这里不翻译了,非常简单,一看就懂.但发现这种设置给出的字体不全,那如何来让控制台使用UbuntuMono字体呢?(第二种方法.) 第一种方法 To adju ...

  4. Linux设置ip地址不更改

    ping通外部地址    cat  etc/resolv.conf nameserver ip地址 别名 alias vinet = 'vi /etc/sysconfig/network-script ...

  5. android 缓存文件目录在哪个文件夹里,Android 文件目录存储介绍 缓存目录 | 私有目录 | 系统根目录 | 用户可见目录...

    先简要介绍一下Android系统的文件系统吧,本文基于原生Android M系统: 我们都知道Android系统内核就是个Linux.所以我们的文件系统与Linux也是基本一致的,最顶部的目录是 &q ...

  6. Linux的基本文件操作及用户管理

    首先接上篇博客,继续讲文件的操作,然后再讲对用户的操作. 文件操作 显示文件相关信息 ls   <option>    显示文件信息,这里的参数不是必选项,可以根据自己的需求选择,当然参数 ...

  7. linux用户家目录怎么修改,Linux 更改用户名,用户组和主目录

    今天回到家,打开久违的Linux虚拟机,发现我使用的用户名竟然是一个很隐私的用户名. 这怎么行,让人家看到了多不好. 改一个. 网上搜了搜,有的说直接改/etc/passwd和/etc/shadow文 ...

  8. linux查看所有用户家目录,linux – 允许用户读取其他用户的主目录

    我是系统管理的新手,我有一个与权限相关的查询.我有一个叫做管理的小组.在管理组内部,我有用户user1,user2,user3,超级用户.所有用户都在管理组中.现在,我需要为用户超级用户授予权限,以便 ...

  9. linux查用户的家目录,详解Linux误删用户家目录的恢复方法

    在生产中可能会由于误操作而删除了某一用户的家目录,这时就需要把用户的家目录安装创建新用户时的模板文件,再恢复并且要跟之前的权限相同. 1. 创建一个新的用户用于测试 [root@centos6 aub ...

  10. linux创建用户并修改用户家目录

    ubuntu 1.首先用adduser添加用户,但是用户的目录是adduser默认的目录 adduser name 2.创建你想要的用户目录 mkdir name 3.vi /etc/passwd 更 ...

最新文章

  1. golang json 读写配置文件
  2. 手把手教你用Java的swing制作计算器
  3. 搜索训练1 [8数码问题]
  4. C++对象内存布局--④VS编译器--单个虚拟继承
  5. 中台是个筐,啥都往里装?
  6. 计算机片段教学优秀教案,精彩教学片段100例—导入篇(1)
  7. speedbutton用法
  8. python中print后面加逗号
  9. js动态加载HTML元素时出现的无效的点击事件
  10. Load error: undefined path variables 记录一次IDEA崩溃
  11. 山山的数学(简单版)
  12. C# List集合排序方法小结
  13. 阶段性总结 个人总结 (上)
  14. 程序员,隐藏的段子手
  15. 在手机端访问pc服务器的方法
  16. 计算机领域十大世界难题,世界四大科学难题是什么,什么是四大科学难题
  17. 第一次搭建React项目以及错误:getaddrinfo ENOTFOUND registry.npmjs.org解决办法
  18. 【智能制造】智能制造与智能工厂的主要特征
  19. python创建数据库字数不限制_KindEditor设置字数限制
  20. Report中的Drill down

热门文章

  1. 通俗易懂的UART协议帧格式
  2. 计算机及软件工程专业职称,有关软件工程师职称
  3. raft-rs 示例程序源码解读
  4. 史上最详细的测试用例的设计方法及案例
  5. PHP多功能Youngxj工具箱/在线站长工具箱源码
  6. 软考中级网络工程师学习笔记(知识点汇总)详细版本
  7. linux中静态库和动态库的区别,Linux下静态库和动态库的区别
  8. 掌握 3 个搜索技巧,在 GitHub 上快速找到实用软件资源
  9. win10系统恢复win7的照片查看器
  10. 机器学习模型太慢?来看看英特尔(R) 扩展加速 ⛵