【Linux问题合集003】解决无法创建新用户丨在home目录下看不见用户文件夹丨创建的用户设置密码时报错,当前用户不在 sudoers 列表中丨Ubunt不显示用户名,只显示“$“符号问题

简介: 【Linux问题合集003】解决无法创建新用户丨在home目录下看不见用户文件夹丨创建的用户设置密码时报错,当前用户不在 sudoers 列表中丨Ubunt不显示用户名,只显示“$“符号问题

🍁问题一、创建用户无法成功

通常我们使用以下代码来创建用户

useradd tom

但是出现如下问题:

useradd: Permission denied.
useradd:无法锁定 /etc/passwd,请稍后再试。

56b4602194f74bd8b12387c662df7b42.png

解决方法:通常是由于权限不够,要解决这个问题,用户“zhou”需要以管理员身份运行该命令。可以在命令前加上“sudo”来提升权限,如下所示

sudo useradd tom

同样如果删除不成功的话也可以通过sudo来提升权限来删除

但是强烈建议使用,重要的事说三遍

sudo useradd -m tom

这个命令来创建tom用户,原因在问题3中,就是因为没使用上面语法我才会报错误三,哎~

🍁问题二、给我创建的用户设置密码时报错

sudo passwd tom

当使用上面这行代码来给tom用户设置密码时,报如下的错误

52afc9e0a8164520b7b8951a9a66cdfa.png

这个错误当然就是你的密码太简单了,建议使用更强的密码。密码应至少包含八个字符,包括大写字母、小写字母、数字和特殊字符。如果您正在使用非英语语言环境【比如是中文输入法,那肯定要切换成英文呀】,则还应避免使用任何特殊或非 ASCII 字符。

🍁问题三、su: 警告:无法更改到 /home/tom 目录: 没有那个文件或目录

我tom用户创建好后

915e3683b5394c27934e1af4ba77a821.png

根据输出,用户“tom”已经存在于系统中,说明我已经创建好了tom用户,无需重复创建 

本来是非常开心以为大功告成:

但是当我使用如下命令

su - tom
// 上面用于切换到“tom”用户的帐户并进入该帐户的主目录

又报错了,真是难过,错误如下

1. 密码: 
2. su: 警告:无法更改到 /home/tom 目录: 没有那个文件或目录


43bd5da1b070448483d66820e17bb002.png


8390f947ac8841beb9ff978435039f4d.png

结果我跑到相应的目录下一看、我去【注:大多数 Linux 系统中,我使用 useradd 命令创建一个新用户时,默认情况下会在系统上的 /home 目录下为该用户创建一个主目录。】


2044a0ea658547b3b25f7d71f966d75b.png


我本该自动创建的tom文件夹嘞?怎么最后只有一个孤零零的 zhou的用户文件夹呢?

这就是因为我创建用户tom的时候没有使用

sudo useradd -m tom
//其中 -m 选项将指示 useradd 命令为“tom”用户同时创建一个主目录。

哪能怎么办呢?只能删除该用户重新来过喽

🍁问题四、userdel: user tom is currently used by process 3321

删除用户可以使用如下的命令

sudo userdel tom

但是,它它它又给我报错,说我进程未关闭,哎~

userdel: user tom is currently used by process 3321

c794d43bd19a4d01976e2b54ee0446ce.png

方法:出现上述情况的根本原因在于切换回zhou用户之后,tom用户还被某个进程占用。

使用ctrl+d关闭终端,或者手动关闭终端后,重新打开,然后再执行删除用户的操作就可以了


31bc4e84310b462d840f1407e87ee90c.png

然后就是使用 sudo useradd -m tom来创建tom用户了

到此就OK了,我的tom用户终于创建好了,真是一开始创建用户没加-m的锅呀。

4caa161c6c774ca6abdf3b736af69a5e.png

🍁问题五:当前用户不在 sudoers 列表中

上面我创建的tom用户无法使用sudo命令


1603c0ff14544aab85789b5ea4ded268.png

这个错误就是当前用户不在 sudoers 列表中。sudoers 是一种配置文件,用于决定哪些用户或用户组可以通过 sudo 命令获得 root

用户的临时权限来执行特权操作。如果您的用户名未列在 sudoers 文件中,则无法使用 sudo 命令执行超级用户操作,并将收到如上的错误消息的提示。

解决上面问题的方法其实很简单,就是通过一个在 sudoers 列表中的用户,比如root或我的zhou用户,使用以下命令将当前用户添加到 sudo 组中

sudo usermod -aG sudo tom
//可以将tom替换成你想要加入到sudo组的用户

58f218e1ff7b425694239979ab645ffe.png

下面我的tom用户可以使用sudo了

🍁问题六、Ubuntu不显示用户名,只显示"$“符号,回退键会变为”^H"

有没有发现当我进入到tom文件夹下显示的是下面图片所示

5e63cefa93b44e4d9e3313b4e635bfb2.png

为什么只有一个"$"号,而不是如下图所示呢?

9fd5867c66544896a3f6f236609bd2ad.png

为什么不是“tom@liunx:” ?并且使用键盘的上下箭头也无法实现历史记录的切换,

