Как мне отредактировать файл как root?

13

Есть ли какие-то особые соображения по поводу редактирования файла как root? Какой самый безопасный способ сделать это?

strugee
источник

Ответы:

14

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

sudoedit(или его синоним sudo -e) - это режим sudo, в котором вы редактируете временную копию файла в своем любимом редакторе, и эта копия перемещается на место после завершения редактирования.

sudoedit /etc/fstab

Примечание: есть несколько файлов, которые вы не должны редактировать напрямую.

Никогда не редактируйте /etc/sudoersнапрямую. Всегда используйте visudoкоманду для этого. Если вы допустите ошибку в синтаксисе файла sudoers, вы можете быть заблокированы из учетной записи root! При запуске visudoон позволяет редактировать временную копию файла и выполняет проверку синтаксиса перед заменой действительного файла вашими правками.

Тот же принцип применяется к пользователю, группе, пароль пользователя, а также базы данных группы паролей, /etc/passwd, /etc/group, /etc/shadow, и /etc/gshadow, соответственно. В системах , где они доступны, используйте vipw, vigrкоманды для /etc/passwdи /etc/group. Чтобы редактировать базы паролей, передайте опцию -s. Например, для редактирования /etc/gshadowиспользуйте vigr -s.

стружка
источник
Этот вопрос и ответ были выделены с незначительными правками из раздела канонического вопроса « как стать корнем ». Вся заслуга создателей этого оригинального ответа.
Чепанг
@ Чепанг, что только что произошло?
Strugee
2
Мета-информация, как принадлежит принадлежит разделу комментариев.
Чепанг
1
И вам не следует редактировать файлы crontab напрямую, а использовать crontab -e(так как это также может делать проверку синтаксиса).
Восстановите Монику - М. Шредер
0

Всегда сохраняйте резервную копию файла, который вы редактируете. Некоторые люди любят ставить отметку времени после этого. Это гарантирует, что вы всегда можете вернуться (ну, мы надеемся), если система сломается в результате изменения. В дополнение к команде, указанной Strugee, большинство настроек позволит вам запускать ваши обычные редакторы (vi, vim, nano, emacs). Просто знайте, доступен ли файл только для чтения или нет.

Люк
источник
1
Вот почему у нас есть такие программы, как rcsи etckeeper.
Восстановите Монику - М. Шредер
«большинство настроек позволит вам запускать ваши обычные редакторы» - да, конечно. но обратите внимание на второе предложение в моем ответе - прямой запуск редактора - не самый безопасный способ сделать это. Там практически нет недостатков sudoedit.
Струджи