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

查看文件的权限情况可以用 ll 命令
例:

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=1

所以755代表 rwxr-xr-x
所有者具有读写执行权限,所属组具有读和执行权限,其他人只有执行权限。

所以用chmod命令改变文件权限时

chmod 777 /文件名/ #代表 rwxr-rwx-rwx 所有用户都可读可写可执行。
当然chmod还有其他用法,如:

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

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

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

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

如果你想更改一个文件的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权限的所有内容,要想熟练使用,还需要自己多加练习!
下次有时间和大家聊一聊文件特殊权限的内容,希望大家喜欢

本文转载自腾云阁,已获得授权。

【新手向】Centos系统文件权限的系统阐述与演示的更多相关文章

  1. Windows 7硬盘安装CentOS 6.4 双系统 (WIN7硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))

     WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2.Ubuntu 12.04) 近期在看<鸟哥私房菜:基础学习篇>.认为非常不错,想要用U盘装个windows 7 和 ...

  2. linux文件目录权限和系统基础优化命令(yum源配置)

    一.用户 1.介绍 我们都知道linux中有root用户和普通用户,但是同样是普通用户,为什么有些用户的权限却不一样呢?其实这就类似于我们的QQ群,root用户就是QQ群主,他拥有最高的权利,想干什么 ...

  3. Windows 7硬盘安装CentOS 6.4 双系统 (WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04))

     WIN7下硬盘安装Linux(Fedora 16,CentOS 6.2,Ubuntu 12.04) 最近在看<鸟哥私房菜:基础学习篇>,觉得很不错,想要用U盘装个windows 7 和 ...

  4. centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln 内部命令和外部命令 第五节课

    centos 特殊权限 各种搜索命令 lsattr ,chattr,suid,sgid,sbit,file,type是否是内置命令,stat文件属性 ,whereis,locate,find,ln   ...

  5. L016-linux系统文件权限体系实战深入讲解小节

    L016-linux系统文件权限体系实战深入讲解小节 不知道今天能不能写完哈,能写完发出来就是这周发两次小结了,有进步哦,不过L015和L016两节课内容也确实不多,进入正题 上一课学到了chmod. ...

  6. L015-linux系统文件权限体系手把手详解小结

    L015-linux系统文件权限体系手把手详解小结 2016-5-24 今天星期二,昨天和今天利用一些闲散时间把第15节课学完了,最近有点懒散哈,还得努力才是.. 这节课内容不多,扩展的也少,主要就是 ...

  7. Oracle 用户、角色、权限(系统权限、对象权限)的数据字典表

    1 三者的字典表 1.1 用户 select * from dba_users; select * from all_users; select * from user_users; 1.2 角色 s ...

  8. 转自:http://blog.sina.com.cn/s/blog_86e874d30101e3d8.html(谢谢原文作者),Win7下安装CentOS 6.5双系统

    经过一下午的折腾,终于在64位的Windows 7上面成功安装了CentOS 6.5(64bit)系统,中途因为硬盘分区的问题失败了一次.下面是安装过程: 在安装过程中借助了这篇文章的内容:http: ...

  9. Oracle 用户、对象权限、系统权限

    --================================ --Oracle 用户.对象权限.系统权限 --================================  一.用户与模式 ...

随机推荐

  1. windows系统JDK的安装及环境配置

    本文转载至:http://blog.csdn.net/sweetburden2011/article/details/8881181 一:JDK的安装 1.   首先上甲骨文公司的官方网站下载JDK的 ...

  2. QT 创建对话框 Dialog 实例

    1. 2. dialog.h 头文件 #ifndef DIALOG_H #define DIALOG_H #include <QDialog> QT_BEGIN_NAMESPACE cla ...

  3. java常见设计模式

    工厂模式 普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建. 多个工厂模式,编写多个创建工厂的方法即可. 静态工厂模式,在多个工厂模式的基础上把Factory种方法的返回值标明 ...

  4. 分享知识-快乐自己:HttpClient 访问 WebService 开放接口

    HttpClient: 场景需求如下: 1.项目中需要与一个基于HTTP协议的第三方的接口进行对接 2.项目中需要动态的调用WebService服务(不生成本地源码) 3.项目中需要利用其它网站的相关 ...

  5. PowerCmd 2.2 注册码

    PowerCmd 是共享软件,现分享注册码一枚: 用户名:Sub 注册码:PCMDA-86128-PCMDA-70594 来源:http://blog.csdn.net/subchen/article ...

  6. iOS-文本转语音

    - 文本转语音 iOS提供了一个类AVSpeechSynthesizer来实现文本到语音的功能, 即读出文字 直接上代码: AVSpeechSynthesizer *synthesizer = [[A ...

  7. Vue在HTML页面中的脚手架

    <script src="assets/js/vue.js"></script> <script src="assets/js/vue-re ...

  8. 信息标记 以及信息提取--xml-json-yaml

    1 信息标记的三种方式:  XML: JSON: YAML: 1 缩进 表示所属关系:  2 - 表示并列关系:  3 | 表示整块数据:  HTML----XML的一种形式: 2 信息提取的方法: ...

  9. 3.MySQL优化---单表查询优化的一些小总结(非索引设计)

    整理自互联网.摘要: 接下来这篇是查询优化.其实,大家都知道,查询部分是远远大于增删改的,所以查询优化会花更多篇幅去讲解.本篇会先讲单表查询优化(非索引设计).然后讲多表查询优化.索引优化设计以及库表 ...

  10. bgcolor RGB 和16进制之间的转换,16进制转RGB,源码

    <p>bgcolor RGB 和16进制之间的转换,16进制转RGB,源码例如:<br /> 输入 201,255,201 转换成 #C9FFC9</p> < ...