欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[学习笔记] linux 最最最最最最基本的权限概念 - 菜鸟级

程序员文章站 2022-06-05 18:38:00
...

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添加/删除用户和用户组

相关标签: linux笔记