在 Debian Testing (Wheezy) 64 位中,我尝试安装 TrueCrypt:
root@debian:/media/cdrom0# ls -l
total 47120
dr-xr-xr-x 3 root root 2048 Apr 3 2012 32Bit
dr-xr-xr-x 2 root root 2048 Apr 3 2012 64Bit
-r-xr-xr-x 1 root root 647 Aug 16 2011 AUTORUN.INF
-r-xr-xr-x 1 root root 6966 Apr 3 2012 autorun.sh
-r-xr-xr-x 1 root root 5523 Apr 3 2012 runasroot.sh
-r-xr-xr-x 1 root root 7669198 Apr 3 2012 VBoxLinuxAdditions.run
-r-xr-xr-x 1 root root 19237888 Apr 3 2012 VBoxSolarisAdditions.pkg
-r-xr-xr-x 1 root root 13618128 Apr 3 2012 VBoxWindowsAdditions-amd64.exe
-r-xr-xr-x 1 root root 282928 Apr 3 2012 VBoxWindowsAdditions.exe
-r-xr-xr-x 1 root root 7424032 Apr 3 2012 VBoxWindowsAdditions-x86.exe
root@debian:/media/cdrom0# ./VBoxLinuxAdditions.run
bash: ./VBoxLinuxAdditions.run: Permission denied
root@debian:/media/cdrom0#
为什么我Permission denied
以 身份登录时会出现这种情况root
?
答案1
您需要使用例如使文件可执行
chmod +x VBoxLinuxAdditions.run
然后运行它。如果你ls -l
之后再次检查,你会看到x
标志将被设置,表示“可执行”。
快速摘要维基百科:
类 Unix 系统上有三种适用于每个类别的特定权限:
这读权限,授予读取文件的能力。当为目录设置此权限时,授予读取名称目录中的文件(但不是以了解有关它们的更多信息(例如内容、文件类型、大小、所有权、权限等)
这写权限,授予修改文件的能力。当为目录设置此权限时,将授予修改目录中条目的能力。这包括创建文件、删除文件和重命名文件。
这执行权限,授予执行文件的能力。必须为可执行二进制文件(例如,编译的 C++ 程序)或 shell 脚本(例如,Perl 程序)设置此权限,以便允许操作系统运行它们。当为目录设置此权限时,如果知道文件名称,则授予访问文件内容和元信息的能力,但不能列出目录内的文件(除非设置了读取)。
编辑:如下面的评论中所述(或者如果注意到路径,则在原始帖子中/media/cdrom0/
),该文件位于只读媒体上。可以将完整结构复制到可写媒体并更改权限,或者可以使用显式解释器直接从光盘运行它们,例如
sh VBoxLinuxAdditions.run
或者
bash VBoxLinuxAdditions.run
如果这些解释器都不起作用,可以使用以下方法检查预期的解释器:
head -1 VBoxLinuxAdditions.run
但它很可能是一个常规的 shell 脚本。