Linux文件权限为什么都是问号? (linux 权限都是问号)
Linux 文件权限为什么都是问号?
对于 Linux 用户来说,在 shell 中使用 ls -l 命令查看文件时,可能会看到一串莫名其妙的问号,例如:
-rw-r–r– 1 user user 36 Sep 12 14:07 test.txt
我相信你也遇到过这种情况,或者很好奇为什么会出现这些问号,那么,接下来就跟着我一起探究一下这个问题吧!
一、什么是文件权限
在 Linux 系统中,每个文件和目录都有一个所有者和一组访问权限,这些权限规定了哪些用户可以访问该文件以及可以执行哪些操作。
文件的访问权限可以分为三个部分:所有者权限、组权限和其他人权限,分别用三个字符表示。其中:
r 表示可读取文件,w 表示可写入文件,x 表示可执行文件,- 表示对应权限被禁止。
例如,一个文件的权限为:-rwxr-xr–,意味着:
– 文件所有者可读、可写、可执行文件
– 文件所属组的用户可读、可执行文件
– 其他用户只可读取文件
二、为什么文件权限出现问号
当你查看一个文件或目录的权限,如果出现问号,通常有以下两种情况:
1. 文件或目录不存在
在 ls -l 命令中,问号表示某个属性未知或无法确定,当您找不到该文件或目录时会出现这种情况。 这通常是因为该文件或目录已被删除或您没有查看的权限。
例如,以下是一个不存在的文件:
ls -l /tmp/abc
ls: cannot access ‘/tmp/abc’: No such file or directory
2. 无法确定文件或目录的访问权限
如果您尝试查看一个文件或目录的权限,但没有足够的访问权限,也会出现问号。
例如,如果您尝试查看 /root 目录的权限,会发现权限中的所有字符都被替换成了问号:
ls -l /root
d????????? ? ? ? ? ? .
这种情况表示您没有足够的权限来查看该目录的详细信息。 当然,在其他用户具有访问权限的情况下,您可以使用 sudo 命令以 root 用户身份运行 ls 命令。
三、如何更改文件或目录的权限
在 Linux 中,可以使用 chmod 命令更改文件或目录的权限。chmod 命令需要使用整数或符号模式指定文件或目录的新权限。
以下是一些基本的 chmod 命令示例:
1. 使用数字模式更改权限
使用数字模式更改权限是一种最常用的方法,您可以使用不同的数字分配不同的权限,例如:
– r: 4
– w: 2
– x: 1
-rwxr-xr– 模式表示 754 权限:文件所有者具有读、写和执行权限,组成员具有读和执行权限,其他用户只能读取。
例如,如果您要更改文件的权限为 664,可以输入以下命令:
chmod 664 filename
2. 使用符号模式更改权限
符号模式更改权限是一种比数字模式更为直观的方法,例如:
u 表示文件所有者(user),g 表示文件所属组(group),o 表示其他用户(others),a 表示所有用户(all)。 r 表示读取权限,w 表示写入权限,x 表示执行权限。
-rwxr-xr– 模式可以写成以下符号模式:
– 文件所有者:rwx
– 文件所属组:rx
– 其他用户:r
例如,如果您要将文件的所有者和组的权限设置为读、写和执行,而其他用户的权限设置为只读:
chmod u=rwx,g=rwx,o=r filename
补充说明:
除了 chmod 命令之外,您还可以使用 chown 命令更改文件或目录的所有权(包括所有者和组)。 有关更多信息,请参见 chown 命令的手册页。 另外,还可以使用 umask 命令设置新文件和目录的默认权限。
结论
Linux 文件权限为什么都是问号?每当您使用 ls -l 命令查看文件的权限时,可能会遇到这种情况。 通常,这是由于文件或目录不存在或者您没有足够的权限来查看它的信息。 在这种情况下,您可以使用 chmod 命令更改文件或目录的权限。