2014-02-06 9 views
2

Я пытаюсь исправить некоторые проблемы с разрешениями на сервере Debian. Кто-то из моей команды менял разрешения, и где-то в этом процессе все пришло в упадок. Всякий раз, когда я Судо сейчас, я получаю эту ошибку сообщение/предупреждение:Сообщение об ошибке Sudo

sudo: /var/lib/sudo writable by non-owner (040720), should be mode 0700 

Я запутался числом в скобках. Что это значит? Кроме того, какая команда, вероятно, запускалась для установки таких разрешений? Как эти разрешения должны быть установлены?

В /var/lib/sudo разрешения являются:

drwx-w---- 5 root  sudo 4096 Feb 4 02:36 sudo 

Что я понимаю, означает: Этот каталог не читается исполняемый файл записи с помощью корня, и запись группы SUDO, и никаких привилегий для остальных пользователей. Это верно?

ответ

3

Последние три цифры режима разрешений является для владельца, группы и других пользователей, соответственно, и сумма из следующих значений:

4 для чтения (г)

2 для записи (ш)

1 предназначен для выполнения (х)

Таким образом, если/вар/Библиотека/Subo это *** 720, это означает, что:

  • разрешений Владелец = 7 = 4 + 2 + 1 = Чтение + запись + исполнение
  • разрешений Группа = 2 =
  • написать
  • Другие разрешения = 0 = нет разрешений.

Так что да, вы правильно интерпретируете эту линию вывода.

режим файла изменяется с chmod команды

chmod MODE FILE 

Теперь, самое интересное заключается в том, что вы можете указать РЕЖИМА как восьмеричное число или как читаемый строка более человек (читайте ниже).Чтобы исправить предупреждение, вы должны были chmod 700 /var/lib/sudo, или, скорее всего, sudo chmod 700 /var/lib/sudo.

Более машиночитаемой форме нужно немного больше объяснений, хотя:

  1. Использование u, g или o для указания пользователя, группы или другие
  2. Использование + или - предоставить или отменить разрешения
  3. Используйте r, w или x для чтения, записи или выполнения.

Так вот, что бы chmod g-w /var/lib/sudo, который, в псевдо-английски, читает как режим изменения : для группы, отменить запись, из/вар/Lib/Судо.

4

Значение 040720 представляет собой восьмеричное представление 16-разрядного значения, хранящего разрешения и информацию о типе файла в inode (элемент st_modestruct stat). 4 наименее значимые (восьмеричные) цифры представляют разрешения, а другие - тип файла. По умозаключению 040 означает «каталог». Разрешения 0720 читаются, записываются, выполняются для пользователя (владельца), записываются для группы (на что жалуются), а для других нет доступа. Ведущий 0 из 0720 означает, что setuid, setgid и липкие биты равны нулю.

Вы можете исправить отчеты об ошибках, выполнив следующую команду:

sudo chmod 700 /var/lib/sudo 

Вы можете сделать это рекурсивно (chmod -R), но быть осторожным о том, файлы данных, исполняемый файл, который не должен быть. Возможно, вам придется исправить владельца; каталог правильно принадлежит root, но вам может понадобиться исправить владельца ниже каталога. Для этого, вы можете использовать это, чтобы установить оба пользователя (root) и группу (sudo):

sudo chown -R root:sudo /var/lib/sudo 
Смежные вопросы