RH033Linux基础笔记八-文件强制位冒险位、ACL访问控制列表

合集下载

RHCSA_3

RHCSA_3

RHCE课程-初级部分7、文件的搜索及高级文件权限和用户、组操作今天的第一个命令:whichwhich显示一个可执行文件的完整路径,按照alias $PATH的顺序查找比如我们看 ls 的可执行文件放在哪的上面一行的ls的别名,默认是加入了--color=tty的参数,下面一行/bin/ls 就是ls 的可执行文件。

我们可以去看看。

青色的一般都是可执行文件。

而且这个青色就是ls 的第一个别名的原因,如果没有这个别名,默认是不会显示颜色.which这个命令在系统管理中有重要,大家一定要记住.下一个命令,whereis ,这个功能就更强大了whereis 搜索一个可执行工具及其相关配置、帮助前面ls: 是表示查找的这个命令/bin/ls 是可执行文件位置后面两个就是帮助文件了下面还是命令:find功能超级大的搜索工具。

语法:find [路径] [参数] [表达式]下面是find常用的参数:-user:根据文件拥有者寻找文件-group:根据文件所属组寻找文件-name:根据文件名寻找文件-perm:根据文件权限寻找文件-size:根据文件大小寻找文件-type:根据文件类型寻找文件,参数对应c、b、l、f、d-o :表达式或-not :表达式非现在我们测试第一个user参数,查找/home 下所有者为root的文件:find /home -user root然后查找/etc下面与root有关的文件:find /etc -user root如果有太多的文件,屏幕无法显示,我们可以用上节课学过的>重定向命令find /etc –user root > file1 这样我们可以去file1文件里面详细看了。

要学以致用。

呵呵!!!第二个参数-group:根据文件所属组寻找文件,找/boot 目录下root组的文件name:根据文件名寻找文件,查找网卡配置文件find / -name ifcfg-eth0这个命令就可以找到网卡的配置文件,-perm:根据文件权限寻找文件,下图是我去查找文件权限为755的文件。

cisco acl笔记

cisco acl笔记

Cisco ACL一、标准访问列表访问控制列表ACL分很多种,不同场合应用不同种类的ACL.其中最简单的就是标准访问控制列表,标准访问控制列表是通过使用IP包中的源IP地址进行过滤,使用访问控制列表号1到99来创建相应的ACL.它的具体格式:access-list access-list-number [permit | deny ] [sourceaddress][wildcard-mask]access-list-number 为1-99 或者 1300-1999之间的数字,这个是访问列表号。

例如:access-list 10 deny host 192.168.1.1这句命令是将所有来自192.168.1.1地址的数据包丢弃。

当然我们也可以用网段来表示,对某个网段进行过滤。

命令如下:access-list 10 deny 192.168.1.0 0.0.0.255通过上面的配置将来自192.168.1.0/24的所有计算机数据包进行过滤丢弃。

为什么后头的子网掩码表示的是0.0.0.255呢?这是因为CISCO规定在ACL中用反向掩玛表示子网掩码,反向掩码为0.0.0.255的代表他的子网掩码为255.255.255.0.小提示:对于标准访问控制列表来说,默认的命令是HOST,也就是说access-list 10 deny 192.168.1.1表示的是拒绝192.168.1.1这台主机数据包通讯,可以省去我们输入host命令。

标准访问列表配置实例:R1(config)#access-list 10 deny 192.168.2.0 0.0.0.255R1(config)#access-list 10 permit anyR1(config)#int fa0/0.1R1(config-subif)#ip access-group 10 out上面配置的含义是阻止来自网段192.168.2.0的机器从int fa0/0.1端口出去,访问列表在配置好之后,要把它在端口上应用,否则配置了还是无效的。

文件以及文件权限

文件以及文件权限

RHCE课程-RH033Linux基础笔记三之文件以及文件权限Linux的文件及文件夹的组织结构成一个倒立置的树形结构。

并以 / (slash)分隔。

