Linux权限管理总结

一、基本权限

基本权限可以分为r、w、x:可读、可写、可执行。

权限对文件而言对目录而言
r可读,表示可以使用类似cat等命令查看文件内容。可以对此目录执行ls以列出内部的所有文件。
w可写,表示可以编辑或删除此文件。可以在此目录创建文件。
x可执行,表示可以命令提示符下当做命令提交给内核运行。可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息
总结如果r单独存在,可以查看文件内容;w单独存在,看不到文件内容,但是可以强制修改文件内容,会覆盖文件内容,单独存在,意义不大;x单独存在,毫无意义。如果只有r权限,可以读(有报错),不能写,也不能进入目录;只有w权限时,毫无意义;只有x权限,只能进入,不能读,不能写。

对于目录来说:
目录同时具备rw权限:可以查看内容,不可以进入目录,不能删除目录或它里面的文件。
目录同时具备rx权限:可以查看内容,可以进入目录,不可以修改目录的内容。
目录同时具备wx权限:不可以查看目录内容,可以进入目录,可以删除目录下的文件,前提是你需要知道目录下有什么文件。

查看文件的权限查看目录的权限
ls -l +文件名(ll +文件名)ls -ld +目录名(ll -d +目录名)

权限针对的三类用户:

权限限制对象代表
u属主
g属组
o其他用户

ls -l +文件名查看权限显示的意义

[root@base ~]# ls -l file.txt
-rw-r--r--. 1 root root 91 5月      4 11:37  file.txt

ll -d +目录名查看权限显示的意义

[root@base ~]# ll -d wenjian
drwxr-xr-x. 2 root root 106 5月      14 08:26 wenjian
位置意义
第一栏-rw-r- -r- -代表这个文件的类型与权限
第二栏表示有多少文件名链接到此节点,就是有多少不同的文件名链接到相同的一个inode号码(硬链接数)。
第三栏表示这个文件或目录的拥有者账号。
第四栏表示这个文件或目录的所属群组
第五栏表示这个文件的容量大小,默认单位是Bytes(字节)。
第六栏表示这个文件或目录的创建日期或者是最近修改日期,如果这个文件被修改的时间距现在太久,那么只会显示年份。
第七栏表示这个文件的文件名。
第一栏的第一个字符意义
d表示是目录。
-表示是文件。
l表示是链接文件。
b表示设备文件里面的可供储存的周边设备(可随机存取设备)。
c表示设备文件里面的序列埠设备,例如鼠标、键盘(一次性读取设备)。

接下来的字符三个为一组,且均为“rwx”的三个参数的组合。要注意的是这三个权限的位置不会改变,如果没有权限就会出现-。

第一组:表示文件拥有者可具备的权限;

第二组:表示加入从群组中账号的权限;

第三组:表示非本人且没有加入群组的其他账号的权限。

单位转化

1kb=1024b
1mb=1024kb
1gb=1024mb
1tb=1024gb

注意:Byte是字节数,bit是位数,在计算机中每八位为一字节,也就是1byte=8bit。
修改文件的属性和权限

命令作用
chgrp改变文件所属群组。
chown改变文件拥有者。
chmod改变文件权限,SUID,SGID,SBIT等特性。

举例
1.改变文件的拥有者。将file.txt文件的拥有者改为snow用户。

[root@base ~]# ll file.txt
-rw-r--r--. 1 root root 91 5月      4  11:37  file.txt
[root@base ~]# id snow
uid=1000(snow) gid=1000(snow) group=1000(snow)
[root@base ~]# chown snow file.txt
[root@base ~]# ll file.txt
-rw-r--r--. 1 snow root 91 5月      4  11:37  file.txt

2.同样将文件的小组改为snow。

[root@base ~]# ll file.txt
-rw-r--r--. 1 snow root 91 5月      4  11:37  file.txt
[root@base ~]# chgrp snow file.txt
[root@base ~]# ll file.txt
-rw-r--r--. 1 snow snow 91 5月      4  11:37  file.txt

3.同样可以使用chown同时改变拥有者和所属组。

