Articles of 文件权限

如何在传递给fastcgi后端之前检查是否存在不可读取的文件?

我有几个PHP站点,我想根据权限分开。 因此,我创build了一个新用户并为这些用户设置了一个PHP池。 考虑下面的configuration: PHP-FPM以用户php身份运行 nginx以用户nginx身份运行 webroot是/srv/http ,可以通过php和nginx访问。 /srv/http/index.php文件可以被php读取,但不能被nginx读取。 fastcgi_stuff文件包含用于设置标题,设置后端等的基本fastcgi参数。假设静态文件和PHP文件的webroot是相同的。 下面的nginx.conf包含了这个configuration的要点,它被放置在一个server指令中: server_name example.com; root /srv/http; index index.php; location ~ \.php$ { include fastcgi_stuff; } 如果我通过上述configuration请求http://example.com/ ,则按预期加载页面。 对于http://example.com/does.not.exist ,我得到了预期的404。 为了防止将不存在的文件传递给PHP-FPM,我尝试添加下面的一行: try_files $uri =404; if ( !-e $request_filename ){ return 404; } 两者都不像广告一样工作,它试图打开文件,而不是通过执行stat()调用来检查存在。 我通过检查源代码并在工作进程上运行strace来确认这一点。 这是我遇到的一个基本情况,另一个案例是我隐藏扩展,因此把一个try_files $uri.php =404在位置块。 有什么build议么?

文件权限 – 服务vs控制台

我们刚刚为我们的Jenkins CI系统build立了一个新的Windows 2008 R2服务器。 我们的问题似乎与文件权限有所不同,具体取决于进程是服务还是控制台进程。 以UserX身份login时,我们可以成功执行dir /bc:\Windows\System32\q*.exe (实际命令)的目录列表,并返回6个文件。 但是,通过服务运行相同的命令,我们只得到5.相同的用户帐户。 同一台电脑。 更大的问题是,因为文件没有出现在目录列表中,所以无法执行。 似乎没有任何显示的文件之间的权限差异,没有。 有任何想法吗?

为了logging目的,如何在Windows中给用户“只能追加”访问权限

我有一个PowerShell脚本,它会执行一些数据并将其转储到日志文件中。脚本驻留在单个位置,快捷方式分发给所有人。 我想在脚本执行时logging事件; 我怎样才能让用户只追加访问日志文件; 我不希望他们删除日志; 他们只需要适应。 请让我知道任何问题或澄清。

设置默认文件权限:在具有组写入权限的Linux上创build文件

我正在复制(和处理)很多文件的服务器上运行openSUSE 11.0。 运行的某些服务接收到的新文件夹的默认权限为drwxr-sr-x ,文件为-rw-r–r– 。 我的目标是拥有像drwxrwsr-x这样的文件夹的默认权限,以及像-rwxrwsr–这样的文件,每次创build或复制一个新文件。 所以基本上我想保持组的写权限。 这个设置应该是针对一个特定的用户,而不是系统的! 文件/文件夹的组和所有者总是相同的,并且处理(服务和脚本)正在以这个用户的权限运行。 这个用户的umask是:0002.(所以umask不会减less组的默认写权限。) 在此先感谢您的帮助!

Git主要/枢纽网站部署:documentroot更改保存正常,但权限被拒绝子目录

遵循以Web为中心的Git工作stream程中的指示,我在Web服务器上设置了一个主要和集线器存储库,然后将集线器克隆到我的机器上。 我开始testing提交,并在文档中推送更改的文件,并且更改将显示在Web服务器的根目录上。 但是,当我试图推送一个子目录中的文件,我rec'd以下消息: remote: remote: **** Pulling changes into Prime [Hub's post-update hook] remote: remote: From /home/git/site_hub remote: * branch master -> FETCH_HEAD remote: error: unable to create file academy/testthegit2.html (Permission denied) 同样,web根目录没有权限问题,但是把一个文件放在一个子目录中,并抛出一个错误。 git用户在Apache组中,子目录是chmod 755。 这是枢纽的更新后: #!/bin/sh echo echo "**** Pulling changes into Prime [Hub's post-update hook]" echo cd /usr/local/apache/htdocs || exit unset GIT_DIR git […]

