linnux下setgid与setfacl的结合,解决apache自动生成文件权限问题

setgid与setfacl的结合,能够解决apache/nginx自动生成的文件导致ftp用户删除时权限不足的问题。

需求这样的:

1:ThinkPHP框架运行时生成Runtime(755)文件,文件权限所有者为apache:apache用户、组。

2:而ftp用户已属apache组用户,因为Runtime文件夹的所有组(不可写),所以此文件夹下面的文件无法被ftp用户删除,而开发的时候又需要实时的删除缓存文件来使更改生效。

关于两个命令的讲解建议观看另两篇文章:

setgid

setfacl

这里是执行setgid以后的目录效果:

#chmod g+s Runtime/

#setfacl -m d:g:www-data:rwx Runtime/

然后

#getfacl Runtime

现已完全okay,ftp用户可以完全删除项目框架运行生成的缓存文件

时间: 2024-08-06 18:48:29

linnux下setgid与setfacl的结合,解决apache自动生成文件权限问题的相关文章

centos7下,解决Apache错误日志文件过大问题

1,日志文件太大问题 第一步:停止Apache服务的所有进程,删除 /var/log/httpd目录下的 error.log.access.log文件 第二步:打开 /etc/httpd/conf 的 httpd.conf配置文件 并找到下面配置 ErrorLog logs/error.log 把上面的注释掉,换成 # 每天生成一个错误日志文件 ErrorLog "|/usr/sbin/rotatelogs /var/log/httpd/error_log%Y%m%d.log 86400 480

spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE b

iOS 7.1下itms-services在线安装失败的解决方法

前段时间,接到客户的求助,主要是关于无法通过safari在线安装企业级应用的问题.经过一系列测试都没有发现相同现象,最后发现客户使用了还原的功能,把iPad的iOS升级到了7.1.网上搜索了一下,发现从iOS7.1开始,之前使用itms-services://URL方式在线安装ipa文件的方法都失效了,主要表现为在点击安装的时候,会报错为:"无法安装应用程序,因xxx.com的证书无效". 主要原因是苹果公司在iOS 7.1中修改了manifest.plist文件的访问协议,把原来的h

关于myeclipse10.6安装路径下没有common这个目录的解决方法

大家都知道myeclipse10.6破解就是找Myeclipse下的Common\plugins目录进行替换文件,从而破解! 一般情况下,common这个目录就在安装myeclipse的安装目录下,但特殊情况喜爱不在安装目录下: 原因可能如下: 安装时文件夹没有访问权限,导致在安装目录下写不进Common\plugins目录 myeclipse官方故意进行影藏,以防用户进行对此文件的修改: 解决方法如下: 对第一种情况,安装是右击安装包,点"以管理员身份运行". 安装后找安装目录看是否

Linux下忘记用户名和密码的解决方法

今天用vmware workstation安装了ubuntu,不记得用户名和密码是什么了,郁闷,还好ubuntu修改密码很简单,方法如下: 进入shell(Drop to root shell prompt) 1.      在ubuntu启动界面长按shift键进入GRUB界面,选择第二项,进入recovery mode 2.      在recovery mode中,选择root 找到用户名 在shell中输入cat /etc/shadow列出所有用户名 可以看到忘记的用户名就在倒数第三行

win7下zend studio5.5中文乱码解决方法

win7下zend studio5.5中文乱码解决方法 1.打开 C:Documents and SettingsAdministratorZDEconfig_5.5desktop_options.xml(这个地址要根据自己的电脑而定.) 2.查找 editing.encoding 3.修改里面为 <encoding name=”UTF-8″/> 4.保存,并将该文件属性设置为只读,否则zend每次启动都会将 desktop_options.xml 初始化 5.重启 zend 注意,你现在打开

mac系统下为emacs设置中文字体,解决乱码问题

最近换了个系统,现在用mac系统. 当打开emacs后,中文支持的不是很好.有的地方能显示,在.el文件的注释里显示为口口口口口口口口这样的框,如下图所示 找了半天,是因为中文字体的问题,只要设置好中文字体就行了. 以前在Linux下中文就支持的很好,不用配制中文字体就能显示. 配制代码如下(将其放到.emacs文件或init.el里就OK): ;; -------------------------------------------------------------------------

Mac 下 Terminal 中 Java乱码的解决方法

在 .bash_profile 中增加一行 export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 就可以了. Mac 下 Terminal 中 Java乱码的解决方法,布布扣,bubuko.com

html页面顶部出现一段空白,检查控制台发现body 下出现&amp;#65279字符,原因及解决办法

html页面顶部出现一段空白,检查控制台发现body 下出现&#65279字符,原因及解决办法 分析: 原来是页面编码时增加了BOM,此页面后端数据主要是PHP语言,对PHP来讲PHP在设计时没有考虑BOM问题,,不会忽略UTF-8编码的文件开头BOM的那三个字符,会把BOM作为该文件开头正文的一部分.由于必须在<?或者<?php后面的代码才会作为PHP代码执行,所以将会造成在页面上输出这三个字符,显示效果就要看浏览器了,一般是一个空行或是一个乱码.由于在html一开头有这3个字符的存