初入Linux——权限管理

linux权限管理

一、基本权限

r, w, x:可读、可写、可执行。
不同文件类型的有意义:针对普通文本文件和目录,相同的写法,但代表的意义不同。

文件:
r:可读,可以使用类似cat等命令查看文件内容;
w:可写,可以编辑或删除此文件;
x: 可执行,executable,可以命令提示符下当作命令提交给内核运行;

r:单独存在,可查看文件内容;
w:单独存在,看不到文件内容,但是可以强制修改文件内容,会覆盖原文件内容,单独存在,意义不大;
x:单独存在,毫无意义;

目录:
r: 可以对此目录执行ls以列出内部的所有文件;
w: 可以在此目录创建、修改、删除文件;
x: 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息;

只有r权限时,可以读(有报错),不能写,也不能进入目录;
只有w权限时,毫无意义;
只有x权限时,只能进入,不能读,不能写;
目录的rw权限:可以查看内容,不可以进入目录,不能删除目录或它里面的文件;
目录的rx权限:可以查看内容,可以进入目录,不可以修改目录的内容;
目录的wx权限:不可以查看目录内容,可以进入目录,可以删除目录下的文件,前提是你需要知道目录下有什么文件。

查看文件的权限。可以使用 ls -l ,如果是目录需要加上 -d选择,否则只限制此目录下有什么文件。

权限针对的三类用户:
u: user 属主;
g: group 属组;
o: other 其它用户;

ls -l 命令显示的意义:
在这里插入图片描述
第一栏代表这个文件的类型与权限

第一个字符代表这个文件是“目录、文件或链接文件等等”:
当为[ d ]则是目录,例如上表文件名为“.config”的那一行;
当为[ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行;
若是[ l ]则表示为链接文件(link file);
若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);
若是[ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备)。

接下来的字符中,以三个为一组,且均为“rwx” 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

第一组为“文件拥有者可具备的权限”;
第二组为“加入此群组之帐号的权限”;
第三组为“非本人且没有加入本群组之其他帐号的权限。

第二栏表示有多少文件名链接到此节点
每个文件都会将他的权限与属性记录到文件系统的inode中,不过,我们使用的目录树却是使用文件名来记录, 因此每个文件名就会链接到一个inode
啰!这个属性记录的,就是有多少不同的文件名链接到相同的一个inode号码

第三栏表示这个文件(或目录)的“拥有者账号”

第四栏表示这个文件的所属群组

第五栏表示这个文件的容量大小,默认单位是Bytes(字节)

1KB(Kilobyte 千字节)=1024B,
1MB (Megabyte 兆字节 简称“兆”)=1024KB,
1GB (Gigabyte 吉字节 又称“千兆”)=1024MB,
1TB(Trillionbyte 万亿字节 太字节)=1024GB。
注意:Byte是“字节数”,bit是“位数”,在计算机中每八位为一字节,也就是1 Byte=8 bit,是1:8的对应关系。因此在书写单位时一定要注意B字母的大小写和含义。

第六栏表示这个文件的创建日期或者是最近修改日期。
如果这个文件被修改的时间距离现在太久了,那么时间部分会仅显示年份。

第七栏为这个文件的文件名

修改文件的属性和权限

chgrp :改变文件所属群组
chown :改变文件拥有者
chmod :改变文件的权限, SUID, SGID, SBIT等等的特性

在这里插入图片描述
更改权限方面也可以使用数字来代表权限
在这里插入图片描述
各权限的分数对照表如下
r:4
w:2
x:1

二、隐藏权限

默认权限与隐藏权限
除了基本r, w, x权限外,在Linux传统的Ext2/Ext3/Ext4文件系统下,我们还可以设置其他的系统隐藏属性,这部份可使用chattr 来设置,而以lsattr 来查看,最重要的属性就是可以设置其不可修改的特性!让连文件的拥有者都不能进行修改!这个属性可是相当重要的,尤其是在安全机制上面(security)!比较可惜的是,在 CentOS 7.x 当中利用 xfs 作为默认文件系统,但是 xfs 就没有支持所有的 chattr 的参数了!仅有部份参数还有支持而已!