普通用户无法访问NFS4挂载(权限被拒绝)

我有nfsserver和nfsclient机器。 在nfsserver上: # cat /etc/exports /export gss/krb5p(rw,sync,fsid=0,no_subtree_check,crossmnt) /export/home gss/krb5p(rw,sync,no_subtree_check) 在nfsclient上挂载OK: # mount -vvv -t nfs4 -o sec=krb5p nfsserver:/home /homex mount: fstab path: "/etc/fstab" mount: mtab path: "/etc/mtab" mount: lock path: "/etc/mtab~" mount: temp path: "/etc/mtab.tmp" mount: UID: 0 mount: eUID: 0 mount: spec: "nfsserver:/home" mount: node: "/homex" mount: types: "nfs4" mount: opts: "sec=krb5p" mount: external […]

文件写入错误,同时通过FileZilla上传

我有一个用户可以在目录中创build文件的xyz,但是当我尝试在新创build的文件上写入内容时,它失败了。 该文件具有适当的读写权限的所有者,即xyz。 当我尝试通过根编辑相同的文件,它成功。 那么,有什么问题呢? 一切都在几天前完成,我在一个代理服务器下。 此外,即使给我的phpMyAdmin正确的用户名和密码,它login,但重新指向我的login页面。

如何列出与用户或安全组关联的所有NTFS和共享权限?

我们正在整理SBS 2003域控制器上的Active Directory。 存在一些安全组,我95%肯定是多余的。 我想100%确定他们在我删除它们之前不用任何地方。 我想find一个方法来产生一个全面的报告,列出与用户或安全组相关的所有NTFS和共享权限。 据推测我需要一个第三方程序来做到这一点? 有没有人在这里做过这样的事情? 任何build议将不胜感激。

PHPfile upload系统安全隐患

我已经使用PHP构build了一个小型的上传系统,但现在工作得很好,但是我遇到的问题就是我的工作方式。 我没有太多的安全背景,但是我现在正在努力学习。 所以为了让file upload系统正常工作,我需要改变一个文件夹的权限,我想把文件放进去。 所以我有一个Windows服务器,我find了文件夹>右键单击>属性>安全>编辑 这里有一个5组的列表 CREATOR 系统 pipe理员 用户 的TrustedInstaller 所以,当我上传一个文件,它上传到临时文件,然后系统将文件移动到正确的位置可以说/ vids。 原来“用户”组权限被设置为“拒绝”写权限,这意味着用户组无法将文件写入此位置,这意味着当系统尝试移动该文件时,会收到权限错误。 所以我改变“用户”组写权限“允许”写,它的file upload和移动工作就好了。 但是我担心从安全的angular度来看这是不好的做法? 从我看到的是,如果它有写权限的攻击者可以把脚本放在那个位置,然后执行它,这是正确的? 如果是这样,我怎么解决这个问题,并使其更安全?

Win2k3文件服务器上的组权限(貌似)被忽略

经过10多年的“单向”devise,我正在考虑许可结构,并意识到我们的业务已经发生了变化,足以应付我们现在的状况,而不是10年前的状况。 考虑到这一点,我创build了一组适当的人作为成员。 到现在为止还挺好。 我添加了新的组和成员后,过了几个小时。 然后,我们在我们的文件服务器上创build了一个新目录,并将新组“foo”设置为对该目录具有“完整”权限。 我是“foo”组的成员(我也是domain和entp admin的成员)。 当我点击“申请”时,目录内容就消失了(意思是把组“foo”设置为唯一可以访问新目录的组)。 点击浏览器中的目录,我得到“访问被拒绝”。 右击确认组“foo”具有完全访问权限(应包括“我”)。 检查我们的DC,我的帐户是“foo”组的骄傲成员。 连接到我所有的DC,我确认所有已复制此更新。 所以,我应该可以看到我的目录,但我不知道。 一旦我添加完全访问“大家”,我再次看到目录内容。 另外,如果我使用一个老的组,我可以看到我的文件目录很好,但新的组似乎根本没有工作。 我已经尝试将新组移到域中的新OU上,或者甚至移到一般的“用户”OU中。 它似乎没有阶段。 所有的DC和文件服务器都是win2k3。 这不应该是这个难… 任何线索? 我很难过 Thx提前。