Linux权限管理之基本权限
欢迎来到摆烂乐园
“这里是只有过好生活,才能干好工作的摆烂乐园”
- 2024.01.18 -
本文将详细给大家带来Linux权限管理之基本权限,不论你是初学者还是有经验的开发者,都希望你能从这个教程中收获知识与乐趣。
一、文件基本权限
1.1了解目录权限含义
-rw-r–r–
一共是10位
第1位的**-**:文件类型(-文件 d 目录 l 软连接文件)
后面的9位,三位是一组,一共是三组
第2、3、4位:rw-
u 所有者
第5、6、7位:r–
g 所有组
第8、9、10位:r–
o 其他人
r 代表读
w 代表写
x 代表执行
1.2chmod 命令
- chmod [选项] 模式 文件名
-选项 :-R 地柜
-模式:
[ugoa][±=][rwx]
[mode=421 ]
例子1:chmod u+x shipin.av
解释1: 给当前用户增加执行权限
例子2:chmod g+w,o+w shipin.av
解释2:给当前所有组增加写权限,给其他人增加写权限
例子3:chmod u=rwx shipin.av
解释3:给所有者增加读写执行权限
1.3 权限的数字表示
r ----- 4
w ----- 2
x ---- 1
rwxr-xr-x
7 5 5
例子1:chmod 755 shipin.av
解释1:给所有者增加读写执行权限,给所有组增加读执行权限,给其他人增加读执行权限
例子2:chmod 644 shipin.av
解释2: 给所有者增加读写权限,给所有组增加读权限,给其他人增加读权限
常用数字: 777 644 755
二、权限的作用
2.1权限对文件的作用
- r : 读取文件内容(cat more head tail)
- w : 编辑、新增、修改文件内容(vi echo)
-但是不包含删除文件(学习的同学可能会有疑问,别着急后面后详细画图说明文件的关系) - x : 可执行
为什么呢?,上图:
下面举例,磁盘数据块中的内容
2.2权限对目录的作用
- r:可以查询目录下文件名(ls)
- w:具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,重命名此目录下文件和目录,剪切(touch rm mv cp)
- x:可以进入目录( cd )
- 对文件来讲:最高权限是X
- 对目录来讲:最高权限是 w
2.3查看默认权限的命令
- umask
查看默认权限 - 0022
-第一位0 : 文件特殊权限
-022 : 文件默认权限
2.4文件的默认权限
-
文件默认不能建立为执行文件,必须手工赋予执行权限
-
所以文件默认权限最大为666
-
默认权限需要换算成字母再相减
-
建立文件之后的默认权限,为666减去umask值
-
例如:
文件默认最大权限666 umask值022
-rw-rw-rw- 减去 -----w–w- 等于 -rw-r–r– -
例如:
文件默认最大权限666 umask值033
-rw-rw-rw- 减去 -----wx-wx 等于 -rw-r–r–
重要知识点!!!重要知识点!!!重要知识点!!!
linux的权限相减,并不是直接使用数字进行相减的。而是把权限的数字先转换成字母,然后通过字母相减。参考上面的例子,也可以自己去测试一下。
umask是用来设置文件创建时的默认权限掩码。
默认情况下,umask的值为022,即在创建文件时会给予owner读写权限,group和其他用户只有读权限。
我们可以通过修改umask的值来改变默认权限。以下是不同umask值下创建目录和文件的权限:
- 设置umask为0000:
$ umask 0000
$ mkdir testdir
$ touch testfile
$ ls -l
输出:
drwxrwxrwx 2 user group 4096 Month Day Hour:Minute testdir
-rw-rw-rw- 1 user group 0 Month Day Hour:Minute testfile
- 设置umask为0022(默认值):
$ umask 0022
$ mkdir testdir
$ touch testfile
$ ls -l
输出:
drwxr-xr-x 2 user group 4096 Month Day Hour:Minute testdir
-rw-r--r-- 1 user group 0 Month Day Hour:Minute testfile
- 设置umask为0777:
$ umask 0777
$ mkdir testdir
$ touch testfile
$ ls -l
输出:
drwx------ 2 user group 4096 Month Day Hour:Minute testdir
-rw------- 1 user group 0 Month Day Hour:Minute testfile
以上是一些常见的umask值示例,你也可以设置其他的umask值进行观察。请注意,umask的值是对权限进行减法操作,所以umask为777的时候是最严格的,使得其他用户(包括group)没有任何权限。
2.5目录的默认权限
- 目录默认权限最大为777
- 默认权限需要换算成字母再相减
- 建立文件之后的默认权限,为777减去umask值
- 例如:
-目录默认最大权限为777 umask值022
–rwxrwxrwx 减去 -----w–w- 等于 -rwxr-xr-x
2.6修改umask值
- 临时修改
-umask 0002 - 永久修改
-vi /etc/profile