/etc/hostname 没有 sudo 权限

Pag*_*gis 3 permissions command-line sudo files

当我尝试使用(或任何其他编辑器)编辑我的/etc/hostname文件时,sudo nano /etc/hostname我得到以下信息:

Error writing /etc/hostname: Permission denied
Run Code Online (Sandbox Code Playgroud)

然后我尝试:

sudo chmod u+w ./hostname
Run Code Online (Sandbox Code Playgroud)

并得到错误:

chmod: changing permissions of `./hostname': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我尝试向任何用户或组添加写入权限时遇到相同的错误。

ls显示的是:

-rw-r--r-- 1 root root 22 2012-06-18 12:25 /etc/hostname
Run Code Online (Sandbox Code Playgroud)

知道为什么以及我能做什么吗?

我运行的是 Ubuntu 11.10。

Jer*_*err 5

听起来你的/etc/hostname文件是“不可变的”,通过具有不可变的文件系统属性。您可以使用 进行检查lsattr,并且应该会看到类似这样的内容:

[jk@pecola ~]$ lsattr /etc/hostname
-------------e- /etc/hostname
Run Code Online (Sandbox Code Playgroud)

如果i那里有 ,则您的文件是不可变的。您可以通过以下方式更改此设置:

sudo chattr -i /etc/hostname
Run Code Online (Sandbox Code Playgroud)

然后您应该能够编辑它。

有关文件系统属性和可用属性的更多信息,请参阅以下内容的联机帮助页chattr

man chattr
Run Code Online (Sandbox Code Playgroud)

这篇文章也很有用。