Bash 启动某些命令,例如作为 root 用户而不是 root 用户

Bash 启动某些命令,例如作为 root 用户而不是 root 用户

我有以下问题。

当我作为机器的普通用户启动 df 命令时,它会输出我需要的内容:

在此输入图像描述

但是当我尝试从另一个用户(在本例中为 www-data)启动它时,我遇到了权限问题:

在此输入图像描述

据我了解,这是因为用户 www-data 没有足够的权限。但我不想提高他的特权。

如果允许该用户仅以 root 身份启动某些程序而无需输入 root 密码而不增加其权限,那就太完美了。如果我被要求输入一次 root 密码,并且能够以完全权限运行命令而无需再输入 root 密码,那也没关系。

笔记:

我有机器的 root 访问权限。

能以某种方式达到吗?

答案1

您想要修改该文件以允许任何人无需知道 root 密码即可/etc/sudoers运行。dfsudo

如何在没有密码提示的情况下以 root 身份运行特定程序?获取更多信息以进行设置。

答案2

这不是因为www-data没有足够的权限,而是因为www-data不拥有文件问题。这两个位置的权限可能都设置为drwx------,这意味着只有所有者才能读取该文件。 gvfs用于挂载点用户空间中的文件系统 (FUSE)因此由用户拥有并且/media/sh/...显然由用户拥有sh。由于/dev/sda4已安装到 所拥有的安装点sh,因此“www-data”无法遍历它。即使对于具有提升权限的用户来说,gvfs 文件系统通常也无法访问。

对于这个/media/sh/...问题,您可以更改该挂载点的权限,或者简单地卸载并重新挂载/dev/sda4到另一个具有drwxr-xr-x权限的挂载点。对于gvfs,你不能以其他用户的身份遍历它。有一些解决方法,但它们不应该在多用户系统上实现。

相关内容