[学习笔记] linux 最最最最最最基本的权限概念 - 菜鸟级
1.概述
linux权限管理的意义在于,同一台服务器有不同的用户使用,应该拥有不同的权限
系统centos7.4
2.文件基本权限及设定
linux中,基本3个权限是: r读取, w写 , x执行
linux中, 命令 ll 即可输出当前目录中的文件及其权限信息 ,如下:
[[email protected]]# ll
total 28
-rw-r--r-- 1 root root 0 Mar 2 20:36 Dockerfile
drwxr-xr-x 17 syslog syslog 4096 Apr 17 21:37 jenkins
-rw-r–r–
上述符号10位 ,
第一位字符:
- 文件类型 ( - 表示文件 , d表示目录, l表示软连接文件(link) )
第一组三个字符:
rw- u所有者权限
r– g所属组的权限
r– o其他人的权限
其中 ,r,w,x表示的含义是:
r 读 ,w 写, x执行(文件x为执行 ,目录的x为 cd )
-rw-r--r-- 1 root root
表示文件, 所有者root拥有文件的rw权限 ,root组拥有r权限 ,其他人拥有r权限
2.1 linux 文件权限的设定
修改权限的方式
chmod [选项] 文件
+,-,=三种符号 , 分别表示增加,减去,赋于
chmod u+x 小明.av
给文件所有者增加执行权限 (u-所有者, x-执行权限)
[[email protected]_30_202_centos temp]# ll
total 0
-rw-r–r– 1 root root 0 Jul 5 23:42 xiaoming.av
[[email protected]_30_202_centos temp]# chmod u+x xiaoming.av
[[email protected]_30_202_centos temp]# ll
total 0
-rwxr–r– 1 root root 0 Jul 5 23:42 xiaoming.av
[[email protected]_30_202_centos temp]#
chmod g+w,o+w 小明.av
给组用户增加w权限,给其他人增加w权限
chmod a=rwx xiaoming.av
给所有人赋于对小明的rwx权限 (a等于all)chmod u-x,g-w 小明.av
减权限, 和上边相反
chmod u=rwx 小明.av
=号 ,表示用户对小明只有rwx权限 ,和+的增加不一样
权限的数字表示 ,用数字代替rwx
r—4
w—2
x—1
例如: rwxr-xr-x可以表示为 7 5 5 (常用权限)
chmod 777 xiaoming.av—–表示给所有人都是最高权限
chmod 766 xiaoming.av —常用权限7:最高权限
5:r+x
6:r+w
2.2 linux 文件权限的作用
- r
- w
- x
r:
w 编辑,新增,修改文件内容(vi echo),但是不可以删除,不能重命名, 必须拥有该文件上级目录的w权限才可对本身进行rm
x 可执行
2.3 linux 权限对目录的作用
- r
可以查询目录下文件名(ls) - w
具有修噶目录结构的权限 .
如: 新建文件和目录 ,删除此目录下的子文件和目录 ,重命名该目录下的文件和目录 ,剪切 ( touch rm mv cp) - x
可以进入目录( cd ) 可以切换该目录 (目录不能x ,只有文件才有x功能)对文件来说 ,最高权限是 x
对目录来说,最高权限是 w ,为了能正常使用 ,只有r权限是没有用的, 应至少为 rx对于root来说 ,这些东西并不能限制root
如果用户拥有目录A的权限 ,那么他也拥有A的子目录的权限
2.4 linux 其他权限命令
- 修改文件所有者 ,命令如下:
chown 用户名 文件或者目录名 - 修改文件的所属组, 命令如下 :
chgrp 组名 文件名
需求 :
- 有一个av目录
- 让老师拥有所权限(所有者)
- 让学生拥有查看权限(组)
- 其他人不允许查看该目录
思路:
- 创建一个文件夹av ,设置文件夹的所有者是老师
- 创建学生组 , 学生组有些学生 ,设置学生组对av文件夹拥有只读权限
最小权限原则 : 禁止直接赋于 777 权限
3.文件默认权限
- 默认权限
当用户创建了一个文件 ,这个文件初始权限 默认 644 ,如下
# touch xiaoming.av
# ll
-rw-r--r-- 1 root root 0 Jul 6 00:32 xiaoming.av2
文件建立默认是没有赋于 x 权限的 ,因为 x 权限必须手动赋于
如果创建一个新目录 ,目录默认为 755
drwxr-xr-x 2 root root 4096 Jul 6 00:40 xiaomingdir
4. ACL 权限
ACL 权限简介
linux中 , 一个文件夹只有一个所有者和一个所属组
acl使用来解决用户身份不够的情况的
具体什么意思呢 ,度之
查看与设定ACL权限
查看acl
[[email protected]~]# getfacl temp/
# file: temp/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
设定acl命令的格式
设定acl权限的命令:
setfacl 选项 文件名
选项:
-m 设定acl权限
-x 删除指定的acl权限
-b 删除所有的acl权限
-k 删除默认的acl去去你先
-r 递归设定acl权限
setfacl -m u:lw:rx temp
给用户lw设置temp目录的rx权限
[[email protected]~]# setfacl u:lw:rx temp/
Usage: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
Try `setfacl --help' for more information.
[[email protected]_30_202_centos ~]# setfacl -m u:lw:rx temp/
[[email protected]_30_202_centos ~]# getfacl temp/
# file: temp/
# owner: root
# group: root
user::rwx
> user:lw:r-x
group::r-x
mask::r-x
other::r-x
最大有效权限与删除ACL权限
如上输出的mask:rwx 及默认最大acl权限 ,
lw对temp的真正的权限应当是mask与lw的权限的交集部分 ,'与'
如madk:rwx ,lw:r-x ,则lw:r-x
如mask:r-- ,lw:rwx ,则lw:r--
setfacl -m m:rx 文件名
设定mask权限为r-x. 使用 ''m:权限'' 文件名格式
如:
setfacl -m m:rx temp
此时 ,再执行 setfacl -m u:lw:rwx temp .lw的实际权限也只是rx
一般情况, 不需要更改系统文件的默认mask权限
删除acl
setfacl -m u:lw temp
删除lw的temp的权限
setfacl -b temp
删除所有人的temp的acl
默认ACL权限和递归ACL权限理解
默认的 ,lw虽然有了temp的acl ,但是没有temp的子文件夹的acl ,如果想递归赋于lwtemp及其子文件目录权限,加上-
R即可
setfacl u:lw:rx -R temp
但是 ,该命令执行后, lw会对temp及其目录下的文件拥有rx权限 ,及lw可以对其中的文件执行x权限操作 , 不可控慎用
此时 ,如果再次新建一个文件 a.log ,该l未见因为是新家的 , lw是没有a文件的权限的
5. sudo权限
root吧本来只能是超级用户执行的命令赋于普通用户执行
sudo的操作对象是系统命令
使用visodu命令修改sudo权限
文件内容格式:
用户名 地址=(sudo的身份) 执行的命令
user1 ALL=(ALL) ALL
user2 ALL=(ALL) /sbin/shutdown -r now
user1可以在任何ip以任何身份(root) 执行任何命令
user2只能 在任何ip以任何身份(root) 执行关机命令
写的越详细 ,权限越精细
6. Sticky BIT 粘着位作用
Sticky BIT 粘着位作用
粘着位目前只对目录生效
普通用户对改目录拥有wx权限 ,及普通用户可以在此目录拥有写入权限
如果没有粘着位 ,因为普通用户也有w权限 ,所以是可以删除此目录的子文件的, 包括该目录下其他用户建立的问价
一旦赋于粘着位 , 除了root用户可以删除所有文件 , 普通用户就算拥有w权限 ,也只能删除自己建立的文件 ,
不能删除其他用户的文件
7. 不可改变位权限 chattr
chattr
chattr [+-=] 选项 文件名或者目录ming
+ 增加权限
- 删除权限
= 等于权限
选项:
i : 对文件设置i属性 ,那么不允许对文件进行删除,改名 ,也不允许修改和添加文件数据 ,;; 如果对目录设置i属性 ,那么只能修改目录下文件的数据 ,但不能新建和删除文件
a: 如果对文件设置a属性. 那么只呢个在文件中增加数据 ,但是不能删除也不能修改数据 ; 如果对目录设置a属性 ,那么只允许在目录中建立和修改文件 ,但是不允许删除(设置a后 ,无法使用vi进行操作 ,只能使用>>追加内容)
对root也生效
例如:
chattr +i xiaoming.av
给av文件设置i属性
lsattr xiaoming.av
查看av文件属性
8.补充 linux新建,删除用户
来个别人的文章的链接 ,方便我以后随时查看学习
Linux添加/删除用户和用户组