前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux权限管理最全解析

Linux权限管理最全解析

作者头像
生信喵实验柴
发布2021-12-15 11:30:27
9380
发布2021-12-15 11:30:27
举报
文章被收录于专栏:生信喵实验柴

背景

由于绝大多数用户使用的是个人计算机,使用者一般都是被信任的人(如你的家人、朋友等)。在这种情况下,大家都可以使用管理员身份直接登录。但在服务器上就不是这种情况了,往往运行的数据越重要(如课题数据),价值越高(如电子商城数据、银行数据),则服务器中对权限的设定就要越详细,用户的分级也要越明确。

和 Windows 系统不同,Linux 系统为每个文件都添加了很多的属性,最大的作用就是维护数据的安全。举个简单的例子,在你的 Linux 系统中,和系统服务相关的文件通常只有 root 用户才能读或写,就拿 /etc/shadow 这个文件来说,此文件记录了系统中所有用户的密码数据,非常重要,因此绝不能让任何人读取(否则密码数据会被窃取),只有 root 才可以有读取权限。

如果你只是用来做生物信息分析,比如科室里的服务器,只需要区分不同课题组即可。若你只是云服务器个人使用,那就简单许多了,只要保证自己不会误删重要的东西,日常直接root使用也是ok的。本次推文自己就可以了解下权限,分享给需要的朋友吧。

一、Linux 权限介绍

Linux 是个多用户操作系统,需要对每个文件赋予一定的权限。Linux 有非常完善的权限控制,系统中的每个文件和目录都有访问许可权限,用它来确定哪些用户可以通过何种方式对文件和目录进行访问和操作。文件或目录的访问权限分为可读,可写和可执行三种。分别

代码语言:javascript
复制
r 代表 reads
w 代表 write
x 代表 execute。

以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作;

可执行权限表示允许将该文件作为一个程序执行;

可写表示可以对文件进行各种编辑。

文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。读写和执行三个权限中,可写的权限最大,可写表示可以删除该文件。

例如当用 ls -l 命令显示文件或目录的详细信息。

代码语言:javascript
复制
$ ll
total 40K
lrwxrwxrwx. 1 root root 7 May 11 2019 bin -> usr/bin/
dr-xr-xr-x. 7 root root 4.0K Sep 5 2020 boot/
drwxr-xr-x. 21 root root 3.5K Aug 28 02:49 dev/
drwxr-xr-x. 187 root root 12K Aug 28 01:33 etc/
drwxr-xr-x. 4 root root 35 Nov 19 2020 home/
drwxr-xr-x. 13 root root 265 Aug 1 09:57 ifs1/
lrwxrwxrwx. 1 root root 7 May 11 2019 lib -> usr/lib/
drwxr-xr-x. 2 root root 6 May 11 2019 media/
drwxr-xr-x. 2 root root 6 May 11 2019 mnt/
drwxr-xr-x. 5 root root 48 Nov 19 2020 opt/
lrwxrwxrwx. 1 root root 8 May 11 2019 sbin -> usr/sbin/
drwxr-xr-x. 2 root root 6 May 11 2019 srv/
dr-xr-xr-x. 13 root root 0 Aug 28 01:32 sys/
drwxrwxrwt. 75 root root 16K Aug 28 23:24 tmp/

最左边的一列为文件的访问权限,这里有分别有 10 个字符。其中第一个字符为一个单位,后面每三个字符为一个单位。

第一个字符可以为l,d,或者连字符。l说明这是一个链接文件,d表示这个文件夹dirctory,而连字符表示是一个普通文件。

后面三个单位分别代表文件所有者,也叫作属主,同组用户,和其他用户对这个文件的权限。

用 rwx 表示就是-rwx 我可以读写执行,同组就是 r-x,而外面的则是---。这就是一个文件的权限。

二、rwx 与 421

Linux 文件后者目录的权限可以使用 rwx 的模式表示,用 r 代表 reads,w 代表 write 和 x代表 execute。除了使用 rwx 的模式,还有一种更方便的操作方式就是数字设定法。首先了解用数字表示的属性的含义:

代码语言:javascript
复制
0 表示没有权限;

然后将其相加。所以数字属性的格式应为 3 个从 0 到 7 的八进制数,其顺序是用户,组内和其他用户。

代码语言:javascript
复制
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组 ID 的所有用户。
o 表示“其他(others)用户”。

常用的权限为 755,700,644 等。

三、修改权限

在 Linux 操作过程中,如果遇到“Permission denied”这个错误提示,就是没有权限操作。

可以使用 chmod 命令来控制文件或目录的访问权限。决定哪些文件别人可以访问,哪些别人访问不了。它是 change mode 的简写。注意,修改权限首先是你有权限操作这个文件或目录。比如访问不了/root 目录,也无法修改它的权限。

chmod 命令是非常重要的,这个命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。首先来看文字设定法 。

它的语法格式是 chmod [who] [+ | - | =] [mode] 文件名,命令中各选项的含义为:

操作对象 who 可是下述字母中的任一个或者它们的组合:

操作符号可以是:

+ 添加某个权限。

- 取消某个权限。

= 赋予给定权限并取消其他所有权限,

设置 mode 所表示的权限可用下述字母的任意组合:

r 可读。w 可写。x 可执行。常用的文件权限为 700,755,644。

代码语言:javascript
复制
421 模式修改
$ chmod 644 a1.index.sh

与之类似的还有 chown 与 chgrp;

代码语言:javascript
复制
      chown: Change owner
      chgrp: Change group
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信喵实验柴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档