当前位置: 首页 > news >正文

微网站制作多少钱/赣州seo唐三

微网站制作多少钱,赣州seo唐三,wordpress 删除死链接,网站付费视频怎么做Linux 文件特殊权限和ACL权限设置 在linux中,除了可以对属主,属组,其他人设置权限,我们也可以通过文件特殊权限针对某一个用户,某一个组单独设置访问权限,也可以设置一些特殊的访问权限。 安全上下文 当…

Linux 文件特殊权限和ACL权限设置

在linux中,除了可以对属主,属组,其他人设置权限,我们也可以通过文件特殊权限针对某一个用户,某一个组单独设置访问权限,也可以设置一些特殊的访问权限。

安全上下文

当我们使用cat命令查看一个文件时,例如/bin/cat /etc/fstab,具体执行过程如下:

  1. 查看用户是否有/bin/cat的执行权限
  2. 查看用户是否有/etc/fstab的读权限
  3. 如果有则执行该条命令

文件特殊权限

特殊权限分为三种,suid,sgid,sticky
suid: 任何其他用户执行程序时,进程不是以执行者身份进行,而是以文件的属主身份。
sgid:任何其他用户执行程序时,进程的属组不是以执行者的属组,而是以文件的属组身份。
sticky:设置该属性的文件夹中,文件只能由文件的属主删除,用户可以删除属于自己创建的文件,只能修改其他人的文件,不能删除其他人创建的文件。
注意: sgid suid sticky 权限只能自己设置,不能使用umask默认设置

suid

set uid,任何其他用户执行此程序时,进程不是以执行者身份进行,而是以文件的属主身份。
修改权限
chmod u+s 文件
chmod u-s 文件
chmod 4644 文件
suid是针对属主设置的权限,原有属主执行权限s,无执行权限S

示例:

[root@node1 tmp]# cp /bin/cat /tmp/mycat创建一个文件,移除other的读权限
[root@node1 tmp]# echo "Hello world" > Hello.txt
[root@node1 tmp]# chmod o-r Hello.txt 
[root@node1 tmp]# ls -al Hello.txt 
-rw-r----x 1 root root 12 7月  31 12:00 Hello.txt因为hadoop属于other,没有Hello.txt的读权限,故无法读取该文件
[root@node1 tmp]# su hadoop
[hadoop@node1 tmp]$ /tmp/mycat Hello.txt 
/tmp/mycat: Hello.txt: 权限不够设置suid权限,让其他人都能以root的身份运行/tmp/mycat
[hadoop@node1 tmp]$ exit
exit
[root@node1 tmp]# chmod u+s /tmp/mycat 
[root@node1 tmp]# ls -al /tmp/mycat 
-rwsr-xr-x 1 root root 54080 7月  31 11:47 /tmp/mycat  
mycat的属主执行权限变为s  再次切换为hadoop,发现可以查看该文件
[root@node1 tmp]# su hadoop
[hadoop@node1 tmp]$ /tmp/mycat Hello.txt 
Hello world  

因为设置该权限后,所有人执行/tmp/mycat都会以root的身份执行,读取文件时,以root的权限读取Hello.txt,root是Hello.txt属主,故可以读取文件

sgid

set gid 意味着任何其他用户在执行此程序时,进程的属组不再是运行着本人属组,而是文件的属组
修改权限
chmod g+s 文件
chmod g-s 文件
chmod 2644 文件
原有属组执行权限s,无执行权限S
作用:可以在某个文件夹下创建的属组为目录的属组,而不是创建者属组
将目录设置为sgid,所有有权限的用户创建的文件,属组都是目录的属组
示例:

使用hadoop用户创建一个文件夹,并给他设置sgid
[hadoop@node1 tmp]$ mkdir mytest
[hadoop@node1 tmp]$ chmod g+s mytest/
[hadoop@node1 tmp]$ ls -ld mytest/
drwxrwsr-x 2 hadoop hadoop 6 7月  31 13:56 mytest/切换到root用户,在mytest目录下创建一个文件夹
[hadoop@node1 tmp]$ exit
exit
[root@node1 tmp]# cd mytest/
[root@node1 mytest]# touch rootFile
[root@node1 mytest]# ls -al /tmp/mytest/
总用量 4
drwxrwsr-x   2 hadoop hadoop   22 7月  31 13:57 .
drwxrwxrwt. 22 root   root   4096 7月  31 13:58 ..
-rw-r--r--   1 root   hadoop    0 7月  31 13:57 rootFile
发现root用户在该文件夹下创建的文件,属组为hadoop

在该文件夹下,用户可以修改、删除自己的文件夹,也可以对其他属主用户的文件夹进行修改、删除。

sticky

sticky 粘贴位,附件other权限上,表现为t(t:other有x权限;T: other无x权限)
修改权限
chmod o+t 文件
chmod o-t 文件
chmod 1644 文件
在设置该权限的文件夹下,每个用户只能删除属于自己创建的文件。

示例:

使用root用户创建一个mygrp组,并将其加入hadoop额外组中,将hive也加入这个组
[root@node1 mytest]# groupadd mygrp
[root@node1 mytest]# usermod -G mygrp hadoop
[root@node1 mytest]# id hadoop
uid=4024(hadoop) gid=4024(hadoop) 组=4024(hadoop),4026(mygrp)
[root@node1 ~]# usermod -G mygrp hive创建mytest2,将属组设置为mygrp,并给sgid,t权限
[root@node1 ~]# su hadoop
[hadoop@node1 tmp]$ mkdir /tmp/mytest2
[hadoop@node1 tmp]$ chgrp mygrp /tmp/mytest2
[hadoop@node1 root]$ chmod g+s,o+t /tmp/mytest2
[hadoop@node1 root]$ ls -ld /tmp/mytest2
drwxrwsr-t 2 hadoop mygrp 62 7月  31 14:21 /tmp/mytest21111使用hadoop用户创建两个文件hadoop1和hadoop2
[hadoop@node1 mytest2]$ touch hadoop1 hadoop2
[hadoop@node1 mytest2]$ ls -al
总用量 4
drwxrwsr-t   2 hadoop mygrp   36 7月  31 14:30 .
drwxrwxrwt. 23 root   root  4096 7月  31 14:29 ..
-rw-rw-r--   1 hadoop mygrp    0 7月  31 14:30 hadoop1
-rw-rw-r--   1 hadoop mygrp    0 7月  31 14:30 hadoop2
发现属组均为mygrp切换到hive用户尝试创建文件
[root@node1 ~]# su hive
[hive@node1 root]$ cd /tmp/mytest2
[hive@node1 mytest2]$ touch hive1 hive2
[hive@node1 mytest2]$ ls -al
总用量 4
drwxrwsr-t   2 hadoop mygrp   62 7月  31 14:31 .
drwxrwxrwt. 23 root   root  4096 7月  31 14:31 ..
-rw-rw-r--   1 hadoop mygrp    0 7月  31 14:30 hadoop1
-rw-rw-r--   1 hadoop mygrp    0 7月  31 14:30 hadoop2
-rw-rw-r--   1 hive   mygrp    0 7月  31 14:31 hive1
-rw-rw-r--   1 hive   mygrp    0 7月  31 14:31 hive2使用hive删除hadoop1 
[hive@node1 mytest2]$ rm hadoop1
rm: 无法删除"hadoop1": 不允许的操作
[hive@node1 mytest2]$ echo "Hello" > hadoop1
[hive@node1 mytest2]$ cat hadoop1
Hello  
不能删除,但可以修改  

总结

  1. 我们可以使用chmod u+s,g+s,o+t 文件 来修改文件特殊权限
  2. 我们也可以使用权限数字来修改,4代表suid,2代表sgid,1代表sticky
    chmod 4644 文件; chmod 2644 文件; chmod 1644 文件;

ACL

在原有的访问控制机制之外的一种文件访问控制机制
getfacl test.txt 获取文件或目录的访问控制列表
setfacl -m u:username:mode 文件 设定访问控制列表
setfacl -m g:groupname:mode 文件 设定组权限
setfacl -x u:username 文件 取消用户的访问控制权限
setfacl -x g:groupname 文件 取消组的访问控制权限

用户访问文件的过程如下:

  1. 用户是否为文件属主
  2. 用户是否有特定的访问控制条目
  3. 用户是否属于文件属组
  4. 用户所属的组是否有特定的访问控制条目
  5. 其他

