linux之acl管理文件权限

简介:

本文系统Centos6.0

本人不得不承认之前真不知道这个命令,也是昨天听了一个讲师的课提到此命令,(了解的大神跳过吧,别吐槽我j_0012.gif)在此和大家分享下:

getfacl

setfacl

此命令是干嘛用的呢?相信很多人查看文件、目录的所给予的权限的时候大多都是

ls -l filename 

这里本人先演示下getfacl

1
2
3
4
5
6
7
8
[root@centos ~]# getfacl install.log
# file: install.log
# owner: root
# group: root
user::rw-
group::r--
other::r--
[root@centos ~]# cp install.log /

上面的结果不用我解释了吧;

演示setfacl  (我本地已经创建个zhangsan、lisi两个用户)

1、相信zhangsan是不能修改install.log文件的,那我怎么让他可以修改呢?

1
2
3
4
5
6
7
8
9
10
11
[root@centos /]# setfacl -m u:zhangsan:rw /install.log
[root@centos /]# getfacl /install.log
getfacl: Removing leading  '/'  from absolute path names
# file: install.log
# owner: root
# group: root
user::rw-
user:zhangsan:rw-
group::r--
mask::rw-
other::r--

这里解释下:

-m (modify)  #修改文件权限

u:zhangsan:rw   #用户zhangsan可以读写

测试:现在切换张三,可以随便/install.log这个文件

1
2
[root@centos /]# su - zhangsan
[zhangsan@centos ~]$ vim /install.log

可以随便修改了

2、我想让一个其他组的人可以rwx某脚本怎么办呢?

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@centos /]# usermod -a -G zhangsan lisi
[root@centos /]# setfacl -m g:zhangsan:rwx /install.log
[root@centos /]# getfacl /install.log
getfacl: Removing leading  '/'  from absolute path names
# file: install.log
# owner: root
# group: root
user::rw-
user:zhangsan:rw-
group::r--
group:zhangsan:rwx
mask::rwx
other::r--

现在 zhangsan组里的用户zhangsan、lisi可以随便操作该文件了;

3、撤销权限,比如用户zhangsan

1
[root@centos /]# setfacl -x u:zhangsan /install.log

这样就撤销了zhansan的权限,但是注意现在他还是可以rw的,因为我已经将组也赋予权限了

你可以将zhangsan移除组;或许你想取消该组的权限的话,操作下面命令即可

1
[root@centos /]# setfacl -x g:zhangsan /install.log

4、比如你想取消所有的权限,不想一个个取消的话,可以操作下面命令

1
2
3
4
5
6
7
8
9
[root@centos /]# setfacl -b /install.log
[root@centos /]# getfacl /install.log
getfacl: Removing leading  '/'  from absolute path names
# file: install.log
# owner: root
# group: root
user::rw-
group::r--
other::r--

-b, --remove-all   (-b 表示 --remove-all)

5、如果你想给目录赋予权限呢?

1
2
[root@centos /]# mkdir /test
[root@centos /]# setfacl -R -m u:zhangsan:rwx /test/

-R (recursive) 递归赋予权限

现在zhangsan用户可以随便在/test目录操作:

注意:关于目录赋予权限必须要x权限

关于给组赋值是一样的

1
[root@centos /]# setfacl -R -m g:zhangsan:rwx /test/



本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1275901


相关文章
|
30天前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
62 5
|
1月前
|
搜索推荐 Shell Linux
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
38 2
|
18天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
29天前
|
安全 Ubuntu Shell
Linux之用户权限和文件权限详解
Linux之用户权限和文件权限详解
|
12天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
103 2
|
18天前
|
存储 缓存 监控
Linux内存和硬盘空间管理技巧
了解Linux内存和硬盘管理技巧,提升系统性能和稳定性。使用`free`, `top`, `vmstat`监控内存,通过`sync`, `echo 1 > /proc/sys/vm/drop_caches`清理缓存。利用Swap分区释放内存。借助`df`, `du`检查硬盘空间,清理无用文件,使用`clean-old`, `gzip`, `tar`压缩归档。查找大文件用`find`和`du`,确保
33 0
|
25天前
|
存储 固态存储 Unix
Linux中磁盘分区和文件系统管理
在Linux系统中,磁盘是存储数据的物理设备,如HDD或SSD,以文件形式存在于`/dev`目录下,如`sda`、`sdb`等。文件系统定义了如何在磁盘上组织和访问数据,常见的Linux文件系统有ext2、ext3、ext4、xfs等。通过虚拟机软件如VMware,用户可以向Linux虚拟机添加新的硬盘。
|
29天前
|
Linux
linux中服务管理
在Linux服务管理中,从传统的System V init到Upstart,再到广泛采用的systemd,管理方式不断发展。systemd以其强大的功能和依赖解决成为现代Linux的核心。`systemctl`是管理服务的关键命令,如启动(`start`)、停止(`stop`)、重启(`restart`)服务及设置开机启动(`enable`)或取消(`disable`)。了解和服务管理,特别是systemd和`systemctl`的使用,对系统管理员至关重要。其他如xinetd用于控制网络服务,而特定环境下有OpenRC等工具。
17 2
|
30天前
|
监控 Linux 调度
【Linux 应用开发 】Linux 下应用层线程优先级管理解析
【Linux 应用开发 】Linux 下应用层线程优先级管理解析
48 0
|
1月前
|
存储 Linux 程序员
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
【Linux C/C++ 堆内存分布】深入理解Linux进程的堆空间管理
76 0