在 Unix/Linux 系统上沿用了多年的权限机制,由于欠缺灵活性,在现今的信息系统上显得落后和不敷应用。然而一个新的权限机制标准已经诞生出来,本

文将会为大家介绍这个新机制在 Linux 上的操作方式。

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

典型的文件权限

典型的文件权限是这样的:

#>ls -l

-rwxrw-r-- 1 adam mis 272401 May 10 2003 test.doc

表示文件属于用户adam,权限可读可写可运行;属于群组mis权限可读可写;其他人权限只读

传统的权限只能对所有者,群组,其他来设定3套权限

更复杂的权限则需要依赖ACL

这个 POSIX ACL 的功能在 Linux kernel 2.6 上被正式支持,之后又被 back-port到 2.4 kernel 上。大家常用的档案系统,如:ext3,xfs,jfs,和

ReiserFS,都能使用ACL。当然,大家须要在编译 kernel 时启动 ACL。

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

启动 ACL

虽然在 kernel 中已加进了 POSIX ACL 的支持,但是并不会自动启用的。我们必须在挂上档案系统时指明要使用 ACL。例如:

mount -t ext3 -o acl /dev/sda1 /home

其中 “-o acl”参数表示在 /dev/sda1 上启用 ACL 的选项。我们亦可以在 /etc/fstab 中加入选项:

/dev/sda1 /home ext3 acl 1 2

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

查看文件的ACL信息

#>getfacl test.doc

# file: test.doc

# owner: adam

# group: mis

user::rw-

group::rw-

other::r--

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

访问型ACL设置

更改ACL

setfacl” 指令能更改一个档案或目录的 ACL。其用法如下:

setfacl option rules files

option:

-m 用来新增或修改 ACL 中的规则

-x 用来移除 ACL 中的规则

rules:

user:(uid/name):(perms) 指定某位使用者的权限

group:(gid/name):(perms) 指定某一群组的权限

other::(perms) 指定其它使用者的权限

mask::(perms) 设定有效的权限屏蔽

如果想让hr群组的使用者能读取 “test.doc”而其它的人不能读取的话。 我们可以用以下的指令达成:

setfacl -m group:hr:r,other::- test.doc

以 getfacl 检视新的 ACL:

[adam@www adam]$ getfacl test.doc

# file: test.doc

# owner: adam

# group: mis

user::rw-

group::rw-

group:hr:r--

mask::rw-

other::---

要让使用者 adam 和 eva 能 读取 和 写入, 群组mis 和 hr 只能读取, 其它人不能 读取 和 写入。 我们只须多加两个规则便能达成:

setfacl -m group::r,user:eva:rw report.doc

[adam@www adam]$ getfacl report.doc

# file: report.doc

# owner: adam

# group: mis

user::rw-

user:eva:rw-

group::r--

group:hr:r--

mask::rw-

other::---

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

预设型ACL

预设型ACL 只可用于目录, 它决定了该目录下新建立的档案或目录的 ACL。要设定 预设型ACL, 同样使用 “setfacl”。 所不同的是, 在每个规则前加上“

default:”, 例如:

setfacl -m default:user::rw /home/adam

如果觉得指令太长的话我们可以使用简略字符:

长写     简写

user:    u:

group:   g:

other:   o:

mask:    m:

default: d:

setfacl -m d:u::rw,d:u:eva:rw,d:g::r,d:o::- /home/adam

[adam@www adam]$ getfacl /home/adam

getfacl: Removing leading '/' from absolute path names

# file: home/adam

# owner: adam

# group: adam

user::rwx

group::---

other::---

default:user::rw-

default:user:eva:rw-

default:group::r--

default:mask::rw-

default:other::---

建立新的档案并检视其 存取型ACL:

[adam@www adam]$ touch newfile

[adam@www adam]$ getfacl newfile

# file: newfile

# owner: adam

# group: mis

user::rw-

user:eva:rw-

group::r--

mask::rw-

other::---

