• 欢迎访问显哥博客,本网站纯属学习技术,绝无商业用途,欢迎小伙伴们共同学习!研究技术!QQ:52249909 加我QQ
  • 世界75亿人,这么小的概率,能认识你,是我一生的幸运,不妨加个QQ接触一下:52249909 加我QQ

修改属主属组和特殊权限的设置【显哥出品,必为精品】

运维基础 lixian 5年前 (2019-12-18) 1291次浏览 1个评论 扫描二维码
文章目录[隐藏]

1、修改属主和属组

chown root:root 文件 #修改属主属组
属主和属组可以使用:或者 . 分隔
chown root 文件 #只是修改属主
chown :root 文件 #只是修改属组

-R #递归设置属主属组
chgrp #只能修改属组
只有root用户权限才可以任意修改属主属组,普通用户不能修改

[root@lixian ~]# chown lx:lx /root/lixian       设置属主属组 
[root@lixian ~]# chown -R lx:lx /root/lixian  递归设置属主属组
[root@lixian ~]# chgrp aa /root/lixian           只能设置属组

2、umask权限控制

umask是个权限控制的命令,默认的值是022
目录最大权限是777,减去umask的默认权限,结果就是新建目录的权限
文件最大权限是666,减去umask的默认权限,结果就是新建文件的权限,当文件的权限为奇数时,会在奇数位上+1。

drwxr-xr-x. 2 root root 6 Dec 18 16:58 test	#新创建的目录权限为755
-rw-r--r--. 1 root root 0 Dec 18 16:58 test.log  #新创建的文件权限为644

cat /etc/profile永久设置 umask

[root@lixian ~]# umask   033
[root@lixian ~]# umask 
0033

0033最前面的0 是特殊权限

3、特殊权限

①、setuid:在运行一个命令的时候,相当于这个命令的所有者
主要作用于属主权限的x位,s表示
rwsr-xr-x s权限对应的数字是4
使用:chmod u+s 文件
如果普通用户没有执行权限,也不能使用命令

[a@lixian /]$ rm -rf 3                                #删除3这个目录,删除不了
rm: cannot remove ‘3/aaa’: Permission denied
[root@lixian /]# chmod u+s /bin/rm         #给rm这个命令设置特殊权限,让其他用户也能使用
[a@lixian /]$ rm -rf 3                               #可以删除
[root@lixian /]# chmod o-x /bin/rm         #去除o位的执行权限
[a@lixian /]$ rm -rf a                               #不能删除
-bash: /usr/bin/rm: Permission denied

②、setgid:让一个目录下的所有新创建的目录或者文件的默认组都是该目录的组,让一个组成为共享目录。
主要作用于属组权限的x位,s表示
使用:chmod g+s 共享目录
其他用户创建文件的时候,属组也是共享组,前提是给其他用户权限
1:创建一个目录,作为共享目录

mkdir   /opt/gongxiang

2:创建一个组,作为共享组

groupadd  gongxiang

3:将目录设置为共享组

chgrp   gongxiang  /opt/gongxiang/

4:让属主属组都要任何权限,其他用户没有权限

chmod 770  /opt/gongxiang/

5:将两个用户加入共享组

usermod  -G gongxiang  test01
usermod  -G gongxiang  test02

6:给共享目录设置setgid

chmod  g+s /opt/gongxiang/

③、sticky 粘滞位
让一个目录成为所有用户都有所有权限,权限为777,
又让所有用户除了root和属主可以管理自己的文件或者目录,其它人没有管理的权限。
主要作用于在其他人的x位,t表示
chmod o+t 目录
所有人只能管理自己的东西,不能去操作别人的东西
相当于在一个公共区域给自己的东西加了一把锁。

[root@lixian ~]# mkdir -m 777   /test         创建文件权限为777
[root@lixian ~]# ll -d /test
drwxrwxrwx. 2 root root 6 Dec 18 18:58 /test
[root@lixian ~]# chmod o+t /test/               给文件增加共享目录
[root@lixian ~]# ll -d /test
drwxrwxrwt. 2 root root 6 Dec 18 19:00 /test
[root@lixian ~]# stat  /test
  File: ‘/test’
  Size: 6         	Blocks: 0          IO Block: 4096   directory
Device: 803h/2051d	Inode: 1083835     Links: 2
Access: (1777/drwxrwxrwt)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:default_t:s0
Access: 2019-12-18 19:00:13.822960217 +0800
Modify: 2019-12-18 19:00:33.146959534 +0800
Change: 2019-12-18 19:01:09.490958251 +0800
 Birth: -

4、特殊属性

特殊属性不受权限的控制
lsattr 文件 查看文件的特殊属性
chattr +a 文件 给文件增加特殊属性

a #表示只能追加,不能删除,移动,修改,一般给重要的文件,日志,可以复制查看和执行
i #什么都不能操作,不能删除,移动,追加,重定向,一般给重要的配置文件,可以复制查看和执行

#测试a属性

[root@lixian ~]# chattr +a  test.txt        增加a权限
[root@lixian ~]# lsattr  test.txt    查看文件的特殊属性
-----a---------- test.txt
[root@lixian ~]# cat test.txt
hostname
[root@lixian ~]# ./test.txt 
qls
[root@lixian ~]# cp test.txt  /tmp/
[root@lixian ~]# rm -f  test.txt      不能删除
rm: cannot remove ‘test.txt’: Operation not permitted
[root@lixian ~]# mv test.txt  /opt/  不能移动
mv: cannot move ‘test.txt’ to ‘/opt/test.txt’: Operation not permitted
[root@lixian ~]# vim  test.txt          不能修改,vim进去,但不能保存退出,强制也不行
[root@lixian ~]# echo pwd >> test.txt      可以追加
[root@lixian ~]# echo pwd > test.txt       也不能重定向
-bash: test.txt: Operation not permitted

#测试i属性

[root@lixian ~]# lsattr  test.txt       查看特殊属性的信息
---------------- test.txt
[root@lixian ~]# chattr  +i  test.txt 增加i权限
[root@lixian ~]# cat test.txt
hostname
pwd
[root@lixian ~]# ./test.txt
qls
/root
[root@lixian ~]# cp ./test.txt  /opt/
[root@lixian ~]# mv ./test.txt  /mnt/                不能移动
mv: overwrite ‘/mnt/test.txt’? y
mv: cannot move ‘./test.txt’ to ‘/mnt/test.txt’: Operation not permitted
[root@lixian ~]# rm -f  test.txt                         不能删除
rm: cannot remove ‘test.txt’: Operation not permitted
[root@lixian ~]# echo 123 >test.txt                 不能重定向
-bash: test.txt: Permission denied
[root@lixian ~]# echo 123 >>test.txt               不能追加
-bash: test.txt: Permission denied

本站博主 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:修改属主属组和特殊权限的设置【显哥出品,必为精品】
喜欢 (36)

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽
  1. 很喜欢
    匿名2019-12-19 14:38