当前位置:首页>Linux>Linux基础101问:权限管理|第10期

Linux基础101问:权限管理|第10期

  • 2026-10-11 07:42:48
Linux基础101问:权限管理|第10期
如果您喜欢我们的文章,请设“关注”哦~
——持续更新,Linux-从入门到精通的实用指南

在生物信息学分析环境中,研究人员通常需要在多用户系统中处理大规模数据,例如实验室的 HPC、服务器或集群。常见场景包括多名学生或科研人员共享同一套基因组参考目录,或在共享全基因组测序数据(WGS/WES/ATAC/RNA-seq)时确保数据可访问但不可被随意修改。
此外,运行 Nextflow 或 Snakemake 等 pipeline 时,正确的文件权限是其能够正常读写数据和生成结果的前提。
缺乏权限管理知识通常会导致诸多问题,包括“Permission denied”错误、无法修改或删除文件、pipeline 无法写入日志导致任务中断,甚至可能因误操作覆盖关键参考数据。
本教程旨在帮助你掌握生信分析环境中最关键的权限概念,以便在共享系统中安全、规范地管理数据。

一、文件权限结构:r / w / x

在 Linux 中,每个文件和目录均具有三类权限主体:
对象含义
u(user)
文件所有者
g(group)
文件所属组
o(others)
其他用户
每类主体对应三类权限:
权限字母含义
读
r
查看文件内容或列出目录内容
写
w
修改文件或删除目录中的文件
执行
x
执行脚本或进入目录
使用 ls -l 可以查看权限信息:
ls -l sample.vcf-rw-r--r-- 1 alice group  12345 Jan 20 10:00 sample.vcf
上述输出可解析为:首字符表示类型(普通文件为 -,目录为 d),其后依次是 user、group 和 others 的权限位。示例中,alice 对该文件具有读写权限,同组和其他用户均具有只读权限。这类设置适用于共享但只读的数据文件,如参考基因组。
对于目录而言,权限的含义与文件有所不同。r 表示是否能够列出目录内容,w 表示是否可在目录内创建或删除文件,x 则表示是否能够进入该目录。要访问目录中的文件必须具备 x 权限。

二、修改权限:chmod(最常用命令)

chmod 提供符号模式和数字模式两种用法。
符号模式适合初学者,例如:
chmod u+x script.shchmod g-w sample.vcf chmod o-r data/ chmod ug+r reference.fa
也可使用完整声明方式:
chmod u=rw,g=r,o= reference.fa
数字模式通过八进制表示权限位(不常用,了解即可):
权限数值
r
4
w
2
x
1
因此,7=rwx,6=rw-,5=r-x。常用示例包括:
chmod 755 run_pipeline.sh chmod 644 sample.vcf chmod 600 id_rsa
755 通常用于脚本或可执行程序,644 常用于共享只读数据,600 常用于密钥等私有文件。

三、修改所有者与组:chown / chgrp

在集群环境中,文件通常需要调整为实验室共享组(如 bioinfo 或 labA)。常用命令包括:
sudo chown alice sample.vcf # 将 sample.vcf 的文件所有者(user)改为 alice。 # 不改变所属组。  sudo chown alice:bioinfo sample.vcf # 将 sample.vcf 的所有者改为 alice,并同时将所属组改为 bioinfo。  chgrp bioinfo reference.fa # 仅修改 reference.fa 的所属组为 bioinfo。 # 不改变文件所有者。
针对整个目录(如共享数据库或 pipeline 输出目录)则常加上递归选项:
sudo chown -R alice:bioinfo /data/genome/ # 递归(-R)将 /data/genome/ 目录及其内部所有文件的 owner 和 group  sudo chmod -R g+rw /data/genome/ # 递归为 /data/genome/ 目录及其内部文件添加 group 的读写(rw)权限。 # 不影响 owner 的权限,也不影响 others 的权限。
-R 表示递归修改子目录与文件。

四、默认权限:umask

多用户系统中新建文件和目录的默认权限受 umask 控制。执行 umask 可查看当前设置,例如常见的 0022。默认权限的计算方式如下:
文件默认权限为 666 - umask,目录默认权限为 777 - umask。在 umask 为 0022 时,新文件权限为 644,新目录权限为 755,这也是系统中最常见的默认权限配置。
如需恢复再设回 644。

五、权限问题的排查方法

出现 “Permission denied” 时,可依次检查以下信息:文件权限(ls -l)、目录权限(ls -ld)、自身所属组(groups)、父目录的 x 权限。目录缺少 x 权限是无法访问文件的常见原因。
练习题(含答案,使用符号模式)
1)将 script.sh 设置为仅文件所有者可读、可写并可执行,其他主体无任何权限。
chmod u=rwx,go= script.sh
2)将 sample.vcf 设置为所有主体可读,但仅文件所有者可写。
chmod u=rw,g=r,o=r sample.vcf
3)将 data/ 目录的文件所有者和组分别设为 alice 和 bioinfo。
sudo chown -R alice:bioinfo data/
4)希望组内成员能够共享并共同编辑 /data/projectA/ 目录,而其他用户无法进入该目录。
chmod -R u=rwx,g=rwx,o= /data/projectA
5)禁止任何用户(包括所属组成员)修改 reference 基因组,但允许所有用户读取。
针对整个目录:
chmod -R u=rx,g=rx,o=rx reference/
或针对单个文件:
chmod u=r,g=r,o=r reference.fa
6)赋予用户 bob 对 sample.vcf 的读写权限,同时不修改该文件的 owner 和 group。
setfacl -m u:bob:rw sample.vcf
7)当 pipeline 报错“cannot write to directory”时,写出两条你会用于排查权限的命令。
ls -ld directory/ groups

有任何问题/感兴趣的小伙伴欢迎添加小助手微信(SDbioinfo_2023),加入交流群,我们一起学会Linux!SDbioinfo

作者:刘鑫鹏

排版:李子涵

⭐ SDbioinfo-往期回顾 ⭐

【栏目1:播客分享会】

升学:01从复旦到MIT博后的发展选择 

就业:04 曼彻斯特大学博士,临床转码历程

知识:11 武大教授:三代测序的机遇与挑战

【栏目2:前沿信息早知道】

诺奖给了Treg,如何用单细胞测序寻找它的“主控开关”?

【栏目3:知识解读】

linux/单细胞数据分析/机器学习 等专栏

马尔科夫链蒙特卡洛方法mcmc原理

【栏目4:最新招聘】

SDbioinfo嘉宾-张心仪博士组招聘

SDbioinfo核心团队招募令

【?我是谁?】

SDbioinfo,专注「计算生物学」领域的学习智库

我们汇聚了来自哈佛剑桥港大、北清复交等高校科研工作者。我们的愿景:链接领域最强大脑,用数据和分析改变生命。

不管你是:

⭐ 找实习、找工作、出国留学

⭐ 找校友、找搭子、找资源

⭐ 找科研方法、前沿信息、大咖分享

统统可以帮你,加入SDbioinfo,和全球生信人一起成长!

(添加微信:SDbioinfo_2023)

最新文章

随机文章