嘿,我的服务器上有一些文件的所有者设置为“apache”,我不太清楚这是怎么发生的。
无论如何,我需要将这些文件的权限更改为 0777,以便我可以下载/编辑它们。但我做不到。
我正在使用 1and1 Linux 服务器并使用 Plesk 来管理它。
我可以通过 SSH 登录。但是,如果我运行 chmod 或 chown,我会收到“权限被拒绝”错误,如果我尝试 sudo chmod 或 chown,它会说找不到该命令。
当我编辑我的域名详细信息时,我得到了这个选项
Shell access to server with FTP user's credentials
并有这些选择
/bin/sh
/bin/bash
/sbin/nologin
/bin/bash (chrooted)
/bin/rbash
你知道我应该如何更改权限或更改所有者吗?
谢谢
答案1
使用 php 的 chmod 函数。
<?php
chmod("/somedir/somefile", 0777);
?>
您也可以使用 shell_exec 函数
<?php
echo shell_exec("chmod 777 /somedir/somefile");
?>
答案2
这个问题可能有点愚蠢,但你试过 su 吗?我假设你对服务器有完全控制权(它不是共享网络主机之类的),因为他们不会把所有人的文件放在同一个用户“apache”下
答案3
您需要以 root 身份更改“外部”文件的所有者。如果您无法获得 root 访问权限,您可以尝试通过 php 更改文件的权限。
尝试在浏览器中运行php脚本,脚本的所有者应该是apache用户。