[root@base ~]# ll file.txt
-rw-r--r--. 1 snow snow 91 5月      4  11:37  file.txt
[root@base ~]# chown root:root file.txt
[root@base ~]# ll file.txt
-rw-r--r--. 1 root root 91 5月      4  11:37  file.txt

修改文件的权限需要使用chmod命令。
举例:

[root@base ~]# ll file.txt
-rw-r--r--. 1 root root 91 5月      4  11:37  file.txt
[root@base ~]# chmod u+x file.txt
[root@base ~]# ll file.txt
-rwxr--r--. 1 root root 91 5月      4  11:37  file.txt

使用数字来代表权限

权限数字
r4
w2
x1
[root@base ~]# ll file.txt
-rw-r--r--. 1 root root 91 5月      4  11:37  file.txt
[root@base ~]# chmod 777 file.txt
[root@base ~]# ll file.txt
-rwxrwxrwx. 1 root root 91 5月      4  11:37  file.txt

二、隐藏权限

默认权限与隐藏权限
除了基本的r、w、x权限外,在Linux传统的ext2/ext3/ext4文件系统下,还可以设置其他的系统隐藏属性,这部分可以使用chattr来设置,而以lsattr来查看。
默认权限:umask
表示目前使用者在创建文件或目录时的权限默认值。也称为遮罩码,反向掩码影响用户新创建的文件和目录的默认权限(应减去的权限)

[root@localhost ~]# umask
0022

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

[root@base ~]# lsattr file.txt
----------------  file.txt

chattr更改文件的隐藏权限。

隐藏权限作用
a让文件或目录仅供附加用途(只能追加,不能覆盖),比较常用。
b不更新文件或目录的最后存取时间。
c将文件或目录压缩后存放。
d将文件或目录排除在倾倒操作之外。
i不得任意更改变动文件或目录,比较常用。
s保密性删除文件或目录。
S即时更新文件或目录。
u预防意外删除。

最重要的就是+i与+a这个属性。+i可以让一个文件无法被更动,对于需要强烈的系统安全的人来说,非常重要。(即使是root,也没有权限。)

[root@base ~]# lsattr file.txt
----------------  file.txt
[root@base ~]# chattr +i file.txt
[root@base ~]# lsattr file.txt
----i-----------  file.txt

三、特殊权限和Facl

SUID
运行某程序时,相应进程的属主是程序文件自身的属主,而不是用户本身,只对二进制程序有效,执行者对于程序需要有x权限。
suid作用图解
用法:本身具有x权限为s,否则为S。

chmod u+s file.txt

SGID
对于文件:运行某程序时,相应进程的属组是程序文件自身的属组,而不是用户本身的基本组。
对于目录:用户对此目录有rx权限可以进入目录,用户进入此目录后,有效用户组变成该目录的用户组,若此用户在此目录有w权限,则用户创建的文件用户组与该目录用户组相同。
SBIT
只针对目录有效,当用户对目录有wx权限时,用户在该目录创建的文件或目录,只有自己和root才可以删除。

特殊权限数字表达
SUID4
SGID2
SBIT1

用法:第一个7表示特殊命令后面的三个表示普通权限。

chmod 7755 file.txt

FACL
文件系统访问控制列表:利用了文件的拓展属性,保存了额外的访问控制权限。
getfacl查看

[root@harbor ~]# echo 123 > test.txt
[root@harbor ~]# getfacl test.txt 
# file: test.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--
ACL权限意义
-m设置后续的acl参数,不可以与-x一起使用。
-x删除后续的acl参数,不可以与-m一起使用。
-b删除所有的acl参数。
-k删除默认的acl参数。
-R递归设置acl参数。
-d设置默认acl参数,只对目录有效。

setfacl设置用法:必须是存在的用户才可以。

[root@harbor ~]# useradd userA
[root@harbor ~]# setfacl -m u:userA:rw- test.txt 
[root@harbor ~]# getfacl test.txt 
# file: test.txt
# owner: root
# group: root
user::rw-
user:userA:rw-
group::r--
mask::rw-
other::r--
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值