文章目录
一,权限作用:
通过文件设定权限达到以下三种访问限制权限:
(1)只允许用户自己访问;
(2)允许一个预先指定的用户组中的用户访问;
(3)允许系统中任何用户访问
二,查看权限
- 例:
- -rw-r–r--.1 root root 2668 Apr 4 20:37 /etc/passwd
1,文件类型(p、d、l、s、c、b和-)
p 表示命名管道文件
d 表示目录文件
l 表示符号链接文件
- 表示普通文件
s 表示socket套接口文件,比如我们启用mysql,会产生一个mysql.sock文件
c 表示符号设备文件 虚拟终端文件、虚拟控制台(tty)
b 表示块设备文件 磁盘类文件(sda)、光盘类文件(cdrom)
2,权限说明
-
对于文件来说:
r 读
w 写
x 执行 -
对于目录来说:
r 读(看到目录里面有什么)
w 在目录内建文件、删除、移动 touch mkdir rm mv cp
x 进入 cd cat
3,文件拥有者
-
UGO 所有者–用户组–其他用户
所有者:就是创建文件的用户,这个用户拥有对它所创建的文件的一切权限,所有者可以允许其他所在的用户组可以访问所有者的文件 用户组:具有相同用户特征的逻辑集合,有时我们需要多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权;另一种方法是建立一个组,让这个组具有查看、修改次文件的权限 其他用户:系统内其他所有者用户就是other 用户类
4,常见文件权限(root例外):
-rwx --- ---:文件所有者对文件具有读取、写入和执行的权限。
-rwx r-- r--:文件所有者具有读、写与执行的权限,用户组里用户及其他用户则具有读取的权限
-rw- rw- r-x:文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。
drwx --x --x:目录所有者具有读写与进入目录的权限,其他用户仅能进入该目录,却无法读取任何数据。
drw x-- ---:除了目录所有者具有完整的权限之外,其他用户对该目录完全没有任何权限。
- PS:每个用户都拥有自己的专属目录,通常放置/home下
用什么身份登录,那么创建的文件或目录,自动成为改文件的所属和组
5,更改文件的属主和属组:
-
改变文件的所属关系用到命令:
-
chown 可以用来改变文件(或目录)的属主
例如: chown user:group filename 修改文件的属主和属组 chown user filename 把文件属主改为 user 用户 chown :group filename 把文件属组改为 group 这个组
-
chgrp 可以用来改变文件(或目录)的默认属组
(基本不用,chown满足需求)
-R 递归(目录下的所有内容都更改,否则只修改目录)chgrp hr
-
!!!文件所有者一定可以写文件!!!
三,修改权限
1.使用字符设定
**修改权限用的命令:chmod 修改文件,目录的权限**
- chmod 对谁操作 操作符 赋予什么权限 文件名
- 对谁操作(ugoa):
u 用户user,表示文件或者目录的所有者
g 用户组group 表示文件或者目录所属的用户组
o 其他用户 others
a 所有用户 all
- 操作符:
+ 添加权限
- 减少权限
= 直接给定一个权限
- 例:
chmod a=rwx 所有人都能读、写、执行文件
常用:给shell脚本加一个可执行权限
2,使用八进制(0-7)数字表示权限法:
例:
- chmod 777 文件或文件名 ==chmod a=rwx
四,权限对文件和目录的影响 :
五,补码
创建的文件权限默认是644
-
umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相同的umask值中的数字
-
文件默认权限 666 目录默认权限 777
-
在/etc/profile 或者home/.bash_profile 或 home/profile 中设置umask值
注意:
-
UID大于199 且用户的组名和用户名一样,那么umask值为002,否则为022
-gt 在shell 中表示大于;id -g显示用户组ID ,id-gn 显示组名
计算方法:
- 文件默认权限=666-umask值 666-002=644
目录默认权限=777-umask值 777-022=755
修改umask:
-
永久 编辑用户配置文件 vim .bash_profile
临时 umask 权限补码
PS:
修改文件所有者:
chown 用户名 文件名
修改文件所属组:
chgrp 所属组 文件名