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 命令更改文件或目录的权限。


数据运维技术 » Linux文件权限为什么都是问号? (linux 权限都是问号)