chmod -R 777 / на Ubuntu - многочисленные проблемы

Клиент случайно предоставил всей файловой системе полные разрешения на своем Ubuntu 10.04.

chmod -R 777 httpdocs/cd /

Как вы можете видеть, они попытались перейти к корню и вместо этого дали chmod забавный параметр для игры.

Первым признаком проблемы была неспособность использовать 'su', выдавая ошибку аутентификации. Судо также жаловался на отсутствующий бит setuid. Это было исправлено путем входа в систему от имени пользователя root с самого компьютера и запуска chmod +s /usr/bin/sudo.

Теперь я могу sudo su и делай то что мне нужно как root. su по-прежнему выдает ошибку аутентификации.

Я последовал совету здесь: http://swiss.ubuntuforums.org/showthread.php?t=1180661&page=2

chmod 0755 /
chmod 0755 /*
chmod 1777 /tmp
chmod 0750 /root
chmod 0700 /lost+found

Затем я попытался сбросить пароль root. Я до сих пор не могу su стать корнем или su root,

Система работает нормально. Есть ли предложения по получению su работать еще раз? Где я могу найти больше проблем?

3 ответа

Я бы на самом деле подумал о полной переустановке системы. Даже если вам удастся получить большинство разрешений правильно, и кажется, что все работает, скорее всего, будут какие-то специальные разрешения, просто ожидающие проблемы.

В качестве альтернативы я бы сравнил разрешение со второй, возможно, только что установленной машиной. Не должно быть трудно вместе с вашим любимым языком сценариев.

Ух ты... это случилось со мной однажды тоже... к счастью, это была домашняя машина. Я решил принудительно переустановить все пакеты, чтобы все разрешения были отменены. В любом случае, это было на Debian. Я использую apt-get install --reinstall $packages в скрипте, который получил список всех пакетов. Что системный журнал или аутентификация говорят, когда вы пытаетесь su?

пирс

Может проблема в отсутствии битов SUID?

Вот файлы, которые должны иметь это:

ip@ip:~$ ls -al /bin | grep rws
-rwsr-xr-x  1 root root  27256 2010-01-28 20:32 fusermount*
-rwsr-xr-x  1 root root  78096 2009-10-23 07:28 mount*
-rwsr-xr-x  1 root root  35600 2009-05-12 00:43 ping*
-rwsr-xr-x  1 root root  31368 2009-05-12 00:43 ping6*
-rwsr-xr-x  1 root root  36864 2009-07-31 16:59 su*
-rwsr-xr-x  1 root root  56616 2009-10-23 07:28 umount*

ip@ip:~$ ls -al /usr/bin | grep rws
-rwsr-xr-x  1 root   root       14640 2009-05-12 00:43 arping*
-rwsr-sr-x  1 daemon daemon     52112 2009-09-16 01:29 at*
-rwsr-xr-x  1 root   root       41864 2009-07-31 16:59 chfn*
-rwsr-xr-x  1 root   root       37128 2009-07-31 16:59 chsh*
-rwsr-xr-x  1 root   root       59752 2009-07-31 16:59 gpasswd*
-rwsr-xr-x  1 root   lpadmin    14256 2010-03-02 17:16 lppasswd*
-rwsr-xr-x  1 root   root       62368 2008-11-05 15:24 mtr*
-rwsr-xr-x  1 root   root       32384 2009-07-31 16:59 newgrp*
-rwsr-xr-x  1 root   root       42856 2009-07-31 16:59 passwd*
-rwsr-xr-x  1 root   root       14880 2009-10-16 14:43 pkexec*
-rwsr-xr-x  2 root   root      143736 2010-04-13 20:31 sudo*
-rwsr-xr-x  2 root   root      143736 2010-04-13 20:31 sudoedit*
-rwsr-xr-x  1 root   root       18848 2009-05-12 00:43 traceroute6.iputils*
-rwsr-sr-x  1 root   root       10536 2009-11-10 12:48 X*

Попробуйте установить выполнение +SUID для всех (или хотя бы в su) через

chmod u+xs file

UPD: обратите внимание, что для /usr/bin/at и /usr/bin/X вам нужно сделать также

chmod g+xs
Другие вопросы по тегам