Linux文件属性详解(2)-权限管理

目录

Linux权限管理

1.linux如何知道对应文件的权限

2.使用数字表示权限

3.chmod-修改文件权限

4.chown-修改文件属主、属组

5.rwx对于文件的作用

6.rwx对于目录的作用

7.系统控制权限umask

8.隐藏权限位

9.特殊权限位置

知识点小结

Linux权限管理

1.linux如何知道对应文件的权限

判断权限的依据:

1.明确当前登录的用户是谁

2.当前用户和文件的关系

3.根据对应的关系找到权限位

# eg:
第一步: (环境准备)root用户在/tmp目录创建test.txt
[root@oldboyedu ~]#ll /tmp/
total 0
[root@oldboyedu ~]#touch /tmp/test.txt
查看文件属性
[root@oldboyedu ~]#ll /tmp/
total 0
-rw-r--r-- 1 root root 0 Jul 19 08:46 test.txt    # test.txt对其他用户的权限为r--

第二步: 切换到oldboy用户登录操作系统
[root@oldboyedu ~]# su - oldboy
Last login: Wed Jul 19 08:39:41 CST 2023 on pts/1 

第三步: 确定oldboy用户对test.txt的权限
[oldboy@oldboyedu ~]$ cd /tmp/
[oldboy@oldboyedu tmp]$ ll
total 0
-rw-r--r-- 1 root root 0 Jul 19 08:46 test.txt   # oldboy用户为其他用户--->权限为r--

2.使用数字表示权限

r  ---  4

w --- 2

x  --- 1

3.chmod-修改文件权限

法一:chmod 用户符号符+/-/=权限 文件名

chmodu
g
o
a
+(加入)
-(除去)
=(设定)
r
w
x
文件或目录

权限表示法一:

  • r     ---   可读
  • w    ---   可写
  • x     ---   可执行

 修改符号:

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限

用户符号:  

  • u:拥有者 
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户
# 情况1:修改单个用户的权限
案例1.授权1.txt属主x权限
[root@oldboyedu ~]#touch 1.txt
[root@oldboyedu ~]#ll
total 0
-rw-r--r-- 1 root root 0 Jul 19 08:55 1.txt
[root@oldboyedu ~]#chmod u+x 1.txt 
[root@oldboyedu ~]#ll 1.txt
-rwxr--r-- 1 root root 0 Jul 19 08:55 1.txt

案例2.1.txt属主去掉x权限
[root@oldboyedu ~]#chmod u-x 1.txt 
[root@oldboyedu ~]#ll 1.txt 
-rw-r--r-- 1 root root 0 Jul 19 08:55 1.txt

案例3.给1.txt其他位置陌生用户授权w权限
[root@oldboyedu ~]#chmod o+w 1.txt 
[root@oldboyedu ~]#ll 1.txt 
-rw-r--rw- 1 root root 0 Jul 19 08:55 1.txt

案例4.给每个位置增加x权限
[root@oldboyedu ~]#chmod ugo+x 1.txt 
[root@oldboyedu ~]#ll
total 0
-rwxr-xrwx 1 root root 0 Jul 19 08:55 1.txt


# 情况2:修改多个用户的权限(组合)
其他表示所有写法: 
ugo  表示所有
+x   默认表示所有
a+x  表示所有
[root@oldboyedu ~]#chmod -x 1.txt 
[root@oldboyedu ~]#ll 1.txt 
-rw-r--rw- 1 root root 0 Jul 19 08:55 1.txt

[root@oldboyedu ~]#chmod a+x 1.txt 
[root@oldboyedu ~]#ll
total 0
-rwxr-xrwx 1 root root 0 Jul 19 08:55 1.txt


去掉属组和陌生人的x权限
[root@oldboyedu ~]#chmod go-x 1.txt 
[root@oldboyedu ~]#ll 
total 0
-rwxr--rw- 1 root root 0 Jul 19 08:55 1.txt


等号= 为覆盖
[root@oldboyedu ~]#ll
total 0
-rw---x--- 1 root root  0 Jul 19 08:55 1.txt
drw------- 2 root root 19 Jul 19 09:03 oldboy
[root@oldboyedu ~]#chmod g=rwx 1.txt 
[root@oldboyedu ~]#ll
total 0
-rw-rwx--- 1 root root  0 Jul 19 08:55 1.txt
drw------- 2 root root 19 Jul 19 09:03 oldboy

