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

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

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

2023-05-19 06:23| 来源: 网络整理| 查看: 265

🍁前言 

👑作者主页:CSDN丨博客园

🏆学习交流:在下周周ovoの社区   

💎系列专栏:  Linux问题合集

文章目录

🍁前言 

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

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

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

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

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

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

🍁结语:

前提:我当前的Ubuntu用户名称是“zhou”,我想创建一个名叫"tom"的用户,【写这段话方便各位看我接下来的内容】但是出现各种各样的问题,这篇博客也当做一个记录,各位遇到相同的问题时可以使用我的解决方法来解决

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

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

useradd tom

但是出现如下问题:

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

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

sudo useradd tom

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

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

sudo useradd -m tom

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

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

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

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

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

我tom用户创建好后

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

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

但是当我使用如下命令

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

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

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

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

 我本该自动创建的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

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

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

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

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

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

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

这个错误就是当前用户不在 sudoers 列表中。sudoers 是一种配置文件,用于决定哪些用户或用户组可以通过 sudo 命令获得 root 用户的临时权限来执行特权操作。如果您的用户名未列在 sudoers 文件中,则无法使用 sudo 命令执行超级用户操作,并将收到如上的错误消息的提示。

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

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

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

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

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

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

为什么不是“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 目录中的所有文件和子目录。

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

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

所以我们采用

sudo cp /etc/passwd passwd.bak

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

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

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

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

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

文件改前:

文件改后:

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

su - tom

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

 

🍁结语:

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

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3