У меня Ubuntu 12.04.5 LTS.
В терминале я выполнил:
/etc/profile
Таким образом, возврат разрешен.
Это меня удивило, поскольку я выполнил команду sudo -s, и моя командная строка началась с root@...
. В чем причина этого?
Разрешения по умолчанию для /etc/profile:
-rw-r--r-- 1 root root 575 Okt 22 2015 /etc/profile
Это означает, что файл доступен для чтения с помощью команд, таких как
cat /etc/profile
, но не исполняемый как
[ f3], когда вы пытались (выполняли его). Поскольку бит исполняемых разрешений не задан, даже при разрешении суперпользователя это не удастся и создаст сообщение «Отказано в разрешении». Как уже упоминалось в комментариях, обычно не рекомендуется менять разрешения в /etc из-за проблем с безопасностью, поэтому, если вам действительно нужно его выполнить, используйте команду source следующим образом:
source /etc/profile
Это потому, что по умолчанию у этого файла нет установленных исполняемых битов. Даже root не может выполнить файл, который не является исполняемым для любого пользователя.
ls -l /etc/profile
-rw-r--r-- 1 root root 1722 Jan 6 20:09 /etc/profile
/etc/profile должен быть отправлен при входе в систему и устанавливает среду. Сделайте less /etc/profile, и вы увидите точно, что он устанавливает.
По умолчанию большинство обычных файлов в /etc имеют разрешения 644, которые в символических обозначениях rw-r--r-- и означает владельца файла может читать и писать на него, члены группы могут читать только файл, а другие (любой пользователь или программа) могут читать только файл.
Это потому, что по умолчанию у этого файла нет установленных исполняемых битов. Даже root не может выполнить файл, который не является исполняемым для любого пользователя.
ls -l /etc/profile
-rw-r--r-- 1 root root 1722 Jan 6 20:09 /etc/profile
/etc/profile должен быть отправлен при входе в систему и устанавливает среду. Сделайте less /etc/profile, и вы увидите точно, что он устанавливает.
По умолчанию большинство обычных файлов в /etc имеют разрешения 644, которые в символических обозначениях rw-r--r-- и означает владельца файла может читать и писать на него, члены группы могут читать только файл, а другие (любой пользователь или программа) могут читать только файл.
Это потому, что по умолчанию у этого файла нет установленных исполняемых битов. Даже root не может выполнить файл, который не является исполняемым для любого пользователя.
ls -l /etc/profile
-rw-r--r-- 1 root root 1722 Jan 6 20:09 /etc/profile
/etc/profile должен быть отправлен при входе в систему и устанавливает среду. Сделайте less /etc/profile, и вы увидите точно, что он устанавливает.
По умолчанию большинство обычных файлов в /etc имеют разрешения 644, которые в символических обозначениях rw-r--r-- и означает владельца файла может читать и писать на него, члены группы могут читать только файл, а другие (любой пользователь или программа) могут читать только файл.