linux 权限管理

linux查看文件权限一般使用ls -l 命令

第一个字符代表的是文件,连接或目录:

 -  代表是文件

 l   代表的是链接文件

d  代表的是目录

接下来的字符中每三个为一组,基本格式为 r w x   缺少那一项权限哪一项权限就为 -

第一组为文件所有者(user)第二组为文件所属组(group)第三组为其他用户(other)

权限项可读可写可执行可读可写可执行可读可写可执行
字符表示rwxrwxrwx
数字表示421421421
权限分配文件所有者文件所有者文件所有者文件所属组文件所属组文件所属组其他用户其他用户其他用户

使用  ll -d firename  查看目录权限  目录的权限一般为755 (rwx=7 r-x=5 r-x=5)

文件的权限一般为644  (rw=6 w=4 w=4)

chown 

  chown (change owner)是用来修改属主或属组,使用格式一般为

chown  属主            文件名     用来修改属主

chpwn   :属组        文件名    用来修改属组

chown  属主:属组 文件名     用来修改属主和属组

chmod

chmod(change mode)用来改变用户的权限,一般格式为

chmodu+(添加)r  w  x文件或目录
chmodg- (减去)r  w  x文件或目录
chmodo=(等于)r  w x文件或目录
a

例如当前文件夹ap,权限为755。

给它加满权限可以这样使用命令:

属组和其他组缺少w权限,只需要分别加上w权限,就可以实现满权限了。

或者直接设置目录权限为777就可以实现满权限

特殊权限

1.setUID权限

setUID权限仅适用于可执行文件,只要用户对设有suid的文件有执行权限,就能够使用户临时拥有所有者的权限。例如所有用户可以执行passwd来修改自己的用户密码,而用户密码保存在/etc/shadow文件中,它默认权限是000,就是说除了root用户之外,所有用户都没有查看或编辑的权限。但是在passwd加上suid权限,就可以让普通用户获得所有者身份,把密码写到shadow中。

如果对passwd取消UID权限,那么用户更改密码将修改不成功,因为没有权限把密码 写入到/etc/sahdow中。

2.setGID权限

setUID赋予用户的是文件所有者的权限,setGID赋予用户所属组权限。

setGID有两种应用场景:当对二进制程序进行设置时,能够让执行者临时获取文件所属组的权限;当对目录进行设置时,则是让目录内新建的文件自动继承该目录原有的用户组名称。

下面是对目录设置属组s权限演示:

[root@localhost tmp]# cd /tmp/                 
[root@localhost tmp]# mkdir rwx               #创建测试文件夹
[root@localhost tmp]# chmod g+s rwx           #给目录属组加上s权限
[root@localhost tmp]# ll -d rwx/
drwxr-sr-x. 2 root root 6 Sep 14 20:43 rwx/   #可以看到属组已经加上s了
[root@localhost tmp]# chmod 777 rwx/          #给目录权限设置为777,其他用户就可以修改文件了
[root@localhost tmp]# su - liu                #切换其他用户
Last login: Thu Sep 14 20:44:04 PDT 2023 on pts/0
[liu@localhost ~]$ cd /tmp/rwx/               #切换到文件夹下
[liu@localhost rwx]$ touch 1.txt              #创建文件
[liu@localhost rwx]$ ll
total 0
-rw-rw-r--. 1 liu root 0 Sep 14 20:49 1.txt   #创建的文件属组为root,与目录/rwx属组一至

3.SBIT

SBIT权限称之为特殊权限位之粘滞位,只作用于目录,SBIT权限可以确保用户只能删除自己的文件,而不能删除其他用户的文件。只有root用户,目录创建者,目录所有者才能删除。

用法:

chmod o+t firename

4.setfacl

acl权限提供的是所有者,所有组,其他人的读\写\执行权限之外的特殊权限控制。使用setfacl命令可以对单一用户或者用户组,单一文件或目录来进行读\写\执行权限控制。

常用的使用方法:

getfacl filename/dirname             #查看文件/目录的acl设置

setfacl -m u:username :rwx  firename   #针对用户给文件设置acl

setfacl -m g:grupname :rw  firename     #针对一个组给文件设置acl

setfacl -x  u:username  firename       #取消用户的acl设置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值