Linux特殊权限-创新互联

Linux权限管理之特殊权限

成都创新互联公司主要从事网站建设、网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务西岗,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

ACL(访问控制列表)

用来解决用户对权限的身份不足的问题

使用ACL必须要有文件系统的支持才行

Linux平台上,常见的支持ACL的文件系统有 ext2\ext3\ext4,JFS,XFS等

查看分区ACL权限是否开启

dumpe2fs -h 设备名 | grep "Default mount options"   #查看设备的默认挂载权限 (dumpe2fs 只支持ext2/3/4文件系统)

XFS文件系统的超级快信息使用xfs_growfs命令查看

临时开启分区ACL权限

mount -o remount,acl /   #重新挂载根分区并加入acl权限 

永久开启ACL权限,修改/etc/fstab

查看ACL权限

getfacl 文件名

范例:

[root@VM_0_8_centos home]# getfacl av

# file: av              #文件名

# owner: tony #属主

# group: stu            #属组

user::rwx               #属主的权限

user:lw:r-x             #lw用户的权限

group::rwx     #属组的权限( effective:r-x  #属组的真正权限)

group:tgroup2:rwx #tgroup2组的权限(effective:r-x #tgroup2组的真实权限)

mask::r-x

other::---

ACL大有效权限mask

mask是用来指定大有效权限的。给某用户赋予的ACL权限需要和mask权限"相与"才能得到用户的真正权限

     配置mask方法:

setfacl -m m:权限 文件名  #设定文件的mask权限

设定ACL权限

setfacl [option] acl参数 文件名

-m :设定ACL权限

-x :删除指定ACL权限

-b :删除所有ACL权限

-d :设定默认ACL权限

-k :删除默认ACL权限

-R :递归设定ACL权限

ACL参数主要由三部分组成:

三种身份:对应身份名:三种权限

[u|g|o] : [用户名|组名]:[rwx]

给用户设定ACL权限:

setfacl -m u:用户名:相应权限 文件名

给用户组设定ACL权限:

setfacl -m g:组名:相应权限 文件名

范例:

setfacl -m u:tom:rw- test.txt

setfacl -m g:stu:rw- hello.txt

删除ACL权限:

setfacl -x u:用户名 文件名  #删除指定用户ACL权限

setfacl -x g:组名 文件名 #删除指定用户组ACL权限

setfacl -b 文件名        #删除文件的所有ACL权限

ACL默认权限与递归权限

递归ACL权限

递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限,易导致权限溢出

设定ACL权限时 使用-R权限

递归权限仅能赋予目录,不能赋予文件

递归权限设置时,只会对目录下已经创建的文件和子目录授予相同的ACL权限,此后新建的文件和子目录

不会被授予相同的ACL权限

范例;

setfacl -m u:lw:rw -R /hello.txt

默认ACL权限

默认ACL权限的作用是如果给父目录设定了默认的ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限

setfacl -m d:u:用户名:权限  文件名

-----------------------------------------------------------------------------------------------------------------------

Linux sudo 权限

root把本来只能超级用户执行的命令赋予普通用户执行

sudo的操作对象是系统命令

给普通用户赋予超级用户的权限

visudo命令

visudo命令打开的文件中给普通用户/用户组赋予权限的格式:

用户名 被管理主机的地址=(可使用的身份) 授权的命令(必须是绝对路径)

%组名  被管理主机的地址=(可使用的身份) 授权的命令(必须是绝对路径)

普通用户执行root用户赋予的命令:

sudo 命令的绝对路径

Linux 文件特殊权限 (特殊权限精量少修改)

SetUID

只有可以执行的二进制程序才能设定SUID权限

命令执行者要对该程序拥有x(执行)权限

命令执行者在执行该程序时获得该程序文件属主的身份(在执行程序的过程中灵魂附体为文件的属主)

SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效

设定SetUID的方法

4代表SUID

      chmod 4755 文件名

      chmod u+s  文件名

取消SetUID的方法

      chmod 0755 文件名

      chmod u-s  文件名

危险的SetUID

关键目录应严格控制写权限。

用户的密码设置要严格遵守密码三原则

对系统中默认应该具有SetUID权限的文件作一列表,定时检查有没有这之外的文件被设置了SetUID权限

SetGID

SetGID针对文件的作用

只有可以执行的二进制程序才能设定SGID权限

命令执行者要对该程序拥有x(执行)权限

命令执行在执行程序的时候,组身份升级为该程序文件的属组

SetGID权限同样只在该程序执行过程中有效,也就是说组身份改变只在程序执行过程中有效。

SetGID针对目录的作用

普通用户必须对此目录拥有r和x权限,才能进入此目录

普通用户在此目录中的有效组会变成此目录的属组

如普通用户对此目录拥有w权限时,新建的文件的默认属组是这个目录的属组

设定SetGID

2代表SGID

chmod 2755 文件名

chmod g+s  文件名

Sticky BIT权限(粘着位权限)

粘着位目前只对目录有效

普通用户对该目录拥有w和x权限,既普通用户可以在此目录拥有写入权限

如果没有粘着位,因为普通用户拥有w权限,所以可以删除此目录下所有文件,包括其他用户建立的文件

一担赋予了粘着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件

但是不能删除其他用户建立的文件。

设置粘着位

chmod 1755 目录名

chnod o+t  目录名

取消粘着位

chmod 0777 目录名

chmod o-t  目录名

Linux 不可改变位权限(chattr权限)

chattr命令格式

chattr [+ - =] [option] 文件或目录名

+:增加权限

-: 删除权限

=: 等于某权限

选项:

i:如果对文件设置i属性,那么不允许对文件进行删除、改名、也不能添加修改数据;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件

a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除。

查看文件系统属性:

lsattr

  -a :显示所有文件和目录

  -d :如目标是目录,仅列出目录本身的属性,而不是子文件的

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

本文标题:Linux特殊权限-创新互联
浏览路径:https://www.cdcxhl.com/article6/codeog.html

成都网站建设公司_创新互联,为您提供外贸建站静态网站服务器托管定制网站品牌网站制作响应式网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司