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