Клиент случайно предоставил всей файловой системе полные права доступа к своему серверу ubuntu 10.04.
chmod -R 777 httpdocs/cd /
Как вы можете видеть, они попытались подключиться к корню, а вместо этого дали chmod забавный параметр, с которым можно поиграть.
Первым признаком проблемы была невозможность использовать su, что приводило к ошибке аутентификации. sudo также жаловался на отсутствующий бит 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
стать root, или su root
.
Система работает нормально. Есть ли предложения по получению su
работать еще раз? Где я могу найти другие проблемы?
Я бы действительно подумал о полной переустановке системы. Даже если вам удастся правильно получить большинство разрешений и что все работает, скорее всего, будут какие-то особые разрешения, которые просто ждут, чтобы вызвать проблемы.
В качестве альтернативы я бы сравнил разрешение со второй, возможно, недавно установленной машиной. Не должно быть слишком сложно с вашим любимым языком сценариев.
Вау ... со мной такое тоже однажды случилось ... к счастью, это была домашняя машина. Я решил принудительно переустановить все пакеты, так что все разрешения были возвращены. В любом случае это было на Debian. Я использую apt-get install --reinstall $ packages в скрипте, который получил список всех пакетов. Что говорят системный журнал или auth при попытке 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