我是 Linux 新手。我想将用户 andreas(管理员帐户)的主目录移至名为 的目录中admins
。我运行了以下命令
mv /home/andreas /admins
我退出后尝试登录,但系统不允许我登录。输入密码后系统仍停留在登录界面。我该如何修复?
root@ubuntu:/home# ls -al
total 28
drwxr-xr-x 7 root root 4096 Mar 4 10:19 .
drwxr-xr-x 24 root root 4096 Mar 4 10:10 ..
drwxr-xr-x 3 root root 4096 Mar 4 10:10 andreas
drwxr-xr-x 2 root root 4096 Mar 4 08:58 employees
drwxr-xr-x 19 kostas kostas 4096 Mar 4 10:23 kostas
drwxrwxrwx 2 nicolas nicolas 4096 Feb 19 08:54 nicolas
drwxr-xr-x 2 root root 4096 Mar 4 08:56 users
root@ubuntu:/home/andreas# ls -al
total 12
drwxr-xr-x 3 root root 4096 Mar 4 10:10 .
drwxr-xr-x 7 root root 4096 Mar 4 10:19 ..
drwxr-xr-x 22 andreas andreas 4096 Mar 4 08:55 admins
root@ubuntu:/home/andreas#
root@ubuntu:/home# ls
admins andreas employees kostas nicolas users
root@ubuntu:/home/admins# ls
Desktop examples.desktop personal_info.txt sensitive_info.txt
Documents mario Pictures Templates
Downloads Music Public Videos
root@ubuntu:/home/admins#
答案1
你确实搬家了安德烈亚斯主目录到该位置/admins
,所以 andreas 无法登录。为了修复,我们将尝试创建另一个用户并使用添加到sudo
组中。recovery mode
grub menu
脚步:
shift使用键启动到 GRUB 菜单
- 在启动时按下shift键以便看到 grub 菜单,然后
Advance option
从 grub 菜单中选择recovery mode
从向您呈现的列表中选择。root option
从显示的列表中选择。然后当终端出现时按下Enter键,并在终端中输入以下内容:
A。
mount -o remount,rw /
b.
adduser new_user_name
- 输入密码,然后按下Enter键即可选择其他所有选项
C。
usermod -a new_user -G sudo
d. 输入
exit
并按Enter尝试登录。
如果你使用新用户登录,则返回andreas 的
home
使用终端目录:sudo mv /admins /home/andreas
看看
/home/andreas
它的内容应该与移动之前相同。现在注销并尝试以以下身份登录安德烈亚斯。
更新:
由于该文件夹缺少用户所需的默认文件:
a. 进入
admins
目录并将内容复制到上andreas
一级目录中:cp . -R ../
/etc/skel
将目录的内容复制到andreas
:sudo cp -r /etc/skel /home/andreas
确保这些文件存在于
/home/andreas/skel
文件夹中andreas
:.bash_logout .bashrc examples.desktop .profile
skel
更改文件夹及其内容的所有权:sudo chmod -R andreas:andreas skel
admins
从中删除文件夹andreas
:rm -rf admins
移动
skel
目录并将其内容移出到父文件夹中andreas
:cp . -r ../
现在
andreas
文件夹中应该包含以下文件:.bash_logout .bashrc examples.desktop .profile Desktop examples.desktop personal_info.txt sensitive_info.txt Documents mario Pictures Templates Downloads Music Public Videos
现在我们在两个地方检查用户是否
andreas
正常:/etc/passwd
和/etc/group
:cat /etc/passwd | grep andreas # result should like this george:x:1000:1000:george,,,:/home/george:/bin/bash cat /etc/group | grep george # result should be like this: adm:x:4:syslog,george cdrom:x:24:george sudo:x:27:george dip:x:30:george www-data:x:33:george plugdev:x:46:george lpadmin:x:108:george george:x:1000: <---------| subject of interest sambashare:x:124:george docker:x:999:george libvirtd:x:134:george
如果
andreas
在这两个地方都找不到用户,则使用sudo vipw sudo vigr
使用那里看到的格式分别将它们添加到
/etc/passwd
和文件中,并使用以下命令设置新密码:/etc/group
sudo passwd andreas
现在要确保用户
andreas
拥有/home/andreas
运行ls -al /home/andreas
并确保owner = andreas
和group = andreas
,否则运行:sudo chown -R andreas:andreas /home/andreas
andreas
现在为了安全起见,请更改密码:sudo passwd andreas
现在重新启动并使用用户登录
andreas
,如果成功,你现在可以删除先前创建new_user
的:sudo deluser new_user --delete-home