В Ubuntu, в каких ситуациях, если таковые имеются, выполнение команды как не-root
для доступа к файлу / папке или создания / удаления файла / папки с помощью sudo
может привести к «отказу в доступе» во время выполнения той же команды, что и root
, у пользователя получится? Конечно, предполагается, что пользователь sudoer.
Практический пример для Ubuntu 12: у меня есть этот каталог в /
с правами владения root:root
и drwxr-xr-x
, и я пробовал sudo date > file
в то же время, что и в нем, sudo date | tee file
, но получил то же самое
-bash: file: Permission denied
в обоих случаях. Конечно же, нет проблем, если я root
. Это очень расстраивает.
Какую команду вы пытаетесь? Распространенной ошибкой является sudo foo > output
, которая не запускает перенаправление вывода от имени пользователя root, поскольку это выполняется оболочкой. Решение этой проблемы было бы foo | sudo tee output
(или sudo foo | sudo tee output
, если foo
требуется root-доступ)
sudo
позволяет запускать программу от имени другого пользователя - от имени пользователя root по умолчанию.
Это так же, как если бы root запускал эту программу (за исключением, может быть, некоторых переменных окружения и тому подобного). Так что нет такой ситуации.