【新手向】Centos系统文件权限的系统阐述与演示

 

在linux服务器平常管理中,咱们会常常管理查看文件或者文件夹的权限内容以保证服务的正常运行。
今天就和你们聊聊文件权限的那些事。linux

查看文件的权限状况能够用 ll 命令
例:vim

ll -d /kid                #查看此文件(夹)的详细信息
ll /kid                     #查看此文件夹中文件(夹)的详细信息

能够看到如:
drwx-r–r– (一共10个参数) 表示文件所属组和用户的对应权限。
第一个参数d属于特殊权限,与chmod无关,咱们下次再说。其中
第2-4个参数:属于user (全部者)
第5-7个参数:属于group (所属组)
第8-10个参数:属于others (其余)服务器

接下来就简单了:r==>可读; w==>可写; x==>可执行
r=4 w=2 x=1spa

因此755表明 rwxr-xr-x
全部者具备读写执行权限,所属组具备读和执行权限,其余人只有执行权限。code

因此用chmod命令改变文件权限时blog

chmod 777 /文件名/ #表明 rwxr-rwx-rwx 全部用户均可读可写可执行。
固然chmod还有其余用法,如:递归

chmod u+x  /文件名/                   #给u(user)加上x(执行)权限
chmod -R  777 /文件夹/              #给此文件夹下所属文件夹和文件都赋予777权限 R表明递归

这时候你可能要问了,如何判断一个文件的user和group呢?rem

其实很简单,如下面代码为例get

drwxrwsrwx 4 root root 4096 Jan 17 22:07 /kid/
标粗部分,第一个root表明user (全部者),第二个root表明group (所属组)it

若是你想更改一个文件的group (所属组)也很简单,使用chown命令便可

chown root:kid /文件名/ #将此文件的全部者改成root,所属组改成kid组

上面咱们讲了linux中文件权限的基础内容。下面咱们深刻的了解一下文件权限的内容:ACL

第一个问题:ACL是什么?

用通俗的话来讲就是:原本对于一个文件/目录来讲,只有三种人,user、group、other,如今来了第四我的,可是我要给他的权限与前三个不同,因此,这时候我就要用到ACL,额外给他一个不同的权限。

第二个问题:如何使用ACL?

在使用ACL以前,咱们须要查看文件所在的分区是否支持ACL权限。由于ACL权限的使用须要分区的支持。

如何查看分区是否支持ACL权限?

dumpe2fs -h /dev/vda1
-h 仅显示超级块中的信息,而不显示磁盘块组的详细信息。

看到红框内的内容,就表明此分区支持acl权限,通常来讲也是默认支持的。
这里再告诉你们一个查看系统分区的命令

df -h #查看系统分区
那么若是万一分区不支持ACL怎么办?

有两种方法

第一种:临时开启ACL

mount -o remount,acl / 从新挂载根分区,并加入acl权限
第二种:永久开启ACL

vim /etc/fstab
/dev/vda1 / ext3 defaults,acl 1 1 #在ext3(文件系统)后一列加上,acl便可永久开启ACL
mount -o remount / # 从新挂载或重启使其生效
终于到设定ACL权限的环节了!
如何设定ACL权限?

acl操做基本命令:

setfacl 选项 文件名
-m 设定acl权限
-x 删除指定acl权限
-b 删除全部acl权限
-d 设定默认acl权限
-k 删除默认acl权限
-R 递归设定acl权限
具体操做示例:

setfacl   -m     u:用户名:rwx       文件名         #给某个用户设定rwx权限
setfacl   -m     g:组名:rwx          文件名          #给某个组设定rwx权限

使用getfacl命令查看acl权限

红框内能够看到kxkid用户已经获取到了读和执行权限

在上图,咱们能够user下有一个mask设定,那么
在acl中mask是什么?

最大有效权限mask:mask是用来指定最大有效权限的。若是我给用户赋予了acl权限,是须要和mask权限“相与”才能获得用户的真正权限。

以上图为例,mask权限为r-x,那么,即便acl权限为rwx,与mask相与后,仍然只有r-x权限。

如何设定msak最大有效值?

setfacl -m m:rwx 文件名 #设定mask为rwx
其余setfacl命令示例:

setfacl    -x       u:用户名            文件名 
setfacl    -b       文件名 
setfacl    -m      u:用户名:权限     -R(只能加这)  文件名      #递归建立,做用于父目录与全部子目录设置acl,即已经存在的文件设置,如果新建目录/文件,则没有acl 
setfacl    -m      d:u:用户名:权限   文件名                        #设定默认,若之后在此目录里建立新文件/目录都默认有acl权限

提醒:如果在递归建立以后,在设定默认建立以前建立的新文件,则不受这两个的影响,须要单独设定

以上就是关于linux 文件权限和acl权限的全部内容,要想熟练使用,还须要本身多加练习!
下次有时间和你们聊一聊文件特殊权限的内容,但愿你们喜欢

本文转载自腾云阁,已得到做者受权。

相关文章
相关标签/搜索