如何解决/ var / www复制/写入权限被拒绝?

时间:2009-09-27 21:59:06

标签: unix permissions cp

我是php,mysql的新手。我写了一个hello.php脚本,我试图将其复制到/ var / www目录中(稍后将要通过Web浏览器打开它)。同样的问题是,尽管我是root用户,但我不允许在/ var / www中保存/写入任何文件。我尝试在this问题中实现步骤,但在处理第三行时出现以下错误

find /var/www/ -type f -exec chmod g+w '{}' ';'
chmod: changing permissions of `/var/www/index.html': Operation not permitted

我知道符号链接也是一种选择。我希望能够直接将文件写入/复制到/ var / www /目录。

关于出了什么问题的任何建议?

12 个答案:

答案 0 :(得分:16)

这是* unix权限的问题,获得root访问权限,例如键入

sudo su
[then type your password]

并尝试做你必须做的事情

答案 1 :(得分:13)

你在开发环境中吗?为什么不做呢

chown -R user.group /var/www

这样您就可以与您的用户一起写信了。

答案 2 :(得分:8)

你有一个名为hello.php的/var/www文件已经拥有权限吗?也许系统无法替换文件?

虽然root访问权应取代系统上的任何用户。

您是否尝试过对www文件夹应用权限?

如果可以,请尝试以下操作:

sudo chmod -R 777 /var/www

然后做:

sudo cp hello.php /var/www

如果您100%知道可以在整个www文件夹上设置权限,我建议您执行此操作。通过它的声音,您在自己的生产服务器上运行,因为大多数实时/共享托管服务器都已设置,以便www文件夹不在/ var文件夹中(而是在用户的主文件夹中) )。

使用sudo前缀做任何事情都要非常小心,如果你做错了,你可能会严重损坏你的系统。

答案 3 :(得分:1)

今天遇到类似的问题。没有在这里看到我的修复,所以我想我会分享。

Root无法删除文件。

我做了我的研究。原来有一种叫做不可变的东西。

# lsattr /path/file
----i-------- /path/file
#

正在配置的这个位阻止了root用户修改/删除它。

为了删除这个,我做了:

# chattr -i /path/file

之后我可以发送文件。

相反,这是一个巧妙的诀窍,知道你是否有想要避免的东西。

:)

答案 4 :(得分:1)

sudo chown -R $USER:$USER /var/www

答案 5 :(得分:0)

首先,这与php无关。这是一个unix权限问题。您需要以超级用户(sudo / su)身份登录并输入密码,然后尝试该命令。

$ su
(type password )
\# your command

$ sudo command
$ (type password)

如果您实际指定了所使用的操作系统,它也可能会有所帮助。

答案 6 :(得分:0)

sudo cp hello.php /var/www/

你得到什么输出?

答案 7 :(得分:0)

如果以上都不起作用,您可能正在处理vfat文件系统。使用“df”进行检查。

有关详细信息,请参阅http://www.charlesmerriam.com/blog/2009/12/operation-not-permitted-and-the-fat-32-system/

答案 8 :(得分:0)

首先,您需要以root身份登录,然后转到/ etc目录并执行下面给出的一些命令。

[root@localhost~]# cd /etc
[root@localhost /etc]# vi sudoers

并在结尾输入此行

kundan ALL=NOPASSWD: ALL

其中kundan是用户名而不是保存。然后尝试传输文件并将sudo作为前缀添加到要执行的命令中:

sudo cp hello.txt /home/rahul/program/

其中rahul是同一服务器中的第二个用户。

答案 9 :(得分:0)

您只需撰写sudo而不是su

然后只需将PHP文件复制到var/www/ directory

然后转到浏览器,编写本地host/test.php.php文件名。

答案 10 :(得分:0)

在你要修改的目录中输入以下命令吧:

例如目录:/var/www/html

sudo setfacl -m g:username:rwx . #-> for file

sudo setfacl -d -m g:username: rwx . #-> for directory

这将解决问题。

用您的用户名替换用户名。

答案 11 :(得分:0)

问题是权限问题导航到var/www/ 右键单击它并选择以管理员身份打开 然后继续你的工作