重要的文件目录用户主目录: /root,/home/username用户可执行程序目录: /bin, /usr/bin, /usr/local/bin系统可执行程序: /sbin, /usr/sbin, /usr/local/sbin挂载点: /media, /mnt常用的配置文件目录: /etc临时文件目录: /tmp内核及引导目录: /boot服务器目录: /var系统信息目录: /proc, /sys共享库目录: /lib, /usr/lib, /usr/local/lib谁告诉我用哪个用户登陆,主机名字是什么,现在在哪个目录?user: root 主机名:rhel5 目录:/rootcd 命令是改变用户所在目录的命令我现在所在的是什么目录?根目录如果我想切换会我的家目录有什么方法?总结下cd 回当前用户家目录cd ~ 也是回当前用户家目录cd - 回上一次所在的目录还有两种方法cd /root 使用绝对路径cd root 使用相对路径复习:1、用户主目录有哪两种? /root and /home/username2、常用的配置文件存放在哪个目录? /etc3、内核引导目录是哪个? /boot用了这个命令了吗?ls -a,是不是里面有两个目录很奇怪,一个是.,一个是... 代表当前目录.. 代表上一级目录如果我用cd ..这个命令会切换到哪个目录?OK 就是/,应为root 的上级目录就是 /,~ 那个位置都知道是代表个人主目录(类似于 Windows 的 C:\Document and Settings\XXXX\)但是怎么才能让他显示当前的完整路径呢?可以更改环境变量来实现当前状态vi /etc/bashrc,修改这一行后面大写的W,改成小写的w就可以了,保存退出。

Linux之facl----设置文件访问控制列表(详解)

Linux之facl----设置文件访问控制列表(详解)

Linux之facl----设置⽂件访问控制列表(详解)setfacl命令是⽤来在命令⾏⾥设置ACL(访问控制列表)选项-b,--remove-all:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留。

-k,--remove-default:删除缺省的acl规则。

如果没有缺省规则,将不提⽰。

-n,--no-mask:不要重新计算有效权限。

setfacl默认会重新计算ACL mask,除⾮mask被明确的制定。

--mask:重新计算有效权限,即使ACL mask被明确指定。

-d,--default:设定默认的acl规则。

--restore=file:从⽂件恢复备份的acl规则(这些⽂件可由getfacl -R产⽣)。

通过这种机制可以恢复整个⽬录树的acl规则。

此参数不能和除--test以外的任何参数⼀同执⾏。

--test:测试模式,不会改变任何⽂件的acl规则,操作后的acl规格将被列出。

-R,--recursive:递归的对所有⽂件及⽬录进⾏操作。

-L,--logical:跟踪符号链接,默认情况下只跟踪符号链接⽂件,跳过符号链接⽬录。

-P,--physical:跳过所有符号链接,包括符号链接⽂件。

--version:输出setfacl的版本号并退出。

--help:输出帮助信息。

--:标识命令⾏参数结束,其后的所有参数都将被认为是⽂件名-:如果⽂件名是-,则setfacl将从标准输⼊读取⽂件名。

选项-m和-x后边跟以acl规则。

多条acl规则以逗号(,)隔开。

选项-M和-X⽤来从⽂件或标准输⼊读取acl规则。

选项--set和--set-file⽤来设置⽂件或⽬录的acl规则,先前的设定将被覆盖。

选项-m(--modify)和-M(--modify-file)选项修改⽂件或⽬录的acl规则。

选项-x(--remove)和-X(--remove-file)选项删除acl规则。

当使⽤-M,-X选项从⽂件中读取规则时,setfacl接受getfacl命令输出的格式。

Linux下ACL详解

Linux下ACL详解

ACL 简介用户权限管理始终是Unix 系统管理中最重要的环节。

大家对Linux/Unix 的UGO 权限管理方式一定不陌生,还有最常用的chmod 命令。

为了实现一些比较复杂的权限管理,往往不得不创建很多的组,并加以详细的记录和区分(很多时候就是管理员的噩梦)。

可以针对某一个用户对某一文件指定一个权限,恐怕管理员都期待的功能。

比如对某一个特定的文件,用户A可以读取,用户B所在的组可以修改,惟独用户B不可以……。

于是就有了IEEE POSIX 1003.1e这个ACL的标准。

所谓ACL,就是Access Control List,一个文件/目录的访问控制列表,可以针对任意指定的用户/组分配RWX权限。

现在主流的商业Unix系统都支持ACL。

FreeBSD也提供了对ACL的支持。

Linux在这个方面也不会落后,从2.6版内核开始支持ACL。

