Linux权限管理
一般情况下只有一个root用户,其余工程师或者程序员都是普通用户。
第一部分:文件基本权限
1.1 基本权限修改
这个看这里文件权限部分。
1.1.1 修改文件权限:chmod [选项] 模式 文件或者目录
选项:
- -R 递归,如果最后跟得参数是目录的话,那么该目录下的所有文件都会被赋予该chmod设置的权限。
模式:
-
- 代表 r,- 代表 w,= 代表 x。
例子:
<!-- 注意,下面的 +,表示本来没有设置的权限添加上该权限,所以对应还有 - -->
chmod u+x split.rmvb
<!-- u+x u代表所有者,+这里只是表示赋予权限,x才是赋予给所有者的权限,split是X教授的最新电影,他在里面演有23个人格的神经病,好想看。-->
<!-- 同时设置多个权限 -->
chmod u+x,g+x la-la-land.rmvb
<!-- 多个权限之间使用 , 逗号隔开,la la land听说蛮好看的。 -->
<!-- 上面还要知道原始的权限,去 + 和 -,很麻烦,所以可以使用 =,直接修改 -->
chmod a=rwx 三生三世十里桃花.rmvb
<!-- a 代表 all,三生三世十里桃花,我就看赵又廷,杨幂对她没兴趣 -->
模式还有另外一种方式:
- r 等于 4,w 等于 2,x 等于 1。
所以
- rwx 7
- rw 6
- rx 5
- r 4
- wx 3
- w 2
- x 1
例如:
chmod 761 上瘾.rmvb
<!-- 7 代表的是所有者的权限,是rwx,6代表的是所属组的权限,是rw,1代表的是其他人的权限,是x,这样比较简单和高效 -->
1.2 权限的作用
1.2.1 读取文件内容:r
如以下命令就需要r权限:
- cat
- more
- head 显示文件第一部分的命令
- tail 显示文件最后一部分的命令
1.2.2 编辑、新增、修改文件内容:w
如以下命令就需要w权限:
- vi
- vim
但是该命令不包含删除文件的权限!!!只有对该文件所在的目录拥有w权限,才能删除该文件,可以理解为该文件是目录的内容。
1.2.3 执行文件:x
就像要执行一个脚本文件的时候,就需要赋予他执行权限:
chmod +x 脚本名
1.3 目录部分
权限 | 此权限的作用 | 需要此权限才能运行的命令 |
---|---|---|
r | 可以查询目录下的文件名 | ls |
w | 具有修改目录结构的权限,如新建文件和目录,删除此目录下文件和目录,重命名此文件下的文件和目录,剪切 | touch rm mv cp |
x | 可以进入此目录 | cd |
1.4 其他权限命令
1.4.1 修改文件所有者:chown 用户名 文件名
也可以连同所属组一起修改:
chown 用户名:用户组 文件名
1.4.2 修改文件所属组:chgrp 组名 文件名
1.5 注意,在修改文件和目录的权限时,要考虑两者的结合性
具体去看慕课网视频:Linux权限管理之基本权限。
第二部分:文件默认权限
2.1 查看文件的默认权限设置:umask
这个命令也可以临时修改文件的默认权限,想要永久生效需要修改以下文件:
/etc/profile
但是我不知道怎么改。
直接敲
umask
<!-- 会在下面显示默认配置,一般是0022 -->
0022
2.2 文件权限默认设置与计算方法
运行umsk显示的结果0022从左到右运行代表的是:
- 0 特殊权限,结合下面的特殊权限讲解后再说
- 022 代表的是 所有者 所属组 其他人,但是不是他们所拥有的权限,而是一个计算参数,计算方法如下:
2.2.1 文件权限计算方法
所有者 所属组 其他人
rw- rw- rw- 减去
--- -w- -w- (022)等于
rw- r-- r--
<!-- rw-rw-rw- 每3个为一组,就跟运行 ll 的结果一样 -->
这里解释一下为什么是rw-rw-rw-,而不是rwx rwx rwx。因为针对文件来说,创建时是不能赋予执行权限的,这是甲鱼的臀部,规定。所以针对文件来说,最大的权限就是rw-rw-rw-。
这里再举个例子,假设umask的值是0033,那么计算式子就变成了:
rw- rw- rw- 减去
--- -wx -wx (033)等于
rw- r-- r--
<!-- 注意,- 减去 r/w/x 时,都是 -,这一点要注意 -->
2.2.2 目录权限计算方法
针对目录来说,就没有x权限的限制,所以目录的计算方法就是:
rwx rwx rwx 减去
--- -w- -w- (022)等于
rwx r-x r-x