我使用 krusader 进行文件管理。问题是 apache 的DocumentRoot
应该在chown www-data:www-data /path/to/www
. 所以使用 krusader(在我的帐户下运行)我没有写访问权限,/path/to/www
而我真的需要。不知道其他开发者怎么能在这样的限制下继续做事!
我想知道我是否可以运行 krusader,因为www-data
这样我就可以轻松地玩文件了。但是使用su - www-data
询问我www-data
的密码!
那么,如何在 Gnome 中以另一个用户(如 www-data)的身份运行应用程序(如 krusader)?
或者我的情况还有其他解决方案吗?(很难,我真的很想知道答案!)
请记住,我知道我可以以 root 身份运行它!但这会在使用cp
and时导致一些权限问题mkdir
,你知道的。
PS:
sudo
并gksudo
没有帮助:
$ gksudo -u -www-data krusader
No protocol specified
krusader: cannot connect to X server :0.0
最后说明:
根据最佳答案,我做到了chmod u+w /path/to/www
,我的问题解决了。但是我仍然没有成功以另一个用户身份打开krusader!
其中 uname = 模拟用户的名称。在那里看到: http ://ubuntuforums.org/showthread.php?p=10399617
在我的特立独行的盒子上工作,分叉的 Skype 中没有声音,并且 ~/.profile.d 没有按可能执行。
如果您从菜单系统运行它,您将要使用
alacarte
(系统 > 首选项 > 主菜单)并更改 krusader 的条目并在其前面添加:gksudo -u www-data
这应该会产生如下内容:gksudo -u www-data krusader
这将启动管理任务提示窗口,根据GKSudo 手册页,该窗口是
仅使用不带开关的 gksudo
-u
将以 root 身份运行该命令。就像 Marco 提到的,您可以使用
gksudo -u www-data <command>
以其他用户身份运行命令。我经常使用它来运行命令,gdm
到目前为止,除了我自己的密码之外,它从未要求我提供任何其他内容。如果您使用的是 kde,则等效于
kdesu -u www-data krusader
.我认为,由于 krusader 是一个 kde 应用程序,它可能会更好地与kdesu
. 有关 kdesu 的更多详细信息,请点击此处。我曾经
gksudo
在系统上以其他“人类”用户的身份运行命令,当我被提示输入密码时,我输入我的。要使用您自己的密码成为 www-data,请使用以下命令:
但是,我认为你不能从那里运行 GUI 应用程序..
我通常只拥有 中的所有内容
/var/www
,但允许所有人读取:我希望这能减轻你的痛苦:)
重新考虑这个问题(我希望正确理解您的问题,但如果我错了请纠正我),我找到了另一个解决方案,我认为您不需要将应用程序作为 www-data 运行,也不需要使用权限. 你之前这么说:
但实际上,这并不完全正确:Apache
DocumentRoot
必须由 读取www-data
,但不一定由它所有。默认情况下,在 Ubuntu Desktop 中,您创建的所有文件和目录都可供所有人读取,因此您可以将 DocumentRoot 设置为主文件夹内的目录,例如:我相信您需要在终端运行以下命令:
然后你可以这样做:
最后,运行您的应用程序:
应该这样做,
<user-to-run-as>
当然要确保用您的用户名替换。'gksu' 和 'kdesu' 都是 'sudo' 的图形前端,这是您在纯文本环境中应该使用的工具。'gksu' 和 'kdesu' 工具要求您处于图形模式,这解释了“无法连接到 X 服务器”错误。
如果您想以不同的用户身份执行控制台命令,请使用命令“sudo -u username command”。
在 www-data 下运行图形应用程序会给您带来几个问题。您可以做的一件事是将自己添加到 www-data 组,这样您就可以更改所需的所有文件:
注意:您可能需要从会话中注销才能使更改生效。
如果在此命令之后,您仍然无法更改某些文件,请确保您对它们具有写入权限:
受 Anton S. Kraievoy 的启发,我使用了类似的解决方案,这对我有用。在使用 Krusader 的用户中,我向 xhhost 添加了一个新用户:
比请登录:
比 krusader 作为新用户中的新实例正确启动:
请注意,将在 ~/.kde/share/config/krusaderrc 中创建一个新配置。