Linux中通过setfacl实现目录下创建文件
来源:互联网 发布:js实现加载等待效果 编辑:程序博客网 时间:2024/05/29 09:20
在Linux 系统中,可以通过setfacl 来实现目录下创建文件或子目录,并继承父目录的权限。
下面以 root 用普通用户 user1 .在目录/mnt下
[root@RedHat-7 mnt]# setfacl -m u:user1:rwx share //为目录添加ower = user1 ,并赋予rwx 的权根。
[root@redhat-7 mnt]# setfacl -d -m u:user1:rwx share //为目录添加默认的acl权限,此目录下创建目录和文件都会继承此权限信息
[root@redhat-7 mnt]#
[root@redhat-7 mnt]#
[root@redhat-7 mnt]# getfacl share //查看share的facl信息
# file: share
# owner: root
# group: root
user::rwx
user:user1:rwx // 此时user1才能对share有写权限
group::r-x
mask::rwx
other::r-x
default:user::rwx //默认子目录或文件的权限信息
default:user:user1:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
[root@redhat-7 mnt]# cd share/
[root@redhat-7 share]# ls
[root@redhat-7 share]# touch roota
[root@redhat-7 share]# touch rootb
[root@redhat-7 share]# mkdir rootdir1
[root@redhat-7 share]# mkdir rootdir2
[root@redhat-7 share]# ls
roota rootb rootdir1 rootdir2
[root@redhat-7 share]# getfacl roota
# file: roota
# owner: root
# group: root
user::rw-
user:user1:rwx #effective:rw-
group::r-x #effective:r--
mask::rw-
other::r--
[root@redhat-7 share]# getfacl rootdira
getfacl: rootdira: No such file or directory
[root@redhat-7 share]# getfacl rootdir
rootdir1/ rootdir2/
[root@redhat-7 share]# getfacl rootdir1
# file: rootdir1
# owner: root
# group: root
user::rwx
user:user1:rwx
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:user1:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
[root@redhat-7 share]#
现在用user1 进入此目录来检测权限:
[user1@redhat-7 share]$
[user1@redhat-7 share]$
[user1@redhat-7 share]$
[user1@redhat-7 share]$ ll
total 8
-rw-rw-r--+ 1 root root 0 Nov 19 22:52 roota
-rw-rw-r--+ 1 root root 0 Nov 19 22:52 rootb
drwxrwxr-x+ 2 root root 6 Nov 19 22:52 rootdir1
drwxrwxr-x+ 2 root root 6 Nov 19 22:52 rootdir2
[user1@redhat-7 share]$ touch user1a
[user1@redhat-7 share]$ touch user1dir1
[user1@redhat-7 share]$ getfacl user1a //查看新文件的权限
# file: user1a
# owner: user1
# group: user1
user::rw-
user:user1:rwx #effective:rw-
group::r-x #effective:r--
mask::rw-
other::r--
[user1@redhat-7 share]$ rm roota //尝试删除root创建的文件,成功
[user1@redhat-7 share]$ rm rootdir1 //尝试删除root创建的目录,成功
rm: cannot remove arootdir1a: Is a directory
[user1@redhat-7 share]$ rm rootdir1 -r
[user1@redhat-7 share]$ ll
total 4
-rw-rw-r--+ 1 root root 0 Nov 19 22:52 rootb
drwxrwxr-x+ 2 root root 6 Nov 19 22:52 rootdir2
-rw-rw-r--+ 1 user1 user1 0 Nov 19 22:57 user1a
-rw-rw-r--+ 1 user1 user1 0 Nov 19 22:57 user1dir1
[user1@redhat-7 share]$
所以,当有需求要做权根的继承操作时,可以使用这个方来实现。
在新的rhel7 中, 会有新的工具chacl 类似于 setfacl .
- Linux中通过setfacl实现目录下创建文件
- Linux下创建文件共享目录
- linux中进入一个目录需要什么权限,在目录下创建文件需要什么权限
- Linux中想进入一个目录、 在目录下创建文件、在文件内部删除文件 各需要什么权限?
- Linux中想进入一个目录、 在目录下创建文件、在文件内部删除文件 各需要什么权限?
- Linux中想进入一个目录、 在目录下创建文件、在文件内部删除文件 各需要什么权限?
- linux下创建目录,清空目录文件
- linux下对一个文件设置多个组的权限(setfacl getfacl)方法--管理配置
- linux下对一个文件设置多个组的权限(setfacl getfacl)方法--管理配置
- php中通过递归实现删除目录下的所有文件。
- Linux中ACl权限- getfacl, setfacl
- linux 下实现文件与目录删除
- linux下通过acl配置灵活目录文件权限(详细)
- 在Linux下进入目录,在目录中创建文件并显示出来各需要什么权限
- python实现递归遍历目录(linux下测试通过)
- Linux目录遍历实现 -- 列出当前目录下所有文件
- Linux下打开目录、创建文件的权限
- C++实现Linux下遍历指定目录下的文件
- jdbc链接数据库,获取表名,字段名和数据
- 第十三周 项目五:字符串操作(1.1)
- 避免oo中违反依赖倒置原则
- Android 使用命令dumpsys查看程序的内存情况
- [LeetCode] Remove Duplicates from Sorted List
- Linux中通过setfacl实现目录下创建文件
- 类型初始值设定项引发异常
- iOS5中 UIViewController的parentViewControlle
- BW变量增强笔记
- SQL数据类型详解
- Evaluate Reverse Polish Notation (leetcode)
- 传奇世界2 单机版
- Apache Mina开发手册
- 程序员人生的出口(写的真不错,对程序员能有一个清晰的认识)