Linux ————文件权限

(一)文件权限

基础补充

文件基本属性(Linux中万物皆是文件)文件是操作系统用来存储信息的基本结构,是一组信息的集合 。文件通过文件名来唯一标识。Linux中的文件名称最长允许255个字符,这些字符可用A~Z、0~9、._- 等符号表示。与其他操作系统相比,Linux最大的不同点是没有"扩展名"的概念 ,即文件的名称和该文件的种类并没有直接的关联,例如,sample.txt可能是一个运行文件,而sample.exe也有可能是文本文件,甚至可以不使用扩展名。另一个特性是Linux文件名区分大小写。 例如,sample.txt、Sample.txt、SAMPLE.txt、samplE.txt在Linux系统中代表不同的文件,但在DOS和Windows平台却是指同一个文件。在Linux系统中,如果文件名以"."开始,表示该文件为隐藏文件,需要使用Is-a命令才能显示。

在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。

通过设定权限可以用以下3种访问方式限制访问权限?只允许用户自己访问;允许一个预先指定的用户组中的用户访问;允许系统中的任何用户访问 。同时,用户能够控制一个给定的文件或目录的访问程度。一个文件或目录可能有读、写及执行权限。当创建一个文件时,系统会自动赋予文件所有者读和写的权限,这样,可以允许文件所有者查看文件内容和修改文件。文件所有者可以将这些权限改变为任何他想指定的权限。一个文件也许只有读权限,禁止任何修改。文件也可能只有执行权限,允许它像一个程序一样执行。

3种不同的用户类型能够访问一个目录或者文件:所有者、用户组或其他用户。所有者是创建文件的用户,文件的所有者能够授予所在用户组的其他成员及系统中除所属组之外的其他用户的文件访问权限。

每一个用户针对系统中的所有文件都有它自身的读、写和执行权限。第一套权限控制访问自己的文件权限,即所有者权限。第二套权限控制用户组访问其中一个用户的文件的权限第三套权限控制其他所有用户访问一个用户的文件的权限。 这3套权限赋予用户不同类型(即所有者、用户组和其他用户)的读、写及执行权限,就构成了一个有9种类型的权限组。

Linux权限的最大用途就是安全性

权限

如何查看文件属性:

ls命令:

文件权限

所谓的文件权限,是指对文件访问权限,包括对文件的读、写、删除、执行操作。Linux是一个多用户操作系统,它运行多个用户同时登陆和工作,因此,Linux将一个文件或者目录与一个用户与组联系起来的。

查看文件的权限

drw-r-xr-x 9 n1 m1 4096 Nov 13 00:30 apache-tomcat-7.0.61

三组权限,每组3个字母

r :读取权限

w :写入权限

x :执行权限

-:没有权限

root :所属用户(属主)

root:所属的组(属组)

权限的UGO模型

三组权限

属主的权限:属组的权限:其他的权限

所有说:将来修改文件的权限 可以从rwx和ugo两个方面进行修改

修改文件的权限

修改文件所属

chown n1 /var/lucky1

chown n1:m1 /var/lucky2

修改文件夹时,让子目录迭代修改

chown -R n1:m1 school chgrp m2 lucky3

当用户的组被修改之后,需要重新登录才能获取新组的权限

修改文件的rwx

chmod o+w lucky4

chmod ug+rw lucky4

chmod ugo-rw lucky4

(权限RWX分别对应数字 4 2 1 5= 4+0+1 r-x)

chmod 664 lucky4 ->(rw- rw-r--)

权限赋予

我们可以将管理用的权限分配给普通用户

文件位置在 vim /etc/sudoers 但是修改这个文件需要使用命令

visudo

修改 Line 99

n1 ALL=(root) /sbin/useradd

n1 ALL=(root) /sbin/*

如何使用

su n1

sudo chkconfig iptables off

一般权限:

特殊权限:

特殊权限在文件和目录上具有特定的功能,但由于它们带有特定的权力,若无实际需求,不建议随意开启,以防安全风险或被恶意攻击者利用。以下是这些特殊权限的详细说明:

1)s 或 S(SUID,Set UID)

当为可执行文件设置此权限时,运行该文件的用户将获得文件所有者的权限来执行它。需要特别注意的是,带有SUID权限且以root为所有者的文件可能会被恶意利用。攻击者可能会寻找具有此权限的文件,试图创建系统内的后门。

2)s 或 S(SGID,Set GID)

当在文件上设置此权限时,其效果与SUID类似,但此时运行文件的用户将获得文件所属的用户组的权限。这意味着该文件可以存取其所属用户组所能使用的全部系统资源。

3)T 或 t(Sticky)

此权限通常用于目录,如/tmp或/var/tmp。这些目录可供所有用户创建和存储文件,但只有文件的创建者或root才能删除或移动这些文件。这是为了保护用户之间的数据不被其他用户随意删除。

由于SUID、SGID和Sticky权限在显示时占据执行权限x的位置,因此大小写有所不同。当执行权限与SUID、SGID、Sticky同时开启时,将使用小写字符表示:

-rwsr-sr-t 1 root root 4096 6月 23 08:17 conf

而当关闭执行权限时,则使用大写字符表示:

-rwSr-Sr-T 1 root root 4096 6月 23 08:17 conf

(二)权限字和权限操作

改变所属群组chgrp:

改变文件拥有者chown:

改变文件属性chmod:

文字设定法:

数字设定法:

我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将具相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(0)

例如,如果想让某个文件的属主有"读/写"两种权限,需要把4(可读)+2.(可写)=6(读/写)

举例说明:文件的权限字符为:rwxrwxrwx,这九个权限是三个、三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

r:4 w:2 x:1

每种身份((owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限

为:rwx r--r-x分数则是 owner= rWx= 4+2+1=7 group=rwx=4+0+0=4 others=---=4+0+1=5

相关推荐
虾..4 分钟前
Linux 进程状态
linux·运维·服务器
测试者家园6 分钟前
DevOps 到底改变了测试什么?
运维·自动化测试·软件测试·devops·持续测试·智能化测试·软件测试和开发
扛枪的书生1 小时前
Linux 通用软件包 AppImage 打包详解
linux
只想安静的写会代码1 小时前
网卡信息查询、配置、常见故障排查
linux·服务器·windows
jiayong231 小时前
多子系统架构下的Nginx部署策略与最佳实践
运维·nginx·系统架构
皮糖小王子2 小时前
Docker打开本地镜像
运维·docker·容器
wavemap2 小时前
阿里云38元一年200M轻量云服务器详细评测
服务器·阿里云·云计算·vps·评测·boboforum
偶像你挑的噻4 小时前
9-Linux驱动开发-设备树=>设备树插件实现 RGB 灯驱动
linux·驱动开发·stm32·嵌入式硬件
叫致寒吧4 小时前
Nginx基于域名的虚拟主机实操案例
运维·服务器·nginx
施努卡机器视觉5 小时前
SNK施努卡车门自动化安装
运维·自动化