linux权限管理

2022/1/23 7:05:59

本文主要是介绍linux权限管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Linux的权限管理

一、权限概述

1、权限的基本概念

在多用户计算机系统的管理中,权限是指某个特定的用户具有特定的系统资源使用权利。

在Linux 中分别有读、写、执行权限:

权限针对文件权限针对目录
读r表示可以查看文件内容表示可以(ls)查看目录中存在的文件名称
写w表示可以更改文件的内容表示是否可以删除目录中的子文件或者新建子目录(rm/touch/mkdir)
执行x表示是否可以开启文件当中记录的程序,一般指二进制文件表示是否可以进入目录中(cd)

2、Linux用户身份类别

Linux 系统一般将文件权限分为3 类:读、写和执行。

而linux系统文件的用户也分为3类:文件拥有者、文件所属组内用户和其他用户。

☆user文件拥有者

默认情况下,谁创建了文件谁就是文件的拥有者。

☆group文件所属组内用户

在文件所属组(默认是创建文件的用户的主组)里的用户。

☆other其他用户

other其他用户代表这些人既不是文件的拥有者,也不是文件所属组内的用户,这些用户就称之为other其他用户。

☆特殊用户root

在Linux操作系统中,root拥有最高权限(针对所有文件),所以权限设置对root账号没有效果。

二、普通权限管理

1、查看文件权限

语法:
# ls -l readme.txt
-rw-r--r-- 1 root root 0 Jan 22 15:45 readme.txt
结果说明:
-rw-r--r--:第一列是文件类型+权限,第1位-表示文件类型,2-4位rw-表示文件拥有者权限,5-7位r--表示文件的组内用户权限,8-10位r--表示其他用户的权限
1:第二列是文件节点数
root:第三列是文件的拥有者
root:第四列是文件的所属组
0:第五列是文件大小
Jan 22 15:45:第六列是文件的最后修改时间
readme.txt:第七列是文件的名称

2、文件类型

Linux一共有7种文件类型,分别如下:
-:普通文件
d:目录文件
l: 软链接(类似Windows的快捷方式)
b:block,块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件
s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)

3、文件或文件夹权限设置

设置权限可以使用chmod命令

# chmod [选项] 权限设置 文件或目录的名称
选项说明:
-R :递归设置,针对文件夹(目录)

设置权限要点:
第一个:确认要给哪个身份设置权限,u、g、o、ugo(a)
第二个:确认是添加权限(+)、删除权限(-)还是赋予权限(=) 
第三个:确认给这个用户针对这个文件或文件夹设置什么样的权限,r、w、x

案例:给readme.txt文件的拥有者,增加一个可执行权限

# chmod u+x readme.txt

案例:把readme.txt文件的拥有者的可执行权限去除

# chmod u-x readme.txt

案例:为readme.txt中的所属组内用户赋予rw权限

# chmod g=rw readme.txt

案例:给test目录及其内部的文件统一添加w可写权限

# chmod -R ugo+w test

在Linux 中,如果要删除一个文件,不是看文件有没有对应的权限,而是看文件所在的目录是否有写权限,如果有才可以删除(同时必须具备执行权限)。

三、文件拥有者以及文件所属组设置

1、文件拥有者与所属组的查看

# ls -l readme.txt
-rw-r--r-- 1 root root 0 Jan 22 15:45 readme.txt
结果说明:
root:第三列是文件的拥有者
root:第四列是文件的所属组

2、文件拥有者设置

修改文件的拥有者或文件所属组需要用chown命令

# chown [选项] 新文件拥有者名称 文件名称
选项说明:
-R :代表递归修改,主要针对文件夹

案例:把/root/readme.txt文件的拥有者和文件的所属组更改为linuxuser

# chown linuxuser:linuxuser /root/readme.txt

案例:把/root/test文件夹的拥有者和所属组更改为linuxuser

# chown -R linuxuser:linuxuser /root/test

四、特殊权限

1、设置位S

☆ 设置位S的作用

作用:为了让一般使用者临时具有该文件所属主/组的执行权限,针对二进制文件。

☆ 去除S位权限

# chmod u-s /usr/bin/passwd 
或者
# chmod 0755 /usr/bin/passwd

☆ 添加S位权限

# chmod u+s /usr/bin/passwd
或者
# chmod 4755 /usr/bin/passwd

2、沾滞位T

☆ 粘滞位作用

主要功能:只允许文件的创建者和root用户删除文件(防止误删除权限位),只针对文件夹。

☆ 移除粘滞位

# chmod -R o-t /tmp
或
# chmod -R 0777 /tmp

☆ 添加粘滞位

# chmod -R o+t /tmp
或
# chmod -R 1777 /tmp


这篇关于linux权限管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程