/и т. д. ошибка/возвращает профиль: отказано [закрыт]

У меня Ubuntu 12.04.5 LTS.

В терминале я выполнил:

/etc/profile

Таким образом, возврат разрешен.

Это меня удивило, поскольку я выполнил команду sudo -s, и моя командная строка началась с root@...

. В чем причина этого?

0
задан 25 January 2018 в 02:03

4 ответа

Разрешения по умолчанию для /etc/profile:

-rw-r--r-- 1 root root 575 Okt 22  2015 /etc/profile

Это означает, что файл доступен для чтения с помощью команд, таких как

cat /etc/profile

, но не исполняемый как

[ f3]

, когда вы пытались (выполняли его). Поскольку бит исполняемых разрешений не задан, даже при разрешении суперпользователя это не удастся и создаст сообщение «Отказано в разрешении». Как уже упоминалось в комментариях, обычно не рекомендуется менять разрешения в /etc из-за проблем с безопасностью, поэтому, если вам действительно нужно его выполнить, используйте команду source следующим образом:

source /etc/profile
4
ответ дан 22 May 2018 в 15:19
  • 1
    Согласитесь с @guntbert, и вы должны объяснить в своем ответе, что нет причин для выполнения /etc/profile с помощью команды /etc/profile. Предположительно OP хотел прочитать файл, но если они захотели выполнить файл в текущей оболочке (что разумно, так как это файл конфигурации для оболочек), это будет сделано с помощью source, и разрешения не будут проблемой - вам разрешено читать source файлы, которые вы можете прочитать, и которые выполняются в текущей оболочке. source является довольно опасной командой - убедитесь, что вы знаете, что находится в файле, прежде чем вы его исправите! – Zanna 25 January 2018 в 02:00

Это потому, что по умолчанию у этого файла нет установленных исполняемых битов. Даже 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-- и означает владельца файла может читать и писать на него, члены группы могут читать только файл, а другие (любой пользователь или программа) могут читать только файл.

4
ответ дан 23 July 2018 в 22:57

Это потому, что по умолчанию у этого файла нет установленных исполняемых битов. Даже 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-- и означает владельца файла может читать и писать на него, члены группы могут читать только файл, а другие (любой пользователь или программа) могут читать только файл.

5
ответ дан 22 May 2018 в 15:19

Это потому, что по умолчанию у этого файла нет установленных исполняемых битов. Даже 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-- и означает владельца файла может читать и писать на него, члены группы могут читать только файл, а другие (любой пользователь или программа) могут читать только файл.

5
ответ дан 17 July 2018 в 22:19

Другие вопросы по тегам:

Похожие вопросы: