日期:2014-05-17  浏览次数:21043 次

linux 权限设置的问题
在ubuntu上搭建了服务器,根目录为/var/www,使用php脚本在/var/www/html文件夹下生成了文件夹和文件,生成的格式是/var/www/html/123456/sss.html,生成后查看html文件夹的权限是www-data,我执行php的删除脚本的时候脚本也不提示错误,执行完脚本后看html文件夹,创建的文件并没有被删除。在系统里面删除也删除不掉,提示没有权限,我用sudo chmod 777 /var/www/html -R 设置权限后系统里面可以删除,但是php脚本一样删除不掉,再次用php脚本生成文件,权限依然是www-data(前面已经用sudo chmod 777 /var/www/html -R设置过权限)无法删除文件。
我第一次用linux系统,对系统不熟悉,希望高手帮忙给个解决办法,不要说让我先去学习使用系统,工作需要,学习可以以后学习,现在要尽快解决这个问题,程序在windows使用一切正常。路过的高手帮帮忙,谢谢了。

------解决方案--------------------
有不少解决办法
给你转载下面内容

1 /home/aaa 是属于aaa用户的,具体的可以输出 ls -l 查看 
举个例子 当前文件夹是/home 运行 ls -l 
localhost home # ls -l 
总计 1 
drwxr-xr-x 10 aaa aaa 496 09-05 08:14 aaa 

可以看出来 aaa这个文件夹是属于aaa用户 aaa组的 第三列的aaa 表示用户 第四列的aaa表示组 , 

如果想吧aaa用户添加到root组 用以下命令 
usermod -G root aaa 
如果仅仅把目录 aaa添加到root 使用如下命令 
chgrp root aaa -v 
然后 ls -l的输出如下 
localhost home # ls -l 
总计 1 
drwxr-xr-x 10 aaa root 520 09-08 16:15 aaa 

-------------------------- 
2 linux下所有的东西都是文件, 文本和非文本是人为区分,先要理解这一点 

可读 , 可以被打开读取数据 
可写 , 可以被写入数据 ,[如果不可读而可写,那就是不能被打开 但是可以直接写入数据] ,也可以删除数据 
可执行 , 可以运行,二进制代码就直接运行了,失败则报错, 文本文件先交给shell处理,如果无法解析便报错,如果是脚本类型的文本,shell解析后交给相应的解释器来执行 

3, 这个牵涉到掩码问题, 一个用户拥有缺省的unmask ,假如你以aaa用户登陆 把另一个地方的pdf 属性为-rwx--r--r的文件复制到aaa文件夹下面, 哪么新的pdf文件的属性根据你的用户掩码也就是unmask来设置,具体掩码是什么呢 ,看下面 

unmask制定了新文件创建时的权限,unmask是个8进制的数字。 
root的缺省unmask是022,一般用户是002。 
例如:unmask为022的用户创建了一个新文件,那么新文件的权限644,而目录则为755。如果用户的umask为000,则创建的文件权限为666,目录权限为777, 
运行umask命令可以查看用户自己的umask值。 

综合以上 一般用户的缺省unmask是002 哪么 aaa新复制的pdf属性就是 664 可读写 也就是 -rw- rw- r-- 当然 aaa用户就可以删除了