Назад | Перейти на главную страницу

В разрешении отказано для пользователя с привилегиями Sudo

Внезапно у меня возникают проблемы с разрешением, когда я запускаю команды как 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)
  • является ли / home или / home / mike тем же разделом, что и монтирование "/"?
  • не могли бы вы также опубликовать вывод из lsattr /home/mike/test.txt команда?