Я думал, что запуск команды с sudo
был идентичен входу в систему как пользователь root и выполнению команды. Однако я нашел несколько команд, которые не работают с sudo
но работаю для su
.
Например,
sudo > mail.log
bash: mail.log: Permission denied
но на самом деле печатаю su
и выполнение той же команды работает.
Почему это?
Посмотрите, что вы делаете с этой командой.
sudo > mail.log
>
в командной строке перед перенаправлением stdout попытайтесь усечь mail.log
файл. Эта операция выполняется обычным пользователем (до вашего sudo
без аргументов начинается). Вероятно, у обычного пользователя нет доступа на запись в mail.log
файл.
Все работает как надо.
Если вам нужно sudo для выполнения команды и записи ее в тип файла, используйте следующую команду:
sudo "some_command with operands > mail.log"