解决方法:

🔥一、切换到root用户

su - root

🔥二、切换到root帐户后,然后再用命令

vim /etc/passwd

打开在/etc目录下的passwd文件存储了所有用户帐户的信息,包括用户名、UID、GID、主目录和默认 shell 等。由于此文件包含有关系统安全性的敏感信息,因此它仅对 root 用户或具有 sudo 权限的用户可写。

但是要特别注意:

请注意,在进行任何更改之前,请确保备份原始文件,以避免意外修改文件。总结:改容易,回去难

所以,我们要备份password这个文件

在 Linux 系统中,备份 /etc/passwd 文件(或任何其他文件)是一种良好的实践,以防止在进行编辑时不小心破坏了原始文件。下面是几种备份文件的方法:

🌼复制文件:使用 cp 命令复制文件是备份文件的简单方法。例如,您可以使用以下命令将 /etc/passwd 文件复制到当前目录中:

复制代码

sudo cp /etc/passwd passwd.bak

该命令将创建一个名为 passwd.bak 的新文件,其中包含与 /etc/passwd 相同的内容。

🌼创建归档文件:使用 tar 命令创建归档文件是备份多个文件或整个目录的一种简单方法。例如,您可以使用以下命令将 /etc 目录打包成一个压缩文件:

复制代码

sudo tar -czf etc_backup.tar.gz /etc

该命令将创建一个名为 etc_backup.tar.gz 的压缩文件,其中包含 /etc 目录中的所有文件和子目录。

  1. 🌼使用版本控制系统:使用版本控制系统(如 Git 或 SVN)来管理文件更改历史记录并创建备份是一种良好的做法。这样可以轻松地跟踪文件更改,并且在需要恢复之前的版本时更加方便

无论使用哪种方法,备份文件都是非常重要的,以避免意外或错误更改破坏您的数据。

所以我们采用

sudo cp /etc/passwd passwd.bak

创建一个名为 passwd.bak 的新文件

执行完后一定要检查是否备份成功哇

使用如下命令检查是否备份成功

cat /etc/passwd
// 该命令将显示 passwd.bak 文件的内容,其中包含与 /etc/passwd 相同的用户帐户信息。

a6f919c5787e4696bcc80d828bb1c6a2.png

🔥三、找对对应的用户名 一行,将最后的 /bin/sh 修改为/bin/bash,改好后按esc,键入(:wq),保存退出

文件改前:

2c1680b65dc5431083e70c4cef1a5b41.png

文件改后:



bccd225a2d454ba7891c58b27212e85a.png

okk当你退出文件,后再次使用:

su - tom

命令进入tom用户时你就会发现已经好了

48deceeacbdf4c9281a74d527ec78308.png


ef62f669a4eb42fa9e5df20a49da2ba6.png

🍁结语:

以上当然只是一部分出现的问题辣,更多问题我的专栏【Linux问题合集】会持续更新的,欢迎各位的订阅


83f7a8e49c2e405c8b320ed41300bb4a.gif

相关文章
|
24天前
|
Linux Shell Windows
Linux如何检查文件夹的大小?
在Linux中查看文件夹大小,可使用`du`(如`du -sh *`)、`df`(如`df -h /home`)查看磁盘使用情况,`ncdu`提供交互式浏览,`ls -lh`显示当前目录文件大小,`find`与`du`结合找大文件夹,`tree --du -h`展示目录结构及大小,或用`awk`与`du`组合按大小排序。不同场景下,这些命令各有优势。
148 1
Linux如何检查文件夹的大小?
|
24天前
|
Linux
关于Linux目录访问函数总结
关于Linux目录访问函数总结
13 1
|
1月前
|
算法 Linux C++
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
【Linux系统编程】解析获取和设置文件信息与权限的Linux系统调用
29 0
|
3天前
|
Ubuntu Linux
Linux(22) Linux设置网络优先级顺序
Linux(22) Linux设置网络优先级顺序
6 0
|
14天前
|
Linux 数据安全/隐私保护
Linux设置PPPOE
请注意,以上步骤是基本的设置流程。具体步骤可能会因Linux发行版和版本的不同而有所差异,确保按照你所使用的系统来进行设置。如果使用图形界面,也可以在网络设置中配置PPPoE连接。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
22 0
|
17天前
|
安全 Unix Linux
一、linux 常用命令之 linux版本信息 系统管理与设置 持续更新******
一、linux 常用命令之 linux版本信息 系统管理与设置 持续更新******
17 0
|
23天前
|
Ubuntu Linux Apache
linux下apache2更换目录
linux下apache2更换目录
|
1月前
|
算法 Linux API
【Linux系统编程】一文了解 Linux目录的创建和删除API 创建、删除与读取
【Linux系统编程】一文了解 Linux目录的创建和删除API 创建、删除与读取
28 0
【Linux系统编程】一文了解 Linux目录的创建和删除API 创建、删除与读取
|
5天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
1天前
|
监控 Linux Windows
50个必知的Linux命令技巧,你都掌握了吗?(下)
50个必知的Linux命令技巧,你都掌握了吗?(下)