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