目录
一般权限
三种权限 针对文件/目录
读 r cat 查看文件内容 ls 查看目录中存在的文件名称
写 w vim 更改文件内容 杀出目录中的子文件 或新建文件
执行 x 执行可执行的程序 表示是否可以进入到目录cd
一般给目录读权限的时候 默认会给其执行权限
为什么要设置权限
员工的职责分工不同 不同账户所需要做的事情不一样
方便服务器内部的管理
查看权限
ls 查看文件属性
ls -l ll 使用ll命令查看文件权限
-代表普通文件
d代表目录
Linux中文件的所有者
user(属主)U
文件创建者 拥有者 表示一个账户 对这个文件的权限
group(属组) G
文件所属的用户组 某个组对这个文件有的权限
other(其他用户) O
除了上面之外的其他用户 对这个文件有的权限
UGO A all
root用户(超级管理员)默认拥有所有权限
设置文件或目录权限
chmod
增加或减少文件的权限 不能改变所有者 只能改变所有者现有的权限
要给文件或目录设置权限 操作者要么是root要么是文件或目录的所有者
-
chmod u+x 1 给一个文件的属主增加执行权限
-
chmod g+x,o+x 2给一个文件同时增加属组其他权限
-
chmod o-x 2 <--(文件名) 减少其他人的执行权限
-
chmod u=rwx,g=rwx,o=rwx 2 给文件所有人赋予所有权限
-
chmod a=rwx 1 赋予所有人所有权限
权限设置考虑的因素
给谁设置
u 属主
g 属组
o 其他
ugo 所有
a 所有
怎么设置
+添加权限
-减少权限
=赋予权限
增加减少赋予什么权限
r 读
w 写
x 执行
注意
同时设置多个身份权限的时候 每个身份权限用英文逗号隔开
chmod g+x,o+x
在设置权限的时候如果有两个部分权限一样 我们可以:
chmod u=rwx,g=rwx
等价于 chmod ug=rwx
数字形式
r 4 可读
w 2可写
x 1可执行
0 不能读 不能写 不能执行
1 不能读 不能写 执行
2 不能读 写 不能执行
3 不能读 写 能执行
4 读 不能写 不能执行
5 读 不能写 执行
6 读 写 不能执行
7 读 写 执行
-
chmod 765 3 以数字形式 赋予文件属主所有权限 属组读写 其他 读执行
问题:
chmod 731 a
7 4+2+1
3 2+1 不合理 要写必须先具备读 单独出现2 和3不合理
1
生产环境下Linux不允许出现777
属主与属组设置
属主:文件的所有者 是一个账户 一个人
属组:所属的用户组 一个组
ls -l ll
chown
修改文件的属主 属组
用法1:将文件的属主修改为其他用户
chown zhangsan 1.txt 将文件1.txt属主 修改为 zhangsan
用法2:同时修改文件的属主 属组
chown zhangsan:zhangsan 2.txt
chgrp 修改文件的属组
用法:chgrp zhangsan 1.txt
一般来说 chown命令 只有root用户才可以使用 普通用户没有权限修改别人的文件所有者 也没有权限将自己文件的所有者修改为别人。
特殊权限
设置位s
让一般使用者 临时拥有文件的属主/属组权限
/usr/bin/passwd 在执行时 需要修改/etc/passwd /etc/shadow 等文件,这些文件除了root 其他用户都只有读权限,为了让普通用户修改密码 临时让他们拥有root权限,找个s权限 就是帮我们来完成这个任务的,s权限 只能应用在二进制的可执行文件上。
去除s权限
which 查看二进制可执行文件所在的位置
通过chmod命令修改s权限
chmod u-s/u+s /usr/bin/passwd
0755 最前面的0表示不使用任何特殊权限 用数字来代表特殊权限 可以使用 4表示s位
普通用户测试
沾滞位 t
chmod
作用:只允许文件的创建者或root删除文件
chmod o+t/o-t 文件名
ACL访问控制
ugo
rwx s t
umask
表示创建文件的默认权限
文件 666
目录 777
root umask值
目录 | 文件 | |
---|---|---|
最大默认权限 | 777 rwxrwxrwx | 666 rw-rw-rw- |
umask | 022 ----w--w- | 022 ----w--w- |
初始权限 | 755 rwxr-xr-x | 644 rw-r--r-- |
普通用户umask值
目录 | 文件 | |
---|---|---|
最大默认权限 | 777 rwxrwxrwx | 666 rw-rw-rw- |
umask | 002 -------w- | 002 -------w- |
初始权限 | 775 rwxrwxr-x | 664 rw-rw-r-- |
当umask 011 创建文件默认权限应该是 655 实际运行时会变成666
666 —> rw-rw-rw-
011 —> -----x--x
相减得
666 —> rw-rw-rw-
这个特殊情况只出现于文件
修改umask值
临时修改:umask umask值 umask 044
永久修改:
在尾行