🍁问题一、创建用户无法成功
通常我们使用以下代码来创建用户
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”用户的帐户并进入该帐户的主目录
又报错了,真是难过,错误如下
1. 密码: 2. 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问题合集】会持续更新的,欢迎各位的订阅