无法登录我的 Linux 机器

无法登录我的 Linux 机器

我是 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 modegrub menu

脚步:

  1. shift使用键启动到 GRUB 菜单

    • 在启动时按下shift键以便看到 grub 菜单,然后
  2. Advance option从 grub 菜单中选择

  3. recovery mode从向您呈现的列表中选择。

  4. root option从显示的列表中选择。

  5. 然后当终端出现时按下Enter键,并在终端中输入以下内容:

    A。mount -o remount,rw /

    b.adduser new_user_name

    • 输入密码,然后按下Enter键即可选择其他所有选项

    C。usermod -a new_user -G sudo

    d. 输入exit并按Enter

  6. 尝试登录。

  7. 如果你使用新用户登录,则返回andreas 的 home使用终端目录:

    sudo mv /admins /home/andreas
    
  8. 看看/home/andreas它的内容应该与移动之前相同。现在注销并尝试以以下身份登录安德烈亚斯

更新:

  1. 由于该文件夹缺少用户所需的默认文件:

    a. 进入admins目录并将内容复制到上andreas一级目录中:cp . -R ../

  2. /etc/skel将目录的内容复制到andreas

    sudo cp -r /etc/skel /home/andreas 
    
  3. 确保这些文件存在于/home/andreas/skel文件夹中andreas

    .bash_logout
    .bashrc
    examples.desktop
    .profile
    
  4. skel更改文件夹及其内容的所有权:

    sudo chmod -R andreas:andreas skel
    
  5. admins从中删除文件夹andreasrm -rf admins

  6. 移动skel目录并将其内容移出到父文件夹中andreas

    cp . -r ../
    
  7. 现在andreas文件夹中应该包含以下文件:

    .bash_logout  .bashrc   examples.desktop   .profile
    Desktop    examples.desktop  personal_info.txt  sensitive_info.txt
    Documents  mario             Pictures           Templates
    Downloads  Music             Public             Videos
    
  8. 现在我们在两个地方检查用户是否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
    
  9. 如果andreas在这两个地方都找不到用户,则使用

    sudo vipw 
    sudo vigr
    

    使用那里看到的格式分别将它们添加到/etc/passwd和文件中,并使用以下命令设置新密码:/etc/group

    sudo passwd andreas
    
  10. 现在要确保用户andreas拥有/home/andreas运行ls -al /home/andreas并确保owner = andreasgroup = andreas,否则运行:

    sudo chown -R andreas:andreas /home/andreas
    
  11. andreas现在为了安全起见,请更改密码:

    sudo passwd andreas
    
  12. 现在重新启动并使用用户登录andreas,如果成功,你现在可以删除先前创建new_user的:sudo deluser new_user --delete-home

相关内容