生生不息

生生不息

Linux系统使用添加新用户后,没有用户目录(没有home)解决办法

2025-01-04
Linux系统使用添加新用户后,没有用户目录(没有home)解决办法

背景

今天在Linux服务器上添加用户,添加完竟然没有home,以前怎么没有这问题,烦恼!!!

添加用户命令:
sudo useradd masker

设定用户密码:
sudo passwd masker(新用户名)。

查看用户信息
id masker
uid=1001(masker) gid=1001(masker) 组=1001(masker)

切换用户
su masker

就是一个美元符号,没有初始家目录

一波操作下来,home里没有masker,很是头疼,下面上解决方案:

解决方案

如果已经使用useradd创建了没有home的用户,想要添加home.

sudo mkdir /home/masker
sudo chown masker:masker /home/masker
sudo chmod 700 /home/masker
sudo usermod -d /home/masker masker

这样就可以新建并且声明给masker用户了。

剩下是没创建用户前可以选择的方案:

方法一

useradd -m masker(用户名) PS:追加参数-m
这样出来的用户有家目录

passwd masker 修改密码

方法二

adduser masker(用户名) PS:使用adduser指令完成新用户创建。

正在添加用户"masker"...
正在添加新组"masker" (1001)...

正在添加新用户"masker" (1001) 到组"masker"...
创建主目录"/home/masker"...
正在从"/etc/skel"复制文件...
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
正在改变 masker 的用户信息
请输入新值,或直接敲回车键以使用默认值
        全名 []: masker
        房间号码 []:
        工作电话 []:
        家庭电话 []:
        其它 []:
这些信息是否正确? [Y/n] y

useradd是Linux系统中比较低级的应用程序,建议大家使用更加友好的adduser去完成添加用户的工作。