如何使用 sudo 执行可执行文件?

如何使用 sudo 执行可执行文件?

我有一个可执行文件,但不知道它是什么类型或格式。当我像这样执行时

$chmod +x xfile
$./xfile

表明

Permission denied

当我以超级用户身份运行时

$sudo ./xfile

表明

sudo: ./xfile: command not found

我是 Linux 新手,请告诉我如何执行它。

答案1

奇怪的是,这里的情况正是如此。

首先,尝试找出该文件是什么:

file xfile

文件命令查看文件内部并根据某些“魔法”尝试找出该程序的作用。

根据您的描述,我猜想这是一个 shell 可执行文件,它试图执行另一个程序。如果是这样,为什么不使用以下方式发布 shell 可执行文件的代码:http://paste.ubuntu.com

答案2

遇到了同样的问题。在我的例子中,可执行文件存储在不同的驱动器上,这就是 chmod+x 不起作用的原因。

我将可执行文件复制到 Linux 目录(例如桌面),使用 chmod+x 设置权限,使用“./”运行可执行文件,然后它就成功了:)

答案3

问题是,除非设备的文件系统像ext3ext4,(对您来说可能是 FAT32),否则文件系统不会存储有关文件的太多元数据,包括可执行位。

当您这样做时chmod +x yourfilels -la yourfile您会注意到可执行位实际上尚未设置。

这里的解决方案是cp yourfile ~/yourfile; chmod +x ~/yourfile; ~/yourfile,因为安装Linux的文件系统具有可执行权限。

详细了解 *nx 权限模型

相关内容