linux 用useradd创建一个新用户在home下为啥没有,在/etc/passwd里没有信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 用useradd创建一个新用户在home下为啥没有,在/etc/passwd里没有信息相关的知识,希望对你有一定的参考价值。

参考技术A 首先楼主在创建用户的时候有没有加-d参数将其家目录指到了别处,如果没有就用su - 用户名 看看能否切换过去。如果不能看看报的是没有此用户信息还是其他,再斟酌 参考技术B 需要加-m选项, -m选项的含义为
-m, --create-home create the user's home directory
参考技术C 应该是有的,你可以重启试试。
否则的话,就要考虑主目录是否不再是home了?密码是不是被转移到另外的文件里去了?追问

那怎么找到

参考技术D 用户在home目录下没有要看你是否自定的用户跟目录为home。

在/etc/passwd里面没有用户信息的话,判断是用户创建失败。
第5个回答  2013-04-15 你需要登录一次才能创建你的/home/user目录

Linux命令(二十六) 用户管理命令

一、添加用户 useradd

useradd 命令用于创建新用户,格式为useradd [选项] 用户名

可以使用 useradd 命令创建用户帐户,使用该命令创建账户时,默认的用户目录在 /home 目录下,默认的shell为 /bin/bash ,而且会默认创建一个与该用户同名的基本用户组。

useradd命令支持丰富的参数,常用参数如下所示:

-d 指定用户家目录
-e 账户到期时间,格式为 YYYY-MM-DD.
-u 指定用户的UID
-g 指定一个初始的基本用户组
-G 指定一个或多个扩展用户组
-N 不创建与用户同名的基本用户组
-s 指定该用户默认的shell解释器

示例: 创建一个普通用户,指定其家目录,UID 和shell解释器。

[[email protected] disk2]# useradd -d /home/user1 -u 1002 -s /sbin/bash  user1

二、更改用户 usermod

如果对已有的用户信息进行修改,可以使用 usermod,使用该目录可以修改用户的主目录和其它信息。

usermod 常用参数如下:

-d 修改用户登录时的主目录,使用该参数时对应的用户目录不会自己建立,需要手动建立
-e 修改账号的有效期
-f 修改在密码过期后多少天关闭该账号
-g 修改用户所属的用户组
-G 修改用户所属的附加组
-l 修改用户账户名称
-L 锁定用户密码使密码无效
-s 修改用户登录后所使用的shell
-u 修改用户ID
-U 解除密码锁定

usermod使用实例:

修改用户 user1 的家目录为 /home/test

# 查看 user1 的家目录为 /home/user1
[[email protected] disk2]# cat /etc/passwd |grep user1
user1:x:1002:1002::/home/user1:/sbin/nologin
# 将user1的家目录修改为 /home/test
[[email protected] disk2]# usermod -d /home/test/ user1 
# 查看是否修改成功
[[email protected] disk2]# cat /etc/passwd |grep user1 
user1:x:1002:1002::/home/test/:/sbin/nologin
[[email protected] disk2]# 

将用户 user1 修改 为 user2:

# 查看 user1
[[email protected] disk2]# cat /etc/passwd |grep user1 
user1:x:1002:1002::/home/test/:/sbin/nologin
# 将 user1 修改为 user2 
[[email protected] disk2]# usermod -l user2 user1
# 查看是否修改成功
[[email protected] disk2]# cat /etc/passwd |grep user2
user2:x:1002:1002::/home/test/:/sbin/nologin
[[email protected] disk2]# 

三、删除用户 userdel

userdel 命令用于删除用户,格式为userdel [选项] 用户名

如果我们确认某个用户后面不会再使用,就可以通过 userdel 命令删除该用户的所有信息。在执行删除操作时,该用户的用户目录会默认保留下来,可以使用 -r 参数将其删除。

userdel 参数如下所示:

-f 强制删除用户
-r 删除用户时同时删除用户目录

userdel 示例

删除用户 user2 及其用户目录

[[email protected] disk2]# userdel -r user2 

四、更改或设置用户密码 passwd

passwd 命令用于修改用户密码、过期时间、认证信息等,格式为passwd [选项] [用户名]

普通用户只能使用passwd命令修改自己的密码,而 root 用户可以修改所有用户的密码而不用验证旧密码。

passwd 常用参数如下:

-l 锁定用户,禁止其登录
-u 解除锁定,允许用户登录
-d 使该用户可用空密码登录系统
-e 强制用户再下次登录时修改密码
-S 显示用户的密码是否被锁定,以及密码所使用的加密算法名称

passwd 使用示例:

# 修改用户 user2 的密码
[[email protected] disk2]# passwd  user2
Changing password for user user2.
New password: 
BAD PASSWORD: The password is a palindrome
Retype new password: 
passwd: all authentication tokens updated successfully.
[[email protected] disk2]# 

五、切换用户 su

su 命令用于在不同的用户之间切换。超级用户 root 切换到其它用户不需要输入密码,而普通用户间切换或者切换到超级用户 是需要验证密码。su 命令不加任何参数时默认切换到 root 用户。

su 命令常用参数:

-l 登录并改变到所切换的用户环境
-c 执行一个命令,然后退出所切换到的用户环境

su 命令使用示例:

切换到 root 用户,不改变用户环境:

[[email protected] ~]$ pwd
/home/hk
[[email protected] ~]$ su root
Password: 
[[email protected] hk]# pwd
/home/hk
[[email protected] hk]# 

切换到 root 用户,并改变用户环境:

[[email protected] ~]$ pwd
/home/hk
[[email protected] ~]$ su - root
Password: 
Last login: Sun Jun 17 23:29:08 CST 2018 on pts/0
[[email protected] ~]# pwd
/root
[[email protected] ~]# 

以上是关于linux 用useradd创建一个新用户在home下为啥没有,在/etc/passwd里没有信息的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令之添加新用户useradd

Linux如何添加新用户?常用命令是什么?

Linux命令(二十六) 用户管理命令

在linux中用useradd命令创建一个用户后不能登录的解决

linux建立一个新用户,进入的时候提示密码错误

linux添加用户adduser出现 useradd:cannot lock /etc/passwd; try again