Внезапно у меня возникают проблемы с разрешением, когда я запускаю команды как root через sudo.
Я могу создавать файлы в моем домашнем каталоге, используя обычные разрешения, поэтому работает, например, что-то вроде этого:
vi /home/mike/test.txt
Но эквивалентная команда, запускаемая с использованием sudo, не работает:
sudo vi /home/mike/test.txt
"test.txt" E212: Can't open file for writing
Это всего лишь один пример, все команды, использующие sudo, не работают по причинам разрешения.
Поскольку я могу писать с использованием обычных разрешений, я предполагаю, что файловая система не является проблемой только для чтения. Это также не ограничивается записью файлов, такие команды, как "sudo visudo", также не будут работать по причинам разрешения. Мне не известно о каких-либо недавних изменениях на сервере, которые могли бы вызвать это («sudo» нормально работала для этого пользователя в течение 8 месяцев или около того). Жесткая перезагрузка не решила проблему.
Сервер: Ubuntu 8.04.2 LTS (выносливый)
Приветствуются любые идеи или помощь!
Не могли бы вы бежать
sudo -s
id
И выложить вывод? Я хочу посмотреть, действительно ли это делает вас пользователем, которого вы думаете.
Также попробуйте
sudo cat /etc/sudoers
Вывод id здесь довольно поучительный. Когда ты бежал sudo -s
, вам был присвоен UID 1, в то время как единственный UID, который ядро распознает как имеющий привилегии root, - это UID 0.
Попробуйте бежать
getent passwd | grep ':0:'
и посмотрите, есть ли у каких-либо записей этот 0 в своем первом числовом поле, UID. Какой бы учетной записью ни был настоящий суперпользователь в системе, root
это подделка. Как только вы узнаете имя, вы можете попробовать
sudo -s -u username
чтобы получить оболочку от имени этого пользователя.
Вы также должны опубликовать вывод
getent passwd root
Более серьезная проблема здесь в том, как такое условие произошло.
Предлагает ли этот аппарат какие-либо сетевые услуги? Если это так, возможно, кто-то взломал его и захватил. В этом случае вам, вероятно, следует создать резервную копию данных, выполнить чистую переустановку и проверить все, что к ней возвращается.
Если это больше личная машина, может ли быть знающий шутник, который недавно имел к ней доступ?
Изменить: ваш комментарий к другому ответу предполагает, что это сервер. Я настоятельно рекомендую отключить его как можно скорее и создать образы дисков для криминалистических целей. Если вы не сможете в короткие сроки определить благоприятную причину для этого, ваш сервер, вероятно, взломан.
Вы все еще можете стать root, используя
sudo su -
тогда делает
cd /home/mike
vi test.txt
работай?
Мне интересно, является ли каталог / home монтированием NFS. В этом случае пользователь root имеет разрешение категории «other», поскольку его разрешения на монтирование NFS такие же, как у пользователя nobody / nobody, а не пользователя root.
Это sudo
бинарный SUID root?
ls -l $(which sudo)