用户与用户组
众所周知, linux是多用户多任务的操作系统, 那么linux是如管理文件的呢? linux是如何知道某个文件属于哪一个用户呢?
答案是用户组. 是的, linux通过用户组进行区分. 通常linux中有三类用户, 用户本身user, 同一用户组group的其他成员, 不属于用户组的其他人other. 这三类用户也是文件的三种不同权限. 通过ls命令可以查看文件的具体信息, 下面的示例我们查看/home目录下所有文件的信息:
//当前用户为helloyong, linux起名为Deepin
helloyong@Deepin:~$ ls -al /
总用量 12
drwxr-xr-x 3 root root 4096 3月 30 17:44 .
drwxr-xr-x 25 root root 4096 4月 27 16:38 ..
drwxr-xr-x 56 helloyong helloyong 4096 5月 4 13:19 helloyong
//--------- ** ========= $$$$$$$$$ ---- ************* =========
//一 二 三 四 五 六 七
ls是list的意思, 后面的-al为参数, ls -al /home的意思是列出/home目录下的所有文件信息. ls命令我们稍后谈论. 我们的重点在文件权限.
从上面的代码可以看到形如drwxr-xr-x的字符串, 这个字符串就是文件的权限信息. 我们先将返回的结果分成七列. 稍后再用.
文件权限
每个文件有三种用户权限, 这三个不同的用户对文件有不同的读, 写, 执行的权限. 即r, w, x. linux分别给r, w, x赋予权重, 分别为4, 2, 1.
例如, 权限为rwx的权重为7. 因为4+2+1=1. r-x的权重为5, 因为4+1=5. -表示没有这个权限
为了说明取第三个文件helloyong的权限
drwxr-xr-x #共十位
每个文件的权限信息都在第一个列, 这一列有10个字符. 为了说明我们从1-10对其编号, 并说明:
1: 第一位为d, 表示helloyong是一个目录.
234: 这三位为rwx, 表示文件所有者user拥有读, 写, 执行的权限, 可以简写为7
567: 这三位是r-x, 表示用户组group的权限为读和执行. -表示没有相应权限, 可以简写为5
最后三位: r-x, 表示用户组之外的用户即other对文件的权限为读和执行, 可以简写为5
通常, 文件的信息模板如下:
1: 即第一个字符, 这个字符表示文件是啥类型,
d:directory表示目录-: 文件l:linkfile, 连接文件b: 表示设备文件里面的可供存储的接口设备c: 表示设备文件里面的串行端口设备. 如鼠标, 键盘等.
234位: 表示的是文件所有者user的权限567位:表示除user外的同用户组group对文件的权限- 剩下三位: 表示
other用户对文件的权限
文件的其他信息
上文提到了文件的权限, 可以看到权限后面还有一大串字符, 那么那一大串字符是啥呢?
还记得我们给ls命令的返回值编号吗? 我们还是去helloyong为例:
drwxr-xr-x 56 helloyong helloyong 4096 5月 4 13:19 helloyong
// 一 二 三 四 五 六 七
我们将其分为七列, 每一列代表一种信息.
- 第一列: 这一列是文件的权限信息
- 第二列: 表示文件的连接数, 即有多少个文件连接到这个节点
- 第三列: 这一列表示文件的所有者
user - 第四列: 表示文件所有者所属的用户组
group - 第五列: 表示文件的大小, 默认单位为字节
B - 第六列: 显示文件最近的修改日期或文件创建日期
- 第七列: 为文件名


被折叠的 条评论
为什么被折叠?