准备工作支持ACL需要内核和文件系统的支持。

现在2.6内核配合EXT2/EXT3, JFS, XFS, ReiserFS等文件系统都是可以支持ACL的。

用自己工作用的物理分区体验ACL,总是不明智的行为。

万一误操作导致分区的损坏,造成数据的丢失,损失就大了。

作一个loop设备是个安全的替代方法。

这样不需要一个单独的分区,也不需要很大的硬盘空间,大约有个几百KB就足够进行我们的体验了。

OK,下面我使用Fedora Core 5和Ext3文件开始对Linux的ACL的体验。

首先创建一个512KB的空白文件:[root@FC3-vm opt]# dd if=/dev/zero of=/opt/testptn count=512512+0 records in512+0 records out和一个loop设备联系在一起:[root@FC3-vm opt]# losetup /dev/loop0 /opt/testptn创建一个EXT2的文件系统:[root@FC3-vm opt]# mke2fs /dev/loop0mke2fs 1.35 (28-Feb-2004)max_blocks 262144, rsv_groups = 32, rsv_gdb = 0Filesystem label=OS type: LinuxBlock size=1024 (log=0)Fragment size=1024 (log=0)32 inodes, 256 blocks12 blocks (4.69%) reserved for the super userFirst data block=11 block group8192 blocks per group, 8192 fragments per group32 inodes per groupWriting inode tables: doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 30 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.挂载新建的文件系统(注意mount选项里的acl标志,我们靠它来通知内核我们需要在这个文件系统中使用ACL):[root@FC3-vm opt]# mount -o rw,acl /dev/loop0 /mnt[root@FC3-vm opt]# cd /mnt[root@FC3-vm mnt]# lslost+found现在我已经得到了一个小型的文件系统。

Linux中的文件目录访问机制

Linux中的文件目录访问机制

Linux中的文件目录访问控制机制本文摘要在实际的使用过程中,用户意识到在很多应用场景该机制并不能灵活、高效地满足访问控制需求,因而自Linux内核2.6版本开始便支持更为灵活的ACL(访问控制列表)机制。

在实际的使用过程中,用户意识到在很多应用场景该机制并不能灵活、高效地满足访问控制需求,因而自Linux 内核2.6版本开始便支持更为灵活的ACL(访问控制列表)机制。

本文将通过实例来详细介绍这两种机制的原理及使用。

1、传统的用户-用户组-其他用户(UGO)访问控制机制UGO(user,group,other)模式原理Linux系统中的每个文件和目录都有访问许可权限,通过其确定谁可以通过何种方式对文件和目录进行访问和操作。

文件或目录的访问权限分为只读,只写和可执行三种。

以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作;只写权限允许对文件进行任何的修改操作;可执行权限表示允许将该文件作为一个程序执行。

文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。

用户也可根据需要把访问权限设置为需要的任何组合。

有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。

所有者一般是文件的创建者。

它可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。

在这种情况下,系统中的每一位用户都能访问该用户拥有的文件或目录。

每一个文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。

当用ls-l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。

例如:#ls -l总计76-rw-------1rootroot79711-0620:41anaconda-ks.cfgdrwxr-xr-x2rootroot409611-0613:50Desktop-rw-r--r--1rootroot4484311-0620:40install.log-rw-r--r--1rootroot751311-0620:35install.log.syslog横线代表空许可(即表示不具有该权限)。

ACL访问控制列表解析

