Linux普通用户之间开放文件夹权限
本文最后更新于 2025年4月9日 晚上
背景:想要用户A目录下编译好的可执行文件开放给用户B用,并且只给B权限。无sudo权限。
采用linux自带的ACL(Access Control List,访问控制列表)功能,需要系统中可用setfacl
命令。
用户A的用户目录为/share/home/A,可执行文件在/share/home/A/test/A.sh,用户B的用户目录为/share/home/B,
- 首先确保只有自己可以执行脚本,在A账号下执行:
1 |
|
- 使用ACL给用户B添加访问和执行权限,在A账号下执行:
1 |
|
- 在大多数 Linux 系统中,用户 A 的主目录 /home/A 默认权限为 700(即仅所有者可访问),这会阻止其他用户(包括 B 用户)进入该目录。为了让 B 用户能够顺利执行脚本,你需要在保证隐私的前提下,允许其“穿越”(execute 权限)用户 A 的主目录,而不列出目录内容。
1 |
|
如果以后往test文件夹里新加了东西,还要执行一遍
chmod -R 777 ~/test
确保赋予权限在用户B的终端中执行
/share/home/A/test/A.sh
,查看是否成功