使用ll命令查看文件时发现文件有10位权限信息
首位 代表文的件类型
- 普通文件 ;
包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件。
d 目录 ;
能用 # cd 命令进入。
l 连接文件 ;
类似快捷方式 一般放在dev ;
c 字符设备文件 ;
即串行端口的接口设备,例如键盘、鼠标等等一般放在dev;
p管道文件 ;
是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误
s 套接字文件;
通常用在网络数据连接,常在 /var/run目录中看到这种文件类型
前三位rwx代表 当前用户拥有 读 写 执行的权限
中三位rwx代表 当前组拥有 读 写 执行的权限
末三位rwx代表 其他用户拥有 读 写 执行的权限
chmod有两种模式来改变文件的权限
符号模式:
chmod (who) (operator)(permission) filename
who:u g o a ;
用户名 组 其他用户 所有用户
operator:+ - = ;
增 删 设定是什么权限
permission:r w x s t
读 写 执行
s:强制位 设置使文件在执行的过程中临时拥有root的权限
t:在缓存中执行
绝对模式
chmod (mode) filename
mode:
-r 4
-w 2
-x 1
这种模式用的较多这里只举个例子
chown和chgrp修改所属用户和组
chwon user.group filename 同时更改组和用户
chwon .group filename 更改组
+R 代表该目录下的所有子文件都更改
umask是什么?
登录系统之后创建一个文件是会有一个默认权限的,这和umask的值有直接关系。
可以利用命令umas=777,临时设置umask的值
默认情况下的umask值是022,此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认 权限是755(7-0,7-2,7-2),可以用ls -l验证一下, 现在应该知道umask的用途了吧,它是为了控制默认权限的。
- 对于目录,直接使用777-umask即可,就得到了最终结果。
- 对于文件,先使用666-umask。
- 如果对应位上为偶数:最终权限就是这个偶数值。
- 如果上面的对应为上有奇数,就对应位+1。