• 经某接口进入设备内部的数据包进行安全规则过滤 2.出栈应用(out) • 设备从某接口向外发送数据时进行安全规则过滤
一个接口在一个方向只能应用一组访问控制列表
IN F1/0 OUT
F1/1
访问列表的入栈应用
查找路由表 进行选路转发 是否应用 访问列表 ?
Y N
是否允许 Y ?
N
以ICMP信息通知源发送方
应用ACL
如果只是定义了ACL,它还不会起到任何作用,必须把 ACL应用到一个接口上才能起作用。 应用ACL: Router(config)# interface 接口号
Router(config-if)# ip access-group 表号 [in | out]
in:表示在数据包进入此接口时使用ACL进行过滤。 out:表示在数据包离开此接口时使用ACL进行过滤。 通常,使用出站接口检查的数据包数量较少,效率要高 一些。
8.2 ACL语句
一个访问控制列表(ACL)可由多条语句组成,每条ACL 语句的形式为:
Router(config)# access-list 表号 处理方式 条件
ACL表号:用于区分各访问控制列表。
一台路由器中可定义多个ACL,每个ACL使用一个表号。 其中针对IP数据报的ACL可使用的表号为: 标准访问控制列表:1~99。 扩展访问控制列表:100~199。
通配符掩码是一个32位数,采用点分十进制方式书写。 匹配时,“0”表示检查的位,“1”表示不检查的位。
如:192.168.1.1 0.0.255.255
表示检查前16位,忽略后16位,所以这个条件表示的 地址是 192.168.*.*。
any条件:
当条件为所有地址时,如果使用通配符掩码应写为: 0.0.0.0 255.255.255.255 这时可以用“any”表示这个条件。 如:

linux中ACL权限-文件特殊权限

8.1 ACL权限8.1.1 ACL权限简介与开启(一般系统都默认开启了)参考博文:/view/863.htmlACL 是Access Control List 的缩写,主要的目的是在提供传统的owner,group,others 的read,write,execute 权限之外的细部权限设定。

ACL 可以针对单一使用者,单一文件或目录来进行r,w,x 的权限规范,对于需要特殊权限的使用状况非常有帮助。

身份不够用的情况下,使用的。

1、ACL权限简介2、查看分区ACL权限是否开启[root@localhost ~]# dumpe2fs -h /dev/sda5#dumpe2fs命令是查询指定分区详细文件系统信息的命令选项:-h 仅显示超级块中信息,而不显示磁盘块组的详细信息default mount options: user_xattr acl说明这个分区支持acltips:先用df -h命令查看当前系统有哪些分区,以及使用状况,占用容量,结果如下。

