我对网页开发相对较新,所以请耐心等待。 我主要是一个iPhone开发人员,但最近为其他人使用共享主机做了一个网站。 我可以写在PHP的文件在这个网站很好,而不必考虑权限。 我正在为我正在创build的新应用程序部署Web服务,但这并不是很顺利。 这里最重要的区别是我使用别人的服务器,只有FTP / DB访问。 基本上,我有一些PHP文件组成我的CMS,如下所示: mysite.com/admin/manage_news.php mysite.com/admin/manage_events.php 那些脚本然后编辑数据库或文件。 他们可以与数据库进行交互,但是,我的脚本无法写入文件系统。 例如,他们可能会尝试写入以下文件: mysite.com/data/img/event_1.png mysite.com/data/somefile.txt 这在我的MAMP安装(本地)上工作得很好,但是一旦部署到服务器,PHP每次尝试写入时都会发出错误…类似这样的内容: 无法打开文件“../data/img/someimage.png”进行书写。 所以我给运行服务器的人发邮件,他回来说: 它是否在公共许可下工作? (777) 而且,它确实 – 但是我对使用公共权限非常谨慎,所以请立即禁用它。 我发邮件给他说:“我怎样才能让我的PHP脚本使用标准的用户权限写”,他说: 把它作为公开的,它会没事的 我认为这是一个域名parsing中的IP冲突,但我并不担心。 然后我给他发电子邮件,说“肯定这是不安全的”,或者按照这个方式,他回答如下: 现实是有数以百万计的网站,包括我pipe理的几个文件夹上有777个,这只是一种生活方式。 任何人都可以给我一些我可以给他的解决scheme的想法吗? 或者我能做些什么来避免使用777? 我真的不喜欢在我的网站/服务上的任何文件夹的想法是公开可写的。 我非常感谢你的build议,因为我对networking服务器知之甚less。
我曾经在很多服务器上使用Ubuntu 10.04模板。 从12.04开始,我遇到了一些我现在孤立的问题。 / dev / urandom设备只能由root访问。 这导致SSL引擎,至less在PHP中,例如file_get_contents(https:// …)失败。 它也打破了ruby。 在一个chmod 644后,它可以正常工作,但不会在重新启动时保持不变。 所以我的问题。 为什么是这样? 我看到没有安全风险,因为…我的意思是..想偷一些随机数据? 我怎样才能“修复”它? 服务器是孤立的,只有一个应用程序使用,这就是为什么我使用openvz。 我想像一个运行级别的脚本或其他…但我该如何有效地做到这一点? Maby用dpkg还是apt? vor / dev / shm也一样。 在这种情况下,我完全理解为什么它不可访问,但我认为我可以“修复”它相同的方式来修复/ dev / urandom
我的apache DocumentRoot / var / www是另一个path的符号链接。 目标具有适当的文件上下文标签(httpd_sys_content_t),以便Apache可以在启用SELinux的情况下读取它。 但是,符号链接本身被标记为var_t。 [root@localhost var]# ls -lZ lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www 我需要用httpd_sys_content_t重新标记符号链接。 最初用-h选项运行chcon似乎工作: [root@localhost var]# chcon -h -t httpd_sys_content_t /var/www [root@localhost var]# ls -lZ lrwxrwxrwx. root root unconfined_u:object_r:httpd_sys_content_t:s0 www -> /srv/www 然而,这不能在重新贴上标签: [root@localhost var]# restorecon -Rv . restorecon reset /var/www context system_u:object_r:httpd_sys_content_t:s0->syst em_u:object_r:var_t:s0 使用semanage不会重新链接链接本身; 只是目标: [root@localhost var]# […]
我使用$ usermod -a -G adm logstash命令将用户logstash添加到组adm 。 其中一个logstash代理正在尝试读取的文件是/var/log/nginx/foo-access.log ,它具有以下权限: -rw-r—– 1 www-data adm 0 Jul 25 07:52 /var/log/nginx/foo-access.log 当我sudo su logstash我可以读取文件,但是,当我$ sudo service logstash_agent restart (init脚本作为logstash用户运行)它填充logstash日志: {:timestamp=>"2013-07-31T17:05:17.287000+0000", :message=>"failed to open /var/log/nginx/foo-access.log: Permission denied – /var/log/nginx/foo-access.log", :level=>:warn} 我可以确认logstash用户在adm组中: $ groups logstash logstash : logstash adm 这个文件绝对有正确的文件访问权限: $ getfacl /var/log/nginx/foo-access.log getfacl: Removing leading '/' from absolute path […]
我需要允许组“ftpusers”的成员能够更改某个目录内所有对象的权限。 我正在研究如何做到这一点,但我所发现的是如何在BSD上做到这一点: chmod + a“ftpgroup allow writesecurity”/ some / dir 我需要完全一样的东西,但Debian / GNU。 谢谢
自从开始的时候(或者只要我记得)linux系统已经有了一个“sys”和一个“adm”组。 他们的规范使用是什么? 对于“超级用户”组是否适合使用? (组目录,sudoers等组权限)。
我在我的网站(testing环境)有一个虚拟目录。 这是一个UNC共享,也被用作公共FTP。 它被configuration为连接作为域pipe理员帐户和“testing设置”说,一切似乎工作。 但是,当我尝试连接到它,我得到: 500 – “无法开始监视\ INTRANET \ FTP \ test \ web.config上的更改,因为访问被拒绝” 这是一个ASP.NET YSOD。 我不确定为什么ASP.NET会涉及到,因为它是我请求的静态.jpg文件。 我试图打开失败的请求跟踪,这是具体的错误: ModuleName WindowsAuthentication 通知2 HttpStatus 500 HttpReason内部服务器错误 HttpSubStatus 0 ErrorCode 0 ConfigExceptionInfo 通知AUTHENTICATE_REQUEST ErrorCode操作已成功完成。 (为0x0) 如果我将“物理pathlogintypes”从“ClearText”更改为“Network”。 我得到以下IIS错误: HTTP错误500.19 – 内部服务器 错误请求的页面无法访问,因为页面的相关configuration数据无效。 详细的错误信息模块IIS Web核心通知BeginRequest 处理程序尚未确定 错误代码0x80070005configuration错误由于权限不足,无法读取configuration文件 configuration文件\\ UNC \ INTRANET \ FTP \ test \ web.config请求的URL http://test.mydowmain.com:80/uploads/images/ca49acf6-6174-412e-8abd-59fab983e931.jpg 物理path\ INTRANET […]
我想创build一个帐户,将执行以下操作: 将计算机join域(不限于10,与普通用户一样) 检查AD中的计算机帐户 从AD中删除计算机 在OU之间移动计算机 我不想让它做任何事情,所以不要一个域pipe理员帐户。 任何人都可以引导我在正确的方向权限? 不知道我是否应该使用控制向导委派? 干杯, 本
在Linux中是否有一个工具会采用/var/log/httpd/error_log之类的path,并打印path每个分支的权限,即: /var: root:root, 0755 /var/log: root:root, 0755 /var/log/httpd: www-data:root, 0700 /var/log/httpd/error_log: www-data:www-data, 0644 这样的工具可以更容易地进行权限的故障排除,特别是在文件服务器等特别长的path上。
我有两台Linux服务器: 文件服务器 Debian 5.0.3(2.6.26-2-686) Samba版本3.4.2 阿帕奇 Ubuntu 10.04 LTS(2.6.32-23-generic) Apache 2.2.14 我有一些文件服务器上的Samba共享,以便我可以从Windows PC访问文件。 我也出口/data/www-data到Apache服务器,我把它挂载为/var/www 。 安装程序是可以的,除了当我来创buildNFS挂载文件。 我最终得到的文件不能被Apache读取,或者是我的系统上的其他用户无法修改的文件。 使用Samba,我可以指定force user , force group , create mask和directory mask ,这确保了所有文件都以适当的权限为我的Apache Web服务器创build。 我找不到用NFS做这个的方法。 有没有办法强制使用NFS的权限和所有权 – 我错过了一些明显的东西? 尽pipe我花了相当多的时间在Linux上,并且正在把自己从Windows上解放出来,但是我仍然没有把握Linux权限……如果这不是正确的做法,我很乐于替代build议。