linux 设置文件夹权限包括子文件夹

2024-11-16 12:40:39
推荐回答(5个)
回答1:

添加上 -R选碰隐项即可...
-R, --recursive
change files and directories recursively

recursive是递归的意思...

比如我想改变 test下的所有文件权限

su root

chmod a+x -R test

这个只能改变权限

另:
不管www下的子目录或者文件更改、删除或者新增文件、子目录。。。这个权限好像是无法保证的...

但是返吵梁,可以通过umask设置用户创建文件的默认权限...

这个设置之后,特定用户再创建的文件的默认权限都会变化,但是达不到你要的仅仅某文件夹下创建的文件权限固定...

你为什么想解除权限呢漏运..弄成777干啥...

回答2:

补充楼上的权限部分。

一定要在 权限数字前有个 0 。
也就是楼上的命令应该为 chmod 0700 /home/ftp

有了这个 0 ,表明这个数字是 8 进制的。
转换为 2 进制也就是
111000000
每一个二进制数字分别对应:(1表示允许,正衫0表示不允许)
所有者读,写,运行;所在组用户读,写,运行;其举码腔他人读,写,运行
正好 9 个位置。
注意如果目录不能运行,那就表明不能模迹 cd 进去(目录当然不能运行,所以他被当成了“进入”的权限控制)

(当然总的权限不光就这几个位,但简单权限系统就是这样的表示权限)
请参考

回答3:

建议使用 ACL (访问控制列表,Access Control List)

印象里 SELinux 也有实现的方式,脊枣改但具体怎么做没注意过。如果多用户使用,建议选择 ACL 。这需要修改分区的挂载方式,加上参数打开 acl 。

这东西好处是用起来感觉和 NTFS 的文件权限樱判设置一样。岩团可以单独设置每个文件的每个人的权限。(其实貌似 NTFS 的多用户功能就是 ACLs 的)
请参考

回答4:

chmod -R 777 /var/www 这个只能实敏则缺现对现有的文件递归设置为 777,对于新增文件又得重新运行盯陪一遍命令。桥辩
你可以设置 文件属性为 6777 ,可实现新增文件自动从属上级目录的用户和组,再将 www 的用户设置为 nobody 是否可以实现你想要的功能?

回答5:

sudo chmod -R 777 /var/www完美解决。
-R就是递归处理的意思