我使用创建了一个文件
sudo vim filename
但创建后无法修改。
我怎样才能修改这个文件?
答案1
通过执行此命令
sudo vim filename
您创建了新文件,其所有者是 root 用户。您可以通过执行 来确认这一点ls -al
。从输出中您可以看到该文件的所有者和所属组都设置为 root。
如果您尝试使用普通用户编辑它,您将无法编辑,因为该文件不属于您的用户。由于权限问题,您再次可以读取文件但不能写入。您可以使用命令从命令行检查它们ls -al
。它应该是这样的:
-rw-r--r-- 1 root root 4 Apr 9 07:40 filename
第一部分-rw-r--r--
表示只有所有者可以读写文件,同一组的用户和其他用户只能读取该文件。
下面是一张很好的描述权限含义的图表:
如果您希望能够编辑该文件,则必须以 root 用户身份进行编辑 - 这几乎始终是最好的方法:
sudo vim filename
如果您希望以普通用户身份编辑它,您可以为其分配额外的权限,(但您不应该对主目录之外的系统文件执行此操作 -sudo
而是使用 来编辑它们):
sudo chmod 777 filename
这样,每个用户都可以读取、写入和执行该文件。但这绝不是一个好主意。
仅授予所有其他用户写权限:
sudo chmod o+w filename
否则,如果您希望该文件只有您可以写入,您可以将所有者更改为您自己:
sudo chown yourusername:root filename