法二:chmod 数字 file           

使用数字表示权限:

  • r      ---      4
  • w    ---       2
  • x     ---       1

重点掌握!!!

第二种修改权限的方式: 使用数字表达式修改  常用 必须掌握核心
[root@oldboyedu ~]## 授权为rw-r--r--
[root@oldboyedu ~]#chmod 644 1.txt 
[root@oldboyedu ~]#ll
total 0
-rw-r--r-- 1 root root 0 Jul 19 08:55 1.txt


案例2: 授权1.txt rw-------
[root@oldboyedu ~]#chmod 600 1.txt 
[root@oldboyedu ~]#ll
total 0
-rw------- 1 root root 0 Jul 19 08:55 1.txt

案例3: 授权1.txt rwxr-xr-x
[root@oldboyedu ~]#chmod 755 1.txt 
[root@oldboyedu ~]#ll
total 0
-rwxr-xr-x 1 root root 0 Jul 19 08:55 1.txt


案例4: 递归授权目录及目录以下所有文件为600
[root@oldboyedu ~]#chmod -R 600 ./*
[root@oldboyedu ~]#ll
total 0
-rw------- 1 root root  0 Jul 19 08:55 1.txt
drw------- 2 root root 19 Jul 19 09:03 oldboy
[root@oldboyedu ~]#ll oldboy/
total 0
-rw------- 1 root root 0 Jul 19 09:03 2.txt

4.chown-修改文件属主、属组

通过修改文件的属主、属组为特定的用户,就可以修改特定用户对该文件的权限!!!

---经常用于统一权限

1.语法结构

        

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

2.参数

      -R 递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改

5.rwx对于文件的作用

文件是实际含有数据的地方

  • r   对于文件就是可读,相当于cat 查看文件内容
  • w  对于文件就是可写,相当于echo >> 

    【注意】但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.

  • x  对于文件就是可执行

    【注意如果只有x权限没有r权限,则无法执行文件(eg:一个脚本,无法查看,怎么知道执行的内容是什么)。

小结:

  1. r单独可以表示文件的可读  w和x单独是没有任何意义
  2. rw- 表示文件的最高权限 可读可写
  3. r-x 表示文件可以执行
  4. rwx 表示可读可写可执行(脚本文件需要rwx 普通文件只需要rw-) 
  5. 系统默认创建的文件权限: rw-r--r--  644

6.rwx对于目录的作用

目录主要的内容是记录文件名列表和子目录列表,而不是实际存放数据的地方。

  • r      可读:相当于ls查看目录内容

【注意】当只有r没有x权限时,我们可以只能查看到文件名,但是无法详细查看文件属性

  • w     可写:可以修改(内容),目录内使用touch、mkdir、rm等命令删除+创建+改名文件/子目录
  • x      可执行:可以cd进入该目录                                                                   

总结:

  1. r、w、x对于目录任意单个没有任何作用!!!
  2. r-x 对于目录含义 可以进去目录 可以正常查看所有文件 不能创建 不能删除 不能改名 (除了看啥都不能干) 
  3. rwx 拥有最高权限 增删改查
  4. 系统默认的目录权限: rwxr-xr-x 755

7.系统控制权限umask

1.

  • 系统默认创建的目录: 755
  • 系统默认创建的文件: 644

都是由umask默认的值控制的文件权限

2.

  • 最大目录权限: 777
  • 文件文件权限: 666

3.

  • 默认的目录权限: 由目录的最大权限减去umask值获得默认的属性
  • 默认的文件权限: 由文件的最大权限减去umask值获得默认的权限
# eg1:
查看umask:
[root@oldboyedu ~]#umask
0022


目录: 
 777
-022
=755  rwxr-xr-x
文件:
 666
-022
 644  rw-r--r--


# eg2 
修改umask值
[root@oldboyedu ~]#umask 044

目录:
 777
-044
=733  rwx-wx-wx

文件:
 666
-044
=622  rw--w--w-