[root@localhost ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/sda5 16G 2.5G 13G 17% /tmpfs 498M 0 498M 0% /dev/shm/dev/sda1 190M 65M 116M 36% /boot/dev/sda2 1.9G 3.1M 1.8G 1% /home说明我的根目录是在/dev/sda5 这个分区3、临时开启分区ACL权限[root@localhost ~]# mount -o remount,acl /#重新挂载根分区,并挂载加入acl权限4、永久开启分区ACL权限注意:fstab是系统开机自动挂载的系统文件[root@localhost ~]# vi /etc/fstabUUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 / ext4 defaults,acl 1 1#加入acl[root@localhost ~]# mount -o remount /#重新挂载文件系统或重启动系统,使修改生效8.1.2 查看与设定ACL权限1、查看ACL命令[root@localhost ~]# getfacl 文件名#查看acl权限2、设定ACL权限的命令[root@localhost ~]# setfacl 选项文件名选项:-m 设定ACL权限-x 删除指定的ACL权限-b 删除所有的ACL权限-d 设定默认ACL权限。

Linux高级权限ACL管理

Linux权限---ACL传统的权限仅有三种身份(owner,group,others)搭配三种权限(r,w,x)以及三种特殊的权限(SUID,SGID,SBIT),随着应用的发展,这些权限组合已不能适应现在复杂的文件系统权限控制要求。

例如,目录data的权限为:drwxr-x—,所有者与所属组均为root,在不改变所有者和所属组的前提下,要求用户yufei对该目录有完全访问权限(rwx),但又不能让其他有用完全权限(rwx)。

这个要求看似不能实现,这就看出来传统的权限管理设置有时候也会力不从心。

为了解决这样的问题,Linux开发出了一套新的文件系统权限管理方法,叫文件访问控制列表ACL(Access Control Lists)。

这时候,我们就可能通过ACL来实现。

什么是ACLACL是Access Control List的缩写,主要的目的是在提供传统的owner,group,others的read,write,execute权限之外的局部权限设定。

ACL可以针对单个用户,单个文件或目录来进行r,w,x的权限设定,特别适用于需要特殊权限的使用情况。

ACL主要针对用户(user)、用户组(group)、以及掩码(mask)方面来控制权限。

简单地来说,ACL就是可以设置特定用户或用户组对于一个文件/目录的操作权限。

而在windows系统上,没有这个ACL,ACL是类Unix(Unix-like)操作系统权限的额外支持项目,因此要使用ACL必须要有文件系统的支持才行。

主要包括ReiserFS, EXT2/EXT3/ext4, JFS, XFS等文件系统。

ACL是一种高级权限机制,允许我们对一个文件或文件夹进行灵活的,复杂的权限设置,不受UGO模型限制。

ACL是Linux系统权限额外支持的一项功能,需要文件系统的支持,例如:ReiserFS , EXT2 , EXT3 , EXT4 , JFS , XFS等都支持ACL功能。

Linux权限管理

权限管理Linux 的基本权限文件权限r :允许查看文件内容;允许显示目录内的文件列表w :允许修改文件内容;允许对目录内的文件进行添加、删除、移动 x :允许文件文件执行;允许目录的切换文件归属所有者(属主):拥有该文件的用户 所属组(属组):拥有该文件的组文件权限修改chmod [u g o a]+-= rwx 文件 chmod 777 文件 chmod -R 777 目录文件归属修改chown xdl 文件 chown :lamp 文件 chown xdl:lamp 文件 chown -R [属主:属组] 目录传统权限中通过对(所有者、所属组、其他人)三个角色进行(r 、w 、x )权限的分配实现了最基础的Linux 权限管理,但这并不能满足我们的一些特殊需求。

ACL 访问控制权限ACL (Access Control Lists ),为单一的用户或者组设置对文件或者目录的独立rwx 权限,对于有些特殊需求非常有帮助。

1. 开启ACL 权限由于 ACL 是传统的 Unix-like 操作系统权限的额外支持项目,因此要使用 ACL 必须要有文件系统的支持才行。

目前绝大部分的文件系统都支持 ACL 的功能,如 EXT3、EXT4、XFS 等。

检查指定分区是否支持ACL权限功能格式:dumpe2fs -h 分区名 | grep acl假如没有开启ACL权限,手动开启分区的ACL权限。

这样执行完之后只是临时的让/分区有了ACL权限,重启后则失效。

要让ACL 权限永久生效必须修改/etc/fstab文件。

2.ACL权限的使用查看ACL权限getfacl 文件或目录设置ACL权限setfacl [选项] 文件或目录选项:-m :添加ACL权限-x :删除某人的ACL权限-b :清空所有ACL权限-R :实现目录上ACL权限的递归-d :设置默认ACL权限(传承)例1:添加ACL权限setfacl –m u:u1:rwx a.txt#添加u1用户对a.txt文件的rwx权限例2:删除某项ACL权限setfacl -x u:u1 a.txt#删除u1用户在a.txt文件上的ACL权限例3:清空所有ACL权限setfacl -b a.txt#清空在a.txt文件上的所有ACL权限例4:实现目录上ACL权限的递归(目录)setfacl -R –m u:u2:rwx aa#添加u1用户对aa目录以及目录内子选项的rwx权限、例5:设置默认ACL权限(目录)空目录:setfacl –m d:u:sans:rwx aasetfacl–d –m u:sans:rwx aa 注:两条取其一(作用相同)#添加u3用户对目录bb的rwx权限,并且在bb目录里新建的文件u3用户都有rwx权限非空目录:setfacl -R-m u:u3:rwx bbsetfacl -d -m u:u3:rwx bb#第一条递归设置ACL权限,第二条设置默认权限注:前五个例子使用的u均可换成g,然后实现特殊组对文件的ACL权限例6:设置最大有效权限mask(目录)setfacl -m m:rx cc#为cc目录添加默认最大权限为rx,其他ACL权限不得超出此权限注:ACL的默认mask值按照最大的ALC权限进行设置sudo授权管理首先在Linux的管理中,不是每一个系统管理员都能用root来管理服务器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RHCE课程-初级部分8、文件强制位冒险位、ACL访问控制列表以前我们讲过passwd 和shadow 还有group这三个文件,大家还记得吧?passwd文件vim /etc/passwd复习下,大家告诉我,从开始到最后,以冒号分割,代表的意思?michael:x:500:500:michael:/home/michael:/bin/bash用户名:密码:UID:GID:用户描述:用户主目录:用户登录Shell基本就这样了,不知道的自己看下。

shadow文件vim /etc/shadow用户名:密码:自1970/1/1 起,密码被修改的天数:两次修改口令间隔最少的天数:用户的密码不过期最多的天数:在口令过期之后多少天禁用此用户:用户过期日期(距1970/1/1的天数):保留字段(目前为空备将来Linux发展之用)下面是一个很强大的命令:usermod先建立一个用户:useradd redhat然后在passwd中查看这个用户记得刚才我们说的用户描述吗?就是家目录前面那个,现在我们用 usermod-c 描述内容 redhat ,来改变这个参数,大家把这个参数改成 51cto usermod -c 51cto redhat我们来看看效果哈~然后就是改变用户主目录的参数,也就是改变家目录,usermod -d 目录redhat,这个在FTP服务器中很有用redhat 本来的家目录在哪?本来在/home/redhat哈~~,然后我们把它转移到/home ,把home当成他的家目录。

usermod -d /home/ redhat我们来看下生效后的效果哈下面说说设置用户密码过期的时间,这个功能在某些时候挺有用处的,usermod -e 时间 redhat,时间的格式是 20081207开始这个用户是没有时间限制的usermod -e 20081207 redhat看看效果哈下面操作一下,先改成7号过期,然后在改成8号过期,看下时间有什么变化我们发现时间已经加上一天了哈~~我让你们改变过期时间就是想让你们发现时间的单位是天哈,当增加一天的时候,那个数字就会大1,不设置这个就不会过期下面是-l参数改变用户的登录名字:usermod -l redhat1 redhat把redhat的登录名字改成redhat1我们发现改名生效了哈~当你把usermod 命令用好了以后,你完全可以把group命令忘记,当你把配置文件学好了以后,基本都可以把这些命令忘记了-_-还有两个参数很重要,-G和-g 谁告诉我,他们的区别?-g:改变用户的gid-G:将用户添加入一个新组好了,下一个参数-s 改变用户的登陆shell如果你想把某个用户改成虚拟用户,不让他登陆系统,就可以用这个命令把他的shell改成nologin系统支持的shell在/etc/shells这个目录里最后两个比较重要的参数-L 锁住密码,使帐号不能用-U 为用户密码截锁大家把redhat1用户加锁,然后解锁usermod -L redhat1usermod -U redhat1shadow文件在加锁和不加锁有什么区别?在密码那行的第一个字符多了个!这就是加锁的标志,但是也不排除MD5加密的时候那里也有个!usermod <参数> <用户名>usermod命令的用法,相信大家都能总结出来了groupadd:添加一个组groupdel:删除一个已存在组groupmod –n 新组名原组名,为一个组更改名字gpasswd –a 用户名用户组,将一个用户添加入一个组。

这个几个命令大家看下就行了who:查询当前在线的用户我说一个命令,大家就运行看看,什么效果,好加深印象w:查询当前在线用户的详细信息groups:查询用户所属的组id:显示当前用户信息finger:查询用户信息last:列出最近的用户登录lastlog:列出每一个用户的最近登录情况系统默认权限大家都知道了吧文件的基数为:666文件夹的基数为:777chmod和chown 以前讲过的。

就先不讲了下面的内容是冒险位和强制位,网上也有说成粘着位的,具体说法不重要,大家知道是怎么回事就OK了大家还记得怎么看用户的权限掩码吗?umask我们以前教的是后面三位,当时没给大家说最前面那位,今天我们就学最前面那位,强制位与冒险位.所谓的强制位和冒险位都是最最前面那个0的位置来表示,当前面那个位,2和4权限就叫强制位,1的权限就是冒险位,2代表的是GID,4代表的是uid,1代表的是sticky。

这个和以前的不一样大家要区分下哈~~下面给大家介绍gid,uid,sticky的作用:GID的作用:默认情况下,用户建立的文件属于用户当前所在的组,但是设置了GID以后,表示在此目录中,任何人建立的文件,都会属于目录所属的组。

注意:GID只能对目录设置UID的作用:当一个文件设置了UID,那么所有用户执行这个文件的时候,都是以这个用户的所有者的权限来执行。

我们先来做两个实验:建立一个目录 redhat:mkdir redhat然后我们给他设置GID:chmod 2755 redhat/大家发现文件的权限有什么变化吗?呵呵,那个s就是强制位的标志我们把权限给他改回来:chmod 0755 redhat/chmod g+s 文件名用这个命令也可以给他设置GIDchmod g+s redhat/设置GID,s位就应该在文件所属组。

chmod 2777 redhat/现在这个目录权限是这样,你们说我换redhat用户进入建立文件,文件的所属者和所属组是谁?你们自己看哦,我现在进去建立用户了,你们说结果会怎么样?文件的所属者是redhat而所属组是root,这就是强制位2,设置GID的作用,大家都知道GID的作用了吧?这个在文件权限和团队使用文件目录很有用处好了,下面我们说UID了,此UID非彼UID哈,强制位UID和用户UID大家要分开你们的普通用户可以重启系统吗?我的反正是不行滴哈~~~好了,我们要用强制位的UID来让普通用户可以重启系统哈先找到重启系统的可执行文件:which reboot我们给这个文件设置UID :chmod u+s /usr/bin/consolehelper设置成功后这个命令变成了红色,说明是个高风险的命令现在我们用redhat看能不能重启系统哈实验失败,又被SELINUX设置了。

这次只是没有提示必须超级用户才能使用,但是没达到我们的目的。

先把这个权限改回来我们换个命令shutdown -h now普通用户不能执行,没有PATH,我们先给他添加PATHshutdown命令的可执行文件在/sbin/shutdownvim .bash_profile添加一个/sbin检查下看看,已经有了哈我们来对/sbin/shutdown设置UID哈:chmod u+s /sbin/shutdown我们现在用redhat帐号来看看效果哈~~~:shutdown -h nowredhat可以使用shutdown了哈~~~这个命令本来就是ROOT才能使用,所以就不会被SELINUX限制,x权限只是能ls 而已,可以进入目录,等下44就知道了,执行也必须要有X,但是要执行还需要满足其他,比如环境变量,这个文件是否可以执行等等哈~UID和GID大家还有没有问题?这个命令不是这个用的,只是为了演示哈,关机还是用sudo实现比较好UID和GID就OK了,下面就是sticky这个功能就更强了,当你们公司有一个交换目录的时候,大家都要对这个目录有写入权限,这样,别人就可以删除你的文件了,有什么办法不让别人删除你的文件呢?当然sticky可以满足,你们还有其他方法吗?大家建立一个 test目录,为了方便其他人在这个目录写入东西,我们给777的权限然后进入这个目录,建立一个文件file,你们说,这个file普通用户可以删除吗?权限是644哈,答案是普通用户是可以删除的哈。

这样的话改自己的文件的权限是没有用处的,这个时候我们就要用冒险位了,一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、目录的拥有者与系统管理员可以删除文件。

这个也是对目录进行设置,我们给目录一个冒险位,仔细看变化哦最后一个X变成了t,现在我们用 redhat去删除里面的文件file看看效果哈~现在就不能删除里面的东西了,但是写入还是允许的。

ACL可以对某个文件设置该文件具体的某些用户的权限,意思就是通过ACL可以对一个文件权限做扩展,可以不同的用户对某个文件有不同的权限。

语法:getfacl <文件名>获取文件的访问控制信息setfacl设置文件的acl-m 修改文件的acl-x 取消对文件的设置setfacl –m u:用户名:权限文件名setfacl –m g:组名:权限文件名setfacl –x 用户名文件名setfacl –x g:组名文件名大家新建一个文件,然后使用getfacl来查看这个文件 :getfacl file一个文件的标准权限就这这样,没有ACL的情况下现在我们把redhat用户加上一个RWX的权限:setfacl -m u:redhat:rwx file和设置ACL前有哪些区别?用ll看,权限后面有个+就可能是设置了文件权限,所以没必要没个文件都用gefacl 去看在查看acl的内容时候,我们看见多了行,redhat 用户有了rwx的权限有兴趣的可以测试.然后我们用相似的命令把redhat组也加进去.给他RW的权限:setfacl -m g:redhat:rw file现在我们取消redhat用户的权限:setfacl -x redhat file我们发现user:redhat:rwx这一行已经没有了哈~现在我们也取消redhat组的权限:setfacl -x g:redhat file现在group:redhat:rw-这一行也没有了哈。

注意,撤消ACL操作:对用户直接加用户名字就可以了对组,在前面加g:组名。

相关文档
最新文档