首页 > 编程知识 正文

linux查找文件命令,linux查看目录权限

时间:2023-05-06 01:54:30 阅读:42598 作者:1281

Linux系统上的不同文件具有不同的权限。 这既是为了文件存储时的安全性,也是为了使Linux各模块之间的访问和调度更加顺畅。 本文介绍了Linux系统的文件权限和访问模式。

权限

所有者权限u :文件所有者可以执行的操作

组权限g :文件所属用户组可以执行的操作

外部权限o:(其他权限) :其他用户可以执行的操作。

文件查看权限

可以使用ls -l命令查看有关文件访问权限的信息。

$ls -l /home/amrood

- rwxr-xr----1amroodusers 1024 nov 200:10 my file

rwxr-xr----1amroodusers 1024 nov 200336010 mydir

第一列包含文件或目录的权限。

第一列中的字符可以分为三组。 每个组有三个,分别代表不同的权限。 读取(r )、写入(w )、执行) x )。

第一个字符集(2-4)表示文件所有者的权限,- rwxr-xr---- -表示所有者具有读取(r )、写入(w )、执行(x )的权限。

第二个组中的字符(5-7)表示文件所属用户组的权限,-rwxr-xr--表示该组具有读取(r )和执行(x )权限,但没有写入权限

第三组中的字符(8-10 )表示所有其他用户的权限,而rwxr-xr--表示其他用户只能读取(r )文件。

文件访问模式

文件权限是Linux系统的第一条安全线,基本权限是读(r )、写(w )、执行(x )。

读取(用户可以读取文件信息并查看文件的内容。

写入w :用户可以编辑文件、将内容写入文件、删除文件内容。

执行x :用户可以将文件作为程序运行。

目录访问模式

目录的访问模式与文件类似,但略有不同。

r :用户可以查看目录中的文件

写入w :用户可以从当前目录中删除文件或创建文件

运行)授予用户遍历目录的权限,如运行cd和ls命令。

改变权限

可以使用chmod (更改模式)命令更改对文件或目录的访问权限。 权限可以用符号或数字表示。

使用符号表示权限

对初学者来说,最简单的做法是使用符号更改文件或目录的权限。 () ),删除) -允许添加权限或指定特定权限。

符号说明

向文件或目录添加权限

删除文件或目录的权限

=设定指定的权限

下面的示例更改testfile文件的权限:

$ ls-l测试文件

- rwxrwxr----1amroodusers 1024 nov 200:10测试文件

$chmod o wx testfile

$ ls-l测试文件

- rwxrwxrwx1amroodusers 1024 nov 200:10测试文件

$ chmod u-x测试文件

$ ls-l测试文件

- rw-rwx rwx1amroodusers 1024 nov 200336010测试文件

$chmod g=rx testfile

$ ls-l测试文件

- rw-r-xrwx1amroodusers 1024 nov 200336010测试文件

也可以同时使用多个符号。

$chmod o wx,u-x,g=rx测试文件

$ ls-l测试文件

- rw-r-xrwx1amroodusers 1024 nov 200336010测试文件

用数字表示权限

除了符号外,还可以使用八进制数指定特定权限,如下表所示。

数字说明权限

0没有任何权限-----

1执行权限--x

2写入权限-w-

3执行权限和写入权限:1(执行)2(写入)=3 -wx

4读取权限r--

5读取和执行权限:4(读取)1(执行)=5 r-x

6读和写权限:4(读2 )写)=6 rw-

7所有权限:4(读取)2(写入)1(执行)=7 rwx

以下示例首先使用ls -1命令显示testfile文件的权限,然后使用chmod命令更改权限:

$ ls-l测试文件

- rwxrwxr----1amroodusers 1024 nov 200:10测试文件

$ chmod 755测试文件

p>$ls -l testfile

-rwxr-xr-x 1 amrood users 1024 Nov 2 00:10 testfile

$chmod 743 testfile

$ls -l testfile

-rwxr---wx 1 amrood users 1024 Nov 2 00:10 testfile

$chmod 043 testfile

$ls -l testfile

----r---wx 1 amrood users 1024 Nov 2 00:10 testfile

更改所有者和用户组

在Linux中,每添加一个新用户,就会为它分配一个用户ID和群组ID,上面提到的文件权限也是基于用户和群组来分配的。

有两个命令可以改变文件的所有者或群组:

chown:chown 命令是“change owner”的缩写,用来改变文件的所有者。

chgrp:chgrp 命令是“change group”的缩写,用来改变文件所在的群组。

chown 命令用来更改文件所有者,其语法如下:

$ chown user filelist

user 可以是用户名或用户ID,例如

$ chown amrood testfile

$

将 testfile 文件的所有者改为 amrood。

注意:超级用户 root 可以不受限制的更改文件的所有者和用户组,但是普通用户只能更改所有者是自己的文件或目录。

chgrp 命令用来改变文件所属群组,其语法为:

$ chgrp group filelist

group可以是群组名或群组ID,例如

$ chgrp special testfile

$

将文件 testfile 的群组改为 special。

SUID和SGID位

在Linux中,一些程序需要特殊权限才能完成用户指定的操作。

例如,用户的密码保存在 /etc/shadow 文件中,出于安全考虑,一般用户没有读取和写入的权限。但是当我们使用 passwd 命令来更改密码时,需要对 /etc/shadow 文件有写入权限。这就意味着,passwd 程序必须要给我们一些特殊权限,才可以向 /etc/shadow 文件写入内容。

Linux 通过给程序设置SUID(Set User ID)和SGID(Set Group ID)位来赋予普通用户特殊权限。当我们运行一个带有SUID位的程序时,就会继承该程序所有者的权限;如果程序不带SUID位,则会根据程序使用者的权限来运行。

SGID也是一样。一般情况下程序会根据你的组权限来运行,但是给程序设置SGID后,就会根据程序所在组的组权限运行。

如果程序设置了SUID位,就会在表示文件所有者可执行权限的位置上出现‘s’字母;同样,如果设置了SGID,就会在表示文件群组可执行权限的位置上出现‘s’字母。如下所示:

$ ls -l /usr/俭朴的信封/passwd

-r-sr-xr-x 1 root 俭朴的信封 19031 Feb 7 13:47 /usr/俭朴的信封/passwd*

$

上面第一列第四个字符不是‘x’或‘-’,而是‘s’,说明 /usr/俭朴的信封/passwd 文件设置了SUID位,这时普通用户会以root用户的权限来执行passwd程序。

注意:小写字母‘s’说明文件所有者有执行权限(x),大写字母‘S’说明程序所有者没有执行权限(x)。

如果在表示群组权限的位置上出现SGID位,那么也仅有三类用户可以删除该目录下的文件:目录所有者、文件所有者、超级用户 root。

为一个目录设置SUID和SGID位可以使用下面的命令:

$ chmod ug+s dirname

$ ls -l

drwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname

$

以上就是Linux系统文件权限和访问模式的解析了,只要充分了解了Linux系统文件权限才能了解Linux文件之间的访问模式。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。