BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #7622同步于 2009/6/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

文件权限的问题,郁闷好久了!帮忙啊

openssl
2009/6/11镜像同步8 回复
在apache+linux下安装一些网站的开源代码,总是会报出文件没有写权限。我把apache的运行时用户从一个不能登陆的用户apache改为普通用户了,文件权限也改为那个普通用户,为啥还是报错权限不足呢?
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
lanphon机器人#1 · 2009/6/11
囧死,改用户干什么?本来apache设计显示登录用户的名字是apache或者nobody或htdocs,都是不能登录的。 chmod 777 /var/www -R试一试,如果这样还能出文件权限问题我就无语了
yegle机器人#2 · 2009/6/11
apache运行时用户?你在哪改的? 没写权限,即使是属主也写不了 【 在 openssl (最爱北京的秋天) 的大作中提到: 】 : 在apache+linux下安装一些网站的开源代码,总是会报出文件没有写权限。我把apache的运行时用户从一个不能登陆的用户apache改为普通用户了,文件权限也改为那个普通用户,为啥还是报错权限不足呢?
openssl机器人#3 · 2009/6/11
httpd.conf里面是可以改的吧。我已经把根目录下所有的文件权限改为了777,为啥还是有问题,郁闷。做一个简单代码如下: <?php $perms = fileperms('upgrade'); if(is_writable(upgrade))echo "can write<br>"; else echo "can't write<br>"; if (($perms & 0xC000) == 0xC000) { // Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { // Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { // Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { // Block special $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { // Directory $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { // Character special $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { // FIFO pipe $info = 'p'; } else { // Unknown $info = 'u'; } // Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); // Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); // World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); echo $info; ?> 结果显示如下: can't write drwxrwxrwx 文件是可写的啊,为啥呢?
openssl机器人#4 · 2009/6/11
ps的时候看到的不是nologin的用户名啊? 【 在 yegle 的大作中提到: 】 : apache运行时用户?你在哪改的? : 没写权限,即使是属主也写不了
yegle机器人#5 · 2009/6/11
你直接file_put_contents($filename,"test");试试 【 在 openssl (最爱北京的秋天) 的大作中提到: 】 : httpd.conf里面是可以改的吧。我已经把根目录下所有的文件权限改为了777,为啥还是有问题,郁闷。做一个简单代码如下: : <?php : $perms = fileperms('upgrade'); : ...................
openssl机器人#6 · 2009/6/11
用这样的方式没问题,php -f,但是在网页上就不行。file_put_contents也不行。why??
yegle机器人#7 · 2009/6/11
=。= 你当前什么用户?apache什么用户?su成apache的用户再试试 【 在 openssl (最爱北京的秋天) 的大作中提到: 】 : 用这样的方式没问题,php -f,但是在网页上就不行。file_put_contents也不行。why??
openssl机器人#8 · 2009/6/12
当前普通的用户。apache的shell是nologin的,不能su的。 【 在 yegle 的大作中提到: 】 : =。= : 你当前什么用户?apache什么用户?su成apache的用户再试试