设为首页 收藏本站
查看: 1125|回复: 0

[经验分享] Linux权限管理

[复制链接]

尚未签到

发表于 2019-2-18 06:05:50 | 显示全部楼层 |阅读模式
  1、简述
大家都知道,Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规
定。有些文件及目录我们想要操作它们,就需要取得相应的权限,那么对于文件及目录来说,它们都有
哪些权限,需要运用什么命令去修改,具体又应该怎么操作呢,今天就来终结一下。
2、文件的基本权限(rwx)
权限可分为三种:读(r=4),读取文件内容;写(w=2),编辑、新增、修改文件内容, 但是不
包含删除文件,因为文件名和文件数据存放位置不同;执行(x=1),可进入目录。在这里需要注意:
对文件来讲,最高权限是 x; 对目录来讲,最高权限是 w。而rwx权限在文件跟在目录上,也有可能不
是单独存在的,它们有可能是一种或者多种搭配出现,那当它们搭配出现的时候,具体是什么含义呢,
我们可以总结一下:
(1)文件
当仅r权限作用在文件上的时候,表示可以读取该文件的内容
当仅w权限作用在文件上的时候,表示可以修改该文件的内容
当仅x权限作用在文件上的时候,无作用
当rw权限同时作用在文件上的时候,表示可以读写该文件
当rx权限同时作用在文件上的时候,表示可以读并能执行该文件
当wx权限同时作用在文件上的时候,权限等同于仅w权限
(2)目录
当仅r权限作用在目录上的时候,可以短列出目录的内容(子文件,子目录名)
当仅w权限作用在目录上的时候,无作用
当仅x权限作用在目录上的时候,可以进入该目录
当rw同时作用在目录上的时候,权限等同于仅r
当rx同时作用在目录上的时候,表示可以长列出,可以进入
当wx同时作用在目录上的时候,可以创建及删除文件或目录。
当rwx同时作用在目录上的时候,可以列出可以创建删除可以进入。
3、默认权限
(1)文件的默认权限(umask)
1、文件的默认权限不能建立可执行文件,必须手工赋予x执行权限,即文件的默认最大权限为666
2、创建文件后默认权限为666减去umask值,默认权限需要换算成字母再相减
3、修改默认权限的方法:1、umask 0002-临时修改  2、vi /etc/profile-永久修改
(2)目录的默认权限
1、目录的默认最大权限为777
2、建立文件之后的默认权限,为777减去umask值,默认权限需要换算成字母再相减
4、权限作用的对象
无论是文件还是目录,权限都主要针对三类对象进行定义:
owner:属主,简写为u
group:属组,简写为g
other: 其他,简写为o
5、权限操作命令    chmod
举例说明:假设创建一个目录名为house
显示house的默认权限
[root@centos6 app]# ll
drwxr-xr-x. 2 root root 4096 Jul 21 15:46 house
那么进行如下操作:
(1)chmod u-w house         就表示user减少了w权限,如
dr-xr-xr-x. 2 root root 4096 Jul 21 15:46 house
(2)chmod ug+w house       就表示user和group都增加了w权限,如
drwxrwxr-x. 2 root root 4096 Jul 21 15:46 house
(3)chmod ugo-x  house      就表示user和group和others都减少了x权限,如
drw-rw-r--. 2 root root 4096 Jul 21 15:46 house
以上操作都不会影响到house目录的子目录,但如果是进行chmod -R操作,那它们的子目录权限都将
会被影响,应为-R代表递归。
6、特殊权限SUID  SGID  STICKY
(1)SUID
我们知道用户密码都保存在/etcshadow文件下,我们修改密码,实际上也就是在对shadow 文件进行操作,但当我们打开shadow文件时,你会发现实际上普通用户是没有权限的,那我们为什么还可以修改密码呢,这不是自相矛盾吗,其实不然,这里就牵扯到了SUID的问题,首先我们先看一下/etcshadow文件的默认属性
[liubei@centos6 ~]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 Nov 24  2015 /usr/bin/passwd
仔细看你就会发现/usr/bin/passwd的权限为:-rwsr-xr-x. 在此“owner”位是s权限,这个意思就是我们要说的SUID啦
SUID:当对于一个可执行的二进制文件作用了suid之后,任何人在执行该文件时,临时拥有其所有人的权限。也就是说passwd命令具有SUID权限,所有者为root,而当普通用户使用passwd更改自己密码的时候,临时就拥有了命令所有者root的权限,从而当然就可以将密码写入/etc/shadow文件,命令执行完成后该身份也随之消失。具体命令操作为        chmod u+s  
(2)SGID
其实,SGID基本与SUID相同,无非也就是一个设置所有者的权限,SGID为设置所属组的特殊权限!区别点在于:SUID也可以设置目录的相关SUID权限!    具体命令操作为      chmod g+s
1.当对于一个可执行的二进制文件作用了sgid之后,任何人在执行该文件时,临时拥有其所有组的权限
2.当对于一个目录作用了sgid权限之后,任何人在该目录下所创建的文件的所属组,均与该目录的所属组相同
(3) STICKY
对于一个目录作用了 STICKY权限后,该目录下的文件仅其所属人和目录的所属人及root可以删除。具体命令操作为        chmod o+s  
7、ACL简介
ACL即除文件所有者,所属组和其他人,可以对更多的用户设置权限,简单来说就是用来解决用户身份不足的问题。其中要注意,不用系统组,不要使某用户的多个组都设置不同的ACL group 权限 。ACl权限判断顺序为      owner > acl user > group > other
设定acl权限
setfacl  选项  文件名
-m  设定ACL权限        例如
[root@centos6 app]# setfacl -M acl.txt testdir/
-x  删除指定的ACL权限   例如
[root@centos6(nanyibo) app]# setfacl -x u:guanyu testdir/
[root@centos6(nanyibo) app]# setfacl -x g:weiguo testdir/
-b  删除所有的ACL权限     例如
[root@centos6 app]# setfacl -b testdir
-d  设定默认ACL权限     例如
[root@centos6 app]#setfacl -m d:u:liubei:rwx testdir/
-k  删除默认ACL权限     例如
[root@centos6 app]# setfacl -k testdir
-R  递归设定ACL权限    例如
[root@centos6 app]#setfacl -Rm d:u:liubei:rwx testdir/
举例说明:要求在/testdir/dir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。
首先,我们分别创建g1、g2、g3组,然后在创建用户,让用户alice属于g2组,用户tom属于g3组,并创建目录/testdir/dir
[root@centos6 app]# groupadd g1
[root@centos6 app]# groupadd g2
[root@centos6 app]# groupadd g3
[root@centos6 app]# useradd -g g2 alice
[root@centos6 app]# useradd -g g3 tom
[root@centos6 app]# mkdir -p testdir/dir
然后我们可以看到文件dir的权限为755
[root@centos6 testdir]# ll
drwxr-xr-x. 2 root root 4096 Jul 21 17:46 dir
然后我们设置该文件的所属组为g2,设置该文件的SGID权限,设置ACL权限使g2组对新建文件有读写权限、g3组对新文件有读权限
[root@centos6 LI testdir]# chgrp g1 dir
[root@centos6 LI testdir]# chmod g+s dir
[root@centos6 LI testdir]# setfacl -Rm d:g:g2:rw dir
[root@centos6 LI testdir]# setfacl -Rm d:g:g3:r dir
现在我们再看一下该文件的权限
[root@centos6 LI testdir]# getfacl dir
file: dir
owner: root
group: g1
flags: -s-
user::rwx
group::r-x
other::---
default:user::rwx
default:group::r-x
该文件的用户为root,所属组为g2具有SGID权限,从而使得g2组下alice用户,可以在新建文件下继承所属组g2的读写权限,而g3组用户tom对新文件只有读权限,而其他用户由于”other::---“,所以不具有任何权限,也就不能访问这个文件夹。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-673641-1-1.html 上篇帖子: LINUX帮助的使用 下篇帖子: Linux 文件权限
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表