Linux/Centos文件授权用户文件夹权限介绍

一、Linux文件权限介绍

在Linux中,一切皆为文件(目录也是文件),每个文件对用户具有可读(read)、可写(write)、可执行(excute)权限。目录的执行操作表示是否有权限进入该目录并操作执行该目录,文件都会从属于一个用户和一个用户组,每个文件针对文件的拥有者、所属组以及其他用户组具有特定权限。

1.1、查看文件权限示例

[root@hhm ssm]# ls -la
total 59596
drwxr-xr-x 2 root  root     1024 Nov 18 15:44 .
drwxrwxr-x 6 zsitd zsitd      40 Nov  6 14:39 ..
-rw-r--r-- 1 root  root      150 Jul 27 10:02 appsettings.Development.json
-rw-r--r-- 1 root  root      542 Nov  3 13:52 appsettings.json
-rw-r--r-- 1 root  root    32145 May 12  2020 dotnet-aspnet-codegenerator-design.dll
-rw-r--r-- 1 root  root       21 Nov  6 14:27 host.json
-rw-r--r-- 1 root  root    25674 Jun 17 22:02 Microsoft.AspNetCore.Authentication.JwtBearer.dll

权限说明:

可以看到文件的权限,-rw-rw-r-- ,一共有10位数.。

  • 最前面那个 - 代表的是类型(-代表文件,d代表目录,l代表连接)
  • 中间那三个 rw- 代表的是所有者(user)
  • 然后那三个 rw- 代表的是组群(group)
  • 最后那三个 r-- 代表的是其他人(other)

权限部分:

r 表示文件可以被读(read) ,用数字表示为:4
w 表示文件可以被写(write) ,用数字表示为:2
x 表示文件可以被执行(如果它是程序的话) ,用数字表示为:1
-表示相应的权限还没有被授予,用数字表示为0,
权限的不同组合,如rwx用数字表示则为7,r-x用数字表示则为5,以此类推。那么一个文件的权限(所有者、所属组及其他)就可能是如下的情况:

  • -rw------- (600) 只有所有者才有读和写的权限
  • -rw-r–r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
  • -rwx------ (700) 只有所有者才有读,写,执行的权限
  • -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
  • -rwx–x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
  • -rw-rw-rw- (666) 每个人都有读写的权限
  • -rwxrwxrwx (777) 每个人都有读写和执行的权限

图解:

需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。

二、补充

特殊权限SUID、SGID、Sticky

在 linux 系统中还有三种与用户身份无关的三个文件权限属性。即SUID、SGID和Sticky。
SUID(Set User ID, 4):
该属性只对有执行权限的文件有效,对目录无效。执行具有SUID权限的程序时,引发的进程的所有者是程序文件的所有者,而不是启动程序的用户(除非二者是同一个人)。比如,如果一个程序的所有者是root且具有SUID属性,一个普通用户执行此程序时,如同root执行此程序一样。(请注意该属性对Shell脚本程序无效)该属性为一些特殊程序(如lpr)的启动带来了方便。但有时也带来了安全隐患:比如一个具有SUID属性的程序如果在执行时运行了一个shell,那么用户可以籍此得到系统的最高权限。SUID可用s表示,如:

$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 47032 Feb 16  2014 /usr/bin/passwd

SGID(Set Group ID, 4):
对于可执行文件,SGID与SUID类似,引发的进程的所有组是程序文件所属的组。对于目录,SGID属性会使目录中新建文件的所属组与该目录相同。SGID也可以用 s 表示,如:

$ ls -l /var
drwxrw s r-x  2 root staff    4096 Apr 10  2014 local
drwxrwxr-x 15 root syslog   4096 Apr  4 19:57 log

 

Sticky, 1:
仅对目录有效。带sticky属性的目录下的文件或目录可以被其拥有者删除或改名。常利用sticky属性创建这样的目录:组用户可以在此目录中创建新文件、修改文件内容,但只有文件所有者才能对自己的文件进行删除或改名。如系统中的/tmp文件夹。在属性字符串中,通常用 t 表示。

$ ls -l /
drwxrwxrw t    8 root root  4096 Apr  4 23:57 tmp

三、修改文件及文件夹对应用户权限操作

如果你有一个自己的文件不想被其他用户读、写、执行,那么就需要对文件的权限做修改。

3.1、加减赋值操作

u 代表所有者(user)

g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)

a 代表全部的人,也就是包括u,g和o

+ 和 - 分别表示增加和去掉相应的权限。+号一般不显示(初学练手时我还是会加上)

在终端输入:
chmod o+w xxx.xxx
chmod o w xxx.xxx         表示给其他人授予xxx.xxx这个文件的权限

chmod go-rw xxx.xxx      表示删除xxx.xxx中组群和其他人的读和写的权限
chmod ug-r xxx.xxx

 

posted @ 2023-10-23 12:57  阿尔法哲  阅读(3216)  评论(0编辑  收藏  举报