0%

快乐Linux学习(四)

本文是快乐学习Linux的第四篇,是基于Windows的Linux子系统(WSL)进行操作的。

适用于学习Linux系统中文件权限和进程相关内容的读者。

权限

本系列的博客内容其实是建立在WSL上的,主要是仅给个人用户一个Linux环境,顺便来熟悉Linux系统,所以以下不会涉及太过复杂的权限设置,会覆盖基本的操作。

当我们使用ls -l进行查看的时候,会按照长模式的方式显示:

1
文件访问权限 硬链接数目 文件所属用户 文件所属用户组 文件大小 上次修改日期 文件名

文件访问权限

文件访问权限是由两部分组成的,一部分是文件类型,一部分是文件模式。

文件类型有:

  • -:普通文件。
  • d:目录。
  • l:符号连接,其显示的文件模式都是虚拟值,真正的文件模式是链接指向的文件决定的。
  • c:字符设备文件,按照字节流处理数据的设备,例如终端机或者调制解调器。
  • b:块设备文件,按照数据块处理数据的设备,例如硬盘或者CD-ROM。

文件模式由文件所有者、文件组所有者和其他人三种用户的三种基本的:可读r、可写w、可执行x(s、t什么的就不涉及了)组成,共9个字符。

属性 文件 目录
r 允许打开并读写文件内容 允许列出目录内容,前提是目录设置了x属性
w 允许写入文件内容。重命名或删除是根据目录属性来的 允许在目录下新建、删除或重命名文件,前提也是目录设置了x属性
x 允许将文件作为程序来执行,脚本语言编写的程序必须具备

更改文件模式

我们可以使用chomd来更改文件模式,更改的方式有两种,一种是八进制数字表示法或符号表示法,由于本人倾向于八进制数字表示法,且确实很nice,所以就不介绍符号表示法了。

八进制数字表示法是因为1个八进制恰好需要3个二进制位来表示,而3个权限刚好对应3个二进制位,那么3种用户就只需要使用3位八进制数来表示即可(缕一缕这句话,其实挺清楚的)。

例如r--就是100,也就是4,rw-就是110,也就是6,以此类推即可。

那么新建并修改foo.txt权限为rwxrw-r--只需要使用:

1
2
> foo.txt
chmod 764 foo.txt

默认权限

当我们新建文件的时候会自动赋予一个默认权限,这里在WSL下,默认的是rw-r--r--,这是由umask进行控制的。

命令行使用umask进行查看,会发现响应的数值是0022,常用的Linux系统还有0002,对应着关闭了哪些权限,2指的就是10,也就是原始文件权限是rw-rw-rw-,根据umask的掩码来关闭某些权限,作为最终的默认权限。

一般不用修改,使用系统默认的就可以了。

用户和用户组

针对具有多个用户和用户组的情况下,不同用户具有不同的文件的控制权。

  • su [-[l]] [user]:是允许我们切换到另一个用户的身份,重新启动一个shell进程。

    -l 表示切换shell环境,并更改工作目录到该用户下,没有用户名则默认是root,如下切换至root用户:

    1
    su -

    需要输入切换后用户的密码,登录后超级用户root显示的符号从“$”变为“#”,使用exit退出。

  • sudo:是允许一个普通用户以另一个用户的身份执行任务,本质上用户并没有切换,而且输入的密码是用户本身的密码,并且密码可以维持一段时间的信任。

可以使用chown [owner][:[group]] file对文件的用户和用户组进行更改。

使用passwd可以更改密码。

进程

个人收获

关于文件和目录权限的内容并不过多赘述,之后存在需求之后再进行补充。

------ 本文结束------