注意:除了根目录,其他被挂载的模块默认不支持ACL
必须重新挂载,使用mount -o acl DEVICE MOUNT_POINT

示例:

查看文件的ACL权限
[hive@node1 tmp]$ getfacl mytest2
# file: mytest2
# owner: hadoop
# group: mygrp
# flags: -st
user::rwx
group::rwx
other::r-x使用root用户设置hive用户对这个文件夹没有任何权限  
[hive@node1 tmp]$ exit
exit
[root@node1 ~]# setfacl -m u:hive:--- /tmp/mytest2
[root@node1 ~]# getfacl /tmp/mytest2
getfacl: Removing leading '/' from absolute path names
# file: tmp/mytest2
# owner: hadoop
# group: mygrp
# flags: -st
user::rwx
user:hive:---
group::rwx
mask::rwx
other::r-x切换到hive用户,查看有没有权限
[root@node1 ~]# su hive
[hive@node1 root]$ ls -ld /tmp/mytest2
drwxrwsr-t+ 2 hadoop mygrp 62 7月  31 14:31 /tmp/mytest2
[hive@node1 root]$ cd /tmp/mytest2
bash: cd: /tmp/mytest2: 权限不够
发现cd都无法使用

设置ACL分区

当分区不支持ACL时,我们需要重新挂载分区

方法一: mount -o acl DEVICE MOUNT_POINT
例如:下面重新挂载mydata分区
umount /mydata
mount -o acl /dev/sda3 /mydate
mount

同时,我们也可以开机默认挂载这个分区
vim /etc/fstab

[root@node1 ~]# vim /tmp/fstab 
#
# /etc/fstab
# Created by anaconda on Tue Dec 17 13:24:37 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=8699212e-cfd4-4f43-ab30-12c8864d4d5d /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sda3               /mydata                 ext4    defaults,acl    0 0

方法二:设定分区默认挂载选项
tune2fs -o acl /dev/sda3
tune2fs -l /dev/sda3
取消分区默认挂载选项
tune2fs -o ^acl /dev/sda3

http://www.lbrq.cn/news/1445239.html

相关文章:

  • web用框架做网站/排名轻松seo 网站推广
  • 四川明腾信息技术有限公司/优化的含义是什么
  • 枣庄高端网站建设/手机百度关键词优化
  • 哈尔滨企业网站开发报价/百度关键词优化多少钱一年
  • 东北网站建设公司/北京网络营销推广外包
  • 爱站seo工具包/seo公司是什么
  • 长沙理财网站建设/百度浏览器官方下载
  • 个人网站制作手绘/真正免费的网站建站
  • 代账公司网站模板/自己怎么搭建网站
  • 潍坊市安丘网站建设/网址缩短在线生成器
  • 团购网站建设费用/服务推广软文范例
  • 做网站前的准备工作/营销的概念是什么
  • 品牌微信网站开发/seo网站技术培训
  • 网站改版解决方案/百度商城app
  • 如何做网站小编/爱站网关键词挖掘查询工具
  • 怎么做网站文章/一键搭建网站工具
  • 帮境外赌场做网站是否有风险/专业制作网页的公司
  • 北京快三平台/seo教学培训
  • 全能网站建设教程/成都电脑培训班零基础
  • 邯郸网站建设最新报价/谷歌优化排名哪家强
  • 自己做网站怎么选架构/宁波正规seo推广公司
  • 如何把学校网站建设好/成人零基础学电脑培训班
  • 莱芜网站制作/seo关键词排名实用软件
  • 网站做优化有几种方式/必应bing国内版
  • 怎么开网站/行业网站网址
  • 建设网站用什么代码写好呢/株洲今日头条新闻
  • 做书封面的网站/长尾词在线挖掘
  • 安全网站开发/百度点击率排名有效果吗
  • 庆阳网站网站建设/百度网站大全首页
  • 网站基站的建设方案/四川seo快速排名
  • [ MySQL 数据库 ] 多表关联查询
  • 2025年TOP5服装类跟单软件推荐榜单
  • Kotlin反射详解
  • 【ref、toRef、toRefs、reactive】ai
  • 计算机网络:CIDR地址块划分子网可以使用VLSM吗?
  • [Oracle] MAX()和MIN()函数