意外移动并修复了 /bin/ 目录,但现在无法 su

意外移动并修复了 /bin/ 目录,但现在无法 su

我不小心将/bin目录移至/usr/bin/bin,无论如何,我设法将其移回原来的位置

# /usr/bin/bin/mkdir /bin
# /usr/bin/bin/mv /usr/bin/bin /

然后我能够以 root 身份登录,但我无法su从我的用户登录,它给了我一个身份验证错误。我以 root 身份运行chmod +s /bin/suchmod u+s /bin/su它修复了它。

我注意到的另一件事是我也不能ping;它给了我这个错误:

$ ping 192.168.1.1
ping: icmp open socket: Operation not permitted

这是我的 ping 文件:

-rwxr-xr-x 1 root root 44K Jun 30 20:38 /bin/ping

我想我搞乱了文件夹中的所有权限和 SGID /bin。有没有什么办法解决这一问题? (除了格式化)

仅供记录,我使用的是 64 位 Debian 8。

答案1

我会将基本系统引导到另一个目录。

debootstrap --variant=minbase --arch=amd64 jessie /tmp/bootstrap http://ftp.us.debian.org/debian/

然后将所有文件从 /tmp/bootstrap/bin 复制到 /bin 并保留权限。

cp -a /tmp/bootstrap/bin/* /bin/

现在 /bin 中的许多文件(和基本文件)应该没问题,并且您应该能够使用时间戳查看哪些文件没有被触及(旧文件可能具有错误的权限)。

其余的你可以使用

apt-get install --reinstall PACKAGE

将权限设置回来。

您可以使用以下命令找到文件中的包

dpkg -S /path/to/file

这甚至是可编写脚本的...

祝你好运!

相关内容