我有一个目录,我曾经在这个目录中备份过来自 Ubuntu 的 owncloud 文件。它由用户 33 和组 33 拥有,在 Ubuntu 中,它们是 www-data (Apache) 用户和组。现在我已将服务器的操作系统更改为 OpenSUSE,Apache 的用户和组分别为 wwrun 和 www,ID 为 459。我很确定(虽然我没有尝试过,但这与问题无关)当我挂载该卷并尝试备份其中的内容时,这会给我带来问题(不是每个人都可以写入)。
因此我尝试改变该目录的所有权和/或权限,但即便如此sudo
也sudo -u www-data
无能为力。
还有一些类似的问题(例如这,15 岁),但我找不到任何答案:在这种情况下是否有可能更改所有者或权限?如果可以,怎么做?
更多信息
我尝试了命令sudo chown -R user:user path/to/dir
,sudo -u wwwrun chown -R user:user path/to/dir
(因为我是从 OpenSUSE 执行的)和sudo -u www-data chown -R user:user path/to/dir
(因为我是对 Ubuntu 执行的)
,但每次都出现错误permission denied
。
然而我还应该说,与此同时我通过使用我的 uid 和 gid 安装磁盘“解决”了这个问题,现在我可以完全访问它了。
如果能知道为什么这些命令不起作用就更好了,因为就像我说的,通过搜索我发现其他人也有这个问题。
答案1
您可以使用以下命令毫无问题地更改所有者:
cd /var/www # or wherever they are web files
chown -R wwrun:www *
这会将文件和目录的所有者更改为wwrun
,并将组更改为www
来自评论:您可以使用选项--from
:
chown -R wwrun:www --from=33:33 *