3

Я использую Linux Mint. Я создал учетную запись администратора под названием «Томас».

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

Я добавил своего пользователя в группу sudo (он уже был в группе admin). В sudoers эти группы имеют все разрешения. Однако это не сработало, поэтому я добавил запись специально для моего имени пользователя, чтобы дать ему все разрешения. Опять же, это не сработало.

Таким образом, в данный момент я могу войти в систему как root или поставить sudo перед каждой командой, чтобы все заработало, но это не идеально и не помогает, когда, например, я открываю документ для редактирования в Gedit в GUI.

Кто-нибудь может посоветовать, почему мои изменения разрешений не работают?

4 ответа4

1

Это из моих знаний о настольных компьютерах в Red Hat:

В терминале выполните su затем visudo затем прокрутите вниз и найдите:

root    ALL=(ALL)       ALL

Нажмите i, чтобы перейти в режим вставки. Скопируйте / вставьте вышеуказанную строку и замените root своим именем пользователя, оставьте все остальное как есть.

1

Вы имеете в виду, что вы не можете редактировать файлы в /home/thomas без sudo? В этом случае измените владельца / разрешение файлов с помощью chown и chmod соответственно.

Для редактирования файлов в другом месте файловой системы обычно требуются права администратора.

1

Попробуйте создать резервную копию файла /etc/sudoers (su -c 'mv /etc/sudoers /etc/sudoers.bkup'), затем удалите и переустановите sudo (su -c 'apt-get remove sudo && apt-get install sudo')

Когда su -c запрашивает пароль, он запрашивает пароль root.

Хотя я не рекомендую делать это, это может быть возможно, если вы измените uid для thomas на 0. Это должно быть возможно с помощью sudo vim /etc/passwd (используйте любой используемый вами редактор файлов).

1

Исправить разрешения в пользовательском томасе: (как предложил Тор)

find /home/thomas -type f -exec sudo chown thomas:thomas {} \;
find /home/thomas -type d -exec sudo chown thomas:thomas {} \;

find /home/thomas -type f -exec sudo chmod 640 {} \;
find /home/thomas -type d -exec sudo chmod 750 {} \;

Важный:

Файлы, не находящиеся в /home/thomas , не будут иметь прав на редактирование без sudo.

Это нормально! Это важно для поддержания безопасной работы системы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .