Linux 权限管理

2020-07-08 00:00:00 用户 命令 文件 目录 权限

计算机出现之初,它的作用就是帮助我们完成重复而枯燥的任务,因为它太擅长干这样的事情了,而且看起来似乎是任劳任怨的。真的是这样的吗?在早期,计算机罢工大多数时候是因为硬件或者软件出问题了,是真的没办法继续工作了。而现在,计算机罢工又多了一个很重要的因素,那就是由于计算机安全上的因素造成的,如果你的系统权限不严谨,系统或者软件有漏洞就可能会被黑客利用,然后你的计算机就可能人为的罢工了。

今天我们就一起来系统的学学 Linux 系统上一些和权限相关的知识,通过这些知识的学习,我们平时在使用 Linux 系统的时候就可以规范我们的操作,尽量避免系统处在危险之中。今天主要学习的内容如下:

  • id:显示用户身份号
  • chmod:更改文件权限
  • umask:设置默认的文件权限
  • su:以另一个用户的身份来运行 shell
  • sudo:以另一个用户的身份来执行命令
  • chown:更改文件所有者
  • chgrp:更改文件组所有权
  • passwd:更改用户密码

1. 用户、用户组和其他

我们在使用一些命令的时候,shell 可能会提示我们没有权限访问。从使用 Linux 系统到现在,你一定遇到过下图中类似的提示。

其实这些提示的意思就是作为一个普通用户,没有权限来读取这些文件。那权限到底是个什么东西呢?先别急,听我慢慢道来。

一个用户可以拥有文件和目录。当一个用户拥有一个文件或目录时, 用户对这个文件或目录就有访问权限和控制权限。用户又会属于一个由一个或多个用户组成的用户组,用户组成员对这些文件和目录的权限由文件和目录的所有者授予。除了对一个用户组授予权限之外,文件所有者可能会给其他用户或者用户组成员一些权限。

上图展示了 id 命令的使用和输出结果,从输出结果中,我们能获取到一些重要的信息。

  • uid:在安装系统的时候我们会新建一个普通用户 chaojun (当然,也是可以在系统安装好后另外新建的其他用户,这里我登录的用户是 chaojun,所以我输入 id 命令后得到的结果中 uid 这个字段的名字就是 chaojun),这里的 uid 就像身份证号码和身份证号码对应人一样,它代表着一种对应关系,其中,身份证号码是:1000,名字是 chaojun
  • gid:gid 是用户 chaojun 所属的用户组的身份对应信息
  • groups:这个字段后面的值是很多用逗号隔开的值,代表这 chaojun 这个用户还属于这些用户组,这些用户组成员共同拥有的权限,chaojun 这个用户也是拥有的。

在这里用户是 chaojun,用户数组是 chaojun,其他就很多了,有 adm、cdrom、sudo 等等。

2. 读取、写入和执行

对于文件和目录的访问权力是根据读访问、写访问和执行访问来定义的。我们来看看 ls -l test.txt 这个命令的执行结果(注意:test.txt 是我自己创建的一个文件,你可以把它换成你自己的文件)。

-rwx------ 1 chaojun chaojun 6375 11 27 10:57 test.txt

相关文章