[root@oldboyedu ~]#mkdir oldboy
[root@oldboyedu ~]#touch 1.txt
[root@oldboyedu ~]#ll
total 0
-rw--w--w- 1 root root 0 Jul 19 10:47 1.txt
drwx-wx-wx 2 root root 6 Jul 19 10:47 oldboy

注意: 如果umask值为奇数,文件权限则需要相减后在奇数位加1  目录不变
案例: umask 032
目录:
 777
-032
=745  rwxr--r-x
文件:
 666
-032
 634
+010
=644 rw-r--r--

[root@oldboyedu ~]##目录 rwxr--r-x 文件 rw-r--r--
[root@oldboyedu ~]#umask 032
[root@oldboyedu ~]#mkdir 1
[root@oldboyedu ~]#touch 2
[root@oldboyedu ~]#ll
total 0
drwxr--r-x 2 root root 6 Jul 19 10:51 1
-rw--w--w- 1 root root 0 Jul 19 10:47 1.txt
-rw-r--r-- 1 root root 0 Jul 19 10:51 2

笔试题: 创建的目录权限为111 文件权限为000 请问umask值多少
666

8.隐藏权限位

  • a (append 只能追加) 如果设置了这个权限 只能追加 不能删除 不能修改 
  • i(immutable 无敌) 无法修改 无法删除 
查看隐藏权限: lsattr
[root@oldboyedu ~]#lsattr 1.txt 
---------------- 1.txt
增加a隐藏权限
[root@oldboyedu ~]#chattr +a 1.txt 
[root@oldboyedu ~]#ll 1.txt 
-rw-r--r-- 1 root root 0 Jul 19 11:14 1.txt
[root@oldboyedu ~]#lsattr 1.txt 
-----a---------- 1.txt


当操作文件没有权限会生成临时文件:
[root@oldboyedu ~]#ll
total 0
-rw-r--r-- 1 root root 0 Jul 19 11:14 1.txt
-rw-r--r-- 1 root root 0 Jul 19 11:15 1.txt~
-rw-r--r-- 1 root root 0 Jul 19 11:16 1.txz~

取消a权限
[root@oldboyedu ~]#chattr -a 1.txt 
[root@oldboyedu ~]#lsattr 1.txt 
---------------- 1.txt


增加i权限
[root@oldboyedu ~]#chattr +i 1.txt
[root@oldboyedu ~]#lsattr 1.txt 
----i----------- 1.txt

注意: 在企业中操作文件没有权限 看文件和目录权限外一定要注意查看隐藏权限和第三方安全软件

注意: 在企业中操作文件没有权限 看文件和目录权限外一定要注意查看隐藏权限和第三方安全软件 

9.特殊权限位置

s  4 setuid 作用:运行某一个命令的时候相当于这个命令的所有者(root) 
g  2 作用:运行某一个命令的时候相当于这个命令的属组的权限(root) 
t   1 粘滞位

案例: 
使用root用户在/etc下创建test.txt
然后使用oldboy用户登录系统 删除test.txt

[root@oldboyedu ~]#chmod u+s /usr/bin/rm
[root@oldboyedu ~]#ll /usr/bin/rm
-rwsr-xr-x. 1 root root 62872 Aug 20  2019 /usr/bin/rm

在任意用户下执行rm命令都相当于是root执行


粘滞位: 
[root@oldboyedu ~]#ll -d /oldboyedu/
drwxrwxrwx 2 root root 61 Jul 19 11:33 /oldboyedu/
[root@oldboyedu ~]#chmod 1777 /oldboyedu/
[root@oldboyedu ~]#stat /oldboyedu/

任意用户可以创建管理自己的文件,粘滞位控制不能删除其他用户的文件

知识点小结

重点:
1.掌握当前用户对应文件的权限
2.rwx对应的数字 r4 w2 x1
3.授权 掌握数字授权
  chmod 644 file
  chmod 600 file
  chmod -R 600 /dir
  ugo+ ugo- ugo=  a+ a-  +x -x  
4.能够独立解决权限拒绝问题
  rwx文件作用 rwx目录作用
5.隐藏权限位 a i 做好笔记
  chattr +i 1.txt
  lsattr 1.txt 
6.特殊权限位 了解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值