列表权限

列表权限

我是一名生物医学科学家,在运行我们的一位合作者编写的自定义数据分析流程时遇到了麻烦。他的脚本崩溃了

/bin/sh: 1: /usr/local/bin/FastQC/FastQC_v0.10.1: Permission denied
make[2]: *** [/home/kat/gentrap.git/gentrap_OUT/1_Bira_TAAGGCGAGAGTAG_R1.fastqc] Error 1
make[2]: Leaving directory `/home/kat'

问题是,我已经让自己成为/usr/local/bin/FastQCsudo chown -R user:user /usr/local/bin/FastQC)的所有者,并授予自己读/写/可执行权限(sudo chmod -R +rwx /usr/local/bin/FastQC)。我尝试使用列出权限ls -la,但输出让我有点困惑:

drwxr-xr-x 3 kat  kat  4096 mei  8 14:20 .
drwxr-xr-x 5 root root 4096 mei  8 14:20 ..
drwxr-xr-x 7 kat  kat  4096 mei  8 14:20 FastQC_v0.10.1

据我了解,这意味着我是当前目录和子目录的所有者FastQC_v0.10.1,并且我应该拥有所有权限。Root 是父目录的所有者,即/usr/local/bin。我读这个输出正确吗?为什么脚本会因为权限不足而崩溃?

答案1

我遇到了同样的错误。我最终将 FastQC 放到/usr/share,因为许多其他包都放在那里,并按照安装指南的建议将链接放到/usr/local/bin。然后我更改了 下文件的权限FastQC

sudo ln -s /path/to/FastQC/fastqc /usr/local/bin/fastqc
sudo chmod -R 755 /path/to/FastQC

答案2

我认为/usr/local/bin/FastQC这是一个符号链接目录,既然你说你已经拥有它,那么你可能必须将执行权限添加到程序所在的原始位置fastqc。还请注意脚本在哪个步骤崩溃 - 脚本是否试图在你没有权限的地方创建任何文件/目录,等等。

答案3

sudo chmod -R +rwx /usr/local/bin/FastQC

/usr/local/bin/FastQC应该为所有者、组和其他人设置读/写/执行标志及其内容,但从您的ls -la输出来看,组和其他人缺少写标志:

drwxr-xr-x 3 kat  kat  4096 mei  8 14:20 .
[...]
drwxr-xr-x 7 kat  kat  4096 mei  8 14:20 FastQC_v0.10.1

虽然这可能不是什么问题,但看起来好像chmod失败了。

我要尝试做的第一件事是chmod -R +rwx /usr/local/bin/FastQC再次运行并检查/usr/local/bin/FastQC其内部文件夹/文件(可能尚未为所有者设置读/写/执行标志)是否实际设置为由所有者读/写/执行。

相关内容