Я управляю арендованной выделенной машиной CentOS 5.6 как root
как и первоначальная установка, но я знаю, что это крайне плохая практика, поэтому я создал пользователя с именем administrator
, размещены в группах administrator wheel sshd
и добавил
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
через visudo
. Все работает как sudoing или SSHing, но $PATH
слишком сильно отличается для обоих, в результате чего некоторые команды, такие как visudo
"не существует" (для administrator
) и я не знаю, что мне нужно редактировать administrator
в.
$PATH
для root
: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
$PATH
для administrator
: /usr/local/bin:/bin:/usr/bin:/home/administrator/bin
В Debian Squeeze упомянутыми являются
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
и
/usr/local/bin:/usr/bin:/bin:/usr/local/games
но последний Пользователь был добавлен во время установки, поэтому как мне редактировать administrator
на CentOS?
TL; DR: не используйте пользователей без полномочий root для рутинга.
«Плохая практика» - это не использование учетной записи root. Хорошей практикой является выполнение системного администрирования от имени пользователя root и обычное использование от имени обычного пользователя. Таким образом, у вашего обычного пользователя никогда не будет достаточно прав для выполнения работы системного администрирования (возможно, учетная запись будет скомпрометирована, или вы случайно напишете несанкционированный сценарий).
sudo
и su
- это оба способа предоставить себе root-доступ, когда он вам нужен: для выполнения администрирования.
Вам следует не измените путь локального пользователя, чтобы включить системные двоичные файлы. Они находятся на корневом пути по какой-то причине: только root должен запускать их (кроме ifconfig
, и это в основном исправлено в настоящее время). Если administrator
Пользователь действительно предназначен только для администрирования, удалите его. Нет смысла использовать фальшивую учетную запись root, если у вас есть настоящая.
Вероятно, у вас возникли проблемы, потому что по умолчанию ваша текущая среда сохраняется с su
. Ты должен бежать su
так как su -
, сообщая ему повторно инициализировать вашу среду как нового пользователя (в данном случае root).
Для sudo
, ваш PATH
уже должен быть правильно сброшен. Пытаться sudo env | grep PATH
; Тебе следует увидеть /usr/sbin
и все его друзья уже там.
Если вы этого не сделаете, у вас должен быть какой-то элемент пользовательского sudoers
config: проверьте env_file
, secure_path
, или env_keep
. Другая возможность заключается в том, что sudo запускается не так, как вы думали: проверьте свои псевдонимы alias
чтобы увидеть, указан ли PATH в командной строке по какой-то безумной причине.
Почему бы тебе просто не изменить administrator
путь должен совпадать с путем root
х?
Цитировать /etc/profile
# Настроить PATH в зависимости от того, root мы или обычный пользователь.
# Нет реальной причины исключать пути sbin от обычного пользователя,
# но это может упростить завершение табуляции, когда они не в
# пользовательский PATH, чтобы загрязнить пространство имен исполняемого файла.
Обычно я просто добавляю свою обычную учетную запись в группу wheel, и всякий раз, когда мне нужно выполнить задачи root, я вс -