/etc/profile 返回错误:权限被拒绝

/etc/profile 返回错误:权限被拒绝

我有 Ubuntu 12.04.5 LTS。

在终端我执行了:

/etc/profile

因此返回没有权限。

这让我很惊讶,因为我已经运行了sudo -s命令,并且我的命令提示符以root@...

这是什么原因呢?

答案1

默认权限/etc/profile

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

这意味着可以使用以下命令读取该文件

cat /etc/profile

但不能像

/etc/profile

正如您尝试执行的操作(执行它)。由于未设置可执行权限位,即使具有超级用户权限,此操作也会失败并创建“权限被拒绝”消息。正如评论中所述,出于/etc安全考虑,更改权限通常不是一个好主意,因此如果您确实需要执行它,请使用source以下命令:

source /etc/profile

答案2

这是因为默认情况下该文件没有设置任何可执行位。即使是 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--,表示文件所有者可以读取和写入文件,组成员只能读取文件,其他人(任何用户或程序)只能读取文件。

相关内容