一、添加用户

添加新的用户账号使用useradd命令,其语法如下:

useradd 选项 用户名

参数说明:

  • 选项:

    • -c comment 指定一段注释性描述。
    • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
    • -g 用户组 指定用户所属的用户组。
    • -G 用户组,用户组 指定用户所属的附加组。
    • -s Shell文件 指定用户的登录Shell。
    • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
  • 用户名:

    • 指定新账号的登录名。

实例1

 useradd –d /home/oppo -m oppo

此命令创建了一个用户 oppo,其中 -d 和 -m 选项用来为登录名 oppo 产生一个主目录 /home/oppo(/home为默认的用户主目录所在的父目录)。

二、问题描述

在创建用户时,-d自定义用户主目录为/root目录,创建成功之后,切换用户时,不能切换到用户主目录,结果报错如下

useradd -d /root/phone/vivo -m -c 781990434@qq.com -g phone -G mobile vivo

在这里插入图片描述

三、错误原因

提示目录权限不够

su: warning: cannot change directory to /root/phone/vivo: Permission denied
四、解决办法

主要就是修改目录权限,将目录权限修改为 755,及 drwxr-xr-x 即可,当然777大于755肯定也可以,对文件权限不清楚的查看如下博客
https://www.cnblogs.com/sxdcgaq8080/p/7498906.html.

chmod  755  /root

修改你自己权限不够的目录,如果你指定的用户主目录有多层,要保证每一层权限至少为755.

只为解决问题的到这就结束了,下面是我遇到这个问题的解决思路
当我在用户默认主目录 /home 创建并不会遇到此问题
在这里插入图片描述
查看 /home 目录的权限,切换到根目录 cd / ,ls -l 查看文件详细属性
在这里插入图片描述
查看 /root 目录的权限,如下可看到 root 权限为 550
在这里插入图片描述
将 root 目录权限修改为 755

chmod 755 /root

注意一定要 切换到 root 管理员,或者使用 ctrl + d 退出当前登录,再去修改权限,否则提示权限不够
在这里插入图片描述
如下可以在创建用户时自定义主目录
在这里插入图片描述

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