默认权限:umask
创建一个新的文件或目录时,它的默认权限会是什么?那就与 umask 有关了!umask 是什么呢? umask 就是指定“目前使用者在创建文件或目录时候的权限默认值”。

umask:遮罩码,反向掩码。影响用户新创建的文件和目录的默认权限;

在默认权限的属性上,目录与文件是不一样的。我们知道 x 权限对于目录是非常重要的!但是一般文件的创建则不应该有执行的权限,因斜体样式为一般文件通常是用在于数据的记录嘛!当然不需要执行的权限了。
因此,默认的情况如下:若使用者创建为“文件”则默认“没有可执行( x )权限”,亦即只有 rw
这两个项目,也就是最大为666 分,默认权限如下:
-rw-rw-rw-
若使用者创建为“目录”,则由于 x 与是否可以进入此目录有关,因此默
认为所有权限均开放,亦即为777 分,默认权限如下:
drwxrwxrw*

因为 umask 为 022 ,所以 user 并没有被拿掉任何权限,不过 group 与
others 的权限被拿掉了 2 (也就是 w 这个权限),那么当使用者:

创建文件时:(-rw-rw-rw-) - (-----w–w-) ==> -rw-r–r-- —
644
创建目录时:(drwxrwxrwx) - (d----w–w-) ==> drwxr-xr-x -
---->755
当然这里也可以修改目录的隐藏权限值,不过这块大家知道了解下即可,不必过身研究。

隐藏权限

查看文件的隐藏权限,lsattr命令。

chattr更改文件的隐藏权限。

a:让文件或目录仅供附加用途;
b:不更新文件或目录的最后存取时间;
c:将文件或目录压缩后存放;
d:将文件或目录排除在倾倒操作之外;
i:不得任意更动文件或目录;
s:保密性删除文件或目录;
S:即时更新文件或目录;
u:预防意外删除。

最重要的当属 +i 与 +a 这个属性了。+i 可以让一个文件无法被更动,对于需要强烈的系统安全的人来说,真是相当的重要的!里头还有相当多的属性是需要 root 才能设置。

三、特殊权限和Facl

SUID:
运行某程序时,相应进程的属主是程序文件自身的属主,而不是用户本身了,只对二进制程序有效,执行者对于程序需要有x权限

SGID

对于文件:
运行某程序时,相应进程的属组是程序文件自身的属组,而不
是用户本身的基本组
对于目录:
用户对此目录有rx权限可以进入目录
用户进入此目录后,有效用户组会变成该目录的用户组
若用户在此目录有w权限,则用户创建的文件用户组与该目录用户组相同

Sticky (BIT):
只针对目录有效,当用户对目录拥有wx权限时,用户在该目录创建的文件或目录,只有自己与root才可以删除。
在一个公共目录,每个人都可以创建文件,删除自己的文件,但是不能删除别人的文件(冒险位,粘贴位)。

特殊权限的数字表达方式:

SUID是4 SGID是2 SBIT是1 同样如果拥有多个特殊权限,数字相加即可。

可以使用chmod修改文件的特殊权限。

]# chmod 7755 filename
第一个7代表的就是这三个特殊命令,后面的755是普通权限。

ACL

文件系统访问控制列表
FACL:filesystem access control list
利用文件的扩展属性,保存了额外的访问控制权限

getfacl 查看、setfacl 设置

语法:setfacl [-bkRd] [-m|-x acl 参数] 目标文件名
选项与参数:
-m:设置后续的acl参数,不可与-x一起使用
-x: 删除后续的acl参数,不可与-m一起使用
-b:删除所有的acl参数
-k:删除默认的acl参数
-R:递归设置acl参数
-d:设置默认acl参数,只对目录有效

-m:设定,可以设定到用户或者是组上
-x:取消一个ACL权限
-b:清除所有的 ACL 权限

码字不易,点个赞呗
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值