linux允许佚名用户访问权限,Linux上的ACL权限文件访问相关推荐

  1. Linux中ls -l(ll)返回结果中的文件访问权限-rw-r--rw-

    linux文件访问权限(像rw-r--rw-是什么意思) Linux的文件访问权限分为 读.写.执行三种 r:可读(4) w:可写(2)对目录来说则可新建文件 x:可执行(1)对目录来说则可进入该目录 ...

  2. Linux添加/删除用户和用户组(linux中,添加cvs用户,实质就是添加linux用户。)

    来源:http://www.cnblogs.com/xd502djj/archive/2011/11/23/2260094.html 本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数 ...

  3. android 访问公共文件夹权限_如何访问Android手机上的共享Windows文件夹 | MOS86

    本指南将向您显示在Android手机或平板电脑上访问Windows共享文件夹的方式.您可以通过简单的步骤,轻松地收听音乐,流式传输视频或从Windows(或任何SMB)共享文件夹中复制文件.有效地,这 ...

  4. linux查看所有用户家目录,linux – 允许用户读取其他用户的主目录

    我是系统管理的新手,我有一个与权限相关的查询.我有一个叫做管理的小组.在管理组内部,我有用户user1,user2,user3,超级用户.所有用户都在管理组中.现在,我需要为用户超级用户授予权限,以便 ...

  5. linux 禁止其他用户登录,在Linux中如何禁止用户登录

    给user01用户设置密码,然后ssh登录测试一下: 输入密码之后,提示This account is current not available,然后连接就关闭了. 命令使用语法如下: 也可以手动修 ...

  6. linux的root用户默认密码,Linux下root初始密码设置方法

    Ubuntu刚安装后,不能在terminal中运行su命令,因为root没有默认密码,需要手动设定. 以安装ubuntu时输入的用户名登陆,该用户在admin组中,有权限给root设定密码. 给roo ...

  7. linux无法删除用户的组,Linux无法使用userdel删除用户和组的解决办法

    转自:http://www.linuxidc.com/Linux/2013-07/87371.htm 简述: 今天在看书的时候,看到有个实例,手痒痒的跟着做了起来...但是,出现问题了..测试的用户和 ...

  8. linux内核态用户态交互,Linux用户态和内核态交互的几种方式

    创建于 2013-04-13 迁移自本人的百度空间 -------------------------------- 1/内核态->用户态 在kernel module中调用printk是最简单 ...

  9. 网络里面计算机这么解除权限,电脑上软件的权限怎么关闭

    电脑上软件的权限怎么关闭 今天给大家介绍一下电脑上软件的权限怎么关闭的具体操作步骤. 1. 首先我们需要下载安装一个电脑管家的软件,请大家自行下载安装. 2. 安装之后,打开电脑管家软件,进入主页面后 ...

最新文章

  1. Go: 分布式学习利器(2)-- Go中的变量,常量 以及与其他语言变量之间的差异
  2. 使用node.js作为简单的Web服务器
  3. export default 和 export 区别(ES6)
  4. 成功解决lib\subprocess.py, line 997, in _execute_child startupinfo) FileNotFoundError: [WinError 2]
  5. MySQL数据库:explain执行计划详解
  6. SPOJ - NSUBSTR Substrings(后缀自动机)
  7. 丹佛大学计算机科学专业,丹佛大学
  8. 苹果7手机html5测试,HTML5 基础测试题
  9. P3177-[HAOI2015]树上染色【树形dp】
  10. 嵌入式linux移植ssh,将SSH移植到arm soc上
  11. C语言复杂声明解读简明方法
  12. xcode里面找不到头文件
  13. RabbitMQ 使用参考
  14. (转)DeepMind 的下一场博弈:用机器学习颠覆资产管理?
  15. 微信公众号是html页面吗,微信公众号网页开发
  16. oracle恢复误删除数据/数据回滚
  17. kuangbin专题十二 HDU1069 Monkey and Banana
  18. 掌握4点职场技巧,打破测试人中年危机
  19. 初识c语言加操作系统
  20. 电、气物联网联合管理监测方案

热门文章

  1. 四川汶川发生7.6级地震
  2. Vue 强制刷新(重新渲染)的方式
  3. 家庭娱乐用计算机,普通电脑轻松变身家庭娱乐影音共享中心
  4. AI魔法秀:D-ID助你打造视频虚拟数字人
  5. [转载]一个小公司老板的日常管理,希望能让创业的朋友学到东西
  6. php 返回400 bad request,400 bad request 手机怎么解决?
  7. centos7 安装两个mysql_centos7安装运行多个mysql实例笔记
  8. mangoszero linux编译,MaNGOS编译搭建
  9. linux内核的文档资料索引
  10. 基于改进YOLOv5的猕猴桃叶病害检测系统(完整源码&数据集&视频教程)