LINUX系统第三章用户的权限

一基本权限

1.基本权限UGO:
概述
QQ空间的红钻特权
某高仿传奇,VIP16,一刀9999999
腾讯视频/爱奇艺,会员特权
文件权限设置真实的样子
赋于某个用户或组 能够以何种方式 访问某个文件(图片文件,视频文件,普通文件)
权限对象
权限对象:
属主: u
属组: g
其他人: o
所有人:a(u+g+o)
权限类型
读:r=4
写:w=2
执行: x=1
查看权限
查看权限记录

[root@localhost ~]#ls -l /root/1.txt
-rw-r–r--. 1 root root 179 5月 25 14:27 /root/1.txt
-文件类型
rw-主人的权限,属主
r–属组的权限,
r–其他人的权限
.权限的扩展
1文件链接(第七章文件链接)
root文件的属主
root文件的属组
179大小
5月 25 14:27文件最后的修改时间
/root/1.txt 文件的名和路径
设置权限
更改权限
使用符号
语法
使用符号:u用户 g组 o其他 r读 w写 x执行
语法: chmod 对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x) 文件/目录
示例
1.了解普通文件的基本权限
[root@localhost ~]# cd /tmp
[root@localhost ~]# touch file1
[root@localhost tmp]# ll file1
-rw-r–r--. 1 root root 0 4月 13 20:49 file1
权限 属主 属组 文件
2.编写程序
[root@localhost tmp]#vim file1
echo “hello 2020”
read -p “请输入您的姓名:” name
echo “哈哈 $name 是大笨蛋”
3.增加执行权限
[root@localhost tmp]# chmod u+x file1
//属主增加执行
4.运行测试。成功
[root@localhost tmp]# ./file1
hello 2020
请输入您的姓名:4567
4567 是大笨蛋
5.去除权限。运行失败
[root@localhost tmp]# chmod u-x file1
[root@localhost tmp]# ./file1
-bash: ./file1: 权限不够
6.更多的修改权限练习

[root@localhost tmp]# chmod a=rwx file1 //所有人等于读写执行
[root@localhost tmp]# chmod a=- file1 //所有人没有权限
[root@localhost tmp]# chmod ug=rw,o=r file1 //属主属组等于读写,其他人只读
[root@localhost tmp]# ll file1 //以长模式方式查看文件权限
-rw-rw-r-- 1 alice it 17 10-25 16:45 file1 //显示的结果
使用数字
4读 2写 1执行
[root@localhost ~]# chmod 644 file1
[root@localhost ~]# ll file1
-rw-r–r-- 1 alice it 17 10-25 16:45 file1
更改属主、属组
chown命令
chown: 设置一个文件属于谁,属主
语法: chown 用户名.组名 文件
[root@localhost ~]# chown alice.hr file1
//改属主、属组
[root@localhost ~]# chown alice file1
//只改属主
[root@localhost ~]# chown .hr file1
//只改属组
选项
-R 针对目录中所有的文件。
chgrp命令
chgrp: 设置一个文件属于哪个组,属组
语法: chgrp 组名 文件 -R是递归的意思
[root@localhost ~]# chgrp it file1 //改文件属组
[root@localhost ~]# chgrp -R it dir1 //改文件属组
案例
1.用户权限意义
设定用户账户对文件(图片,视频,程序)的访问能力(看一看,写一写,执行)。
2.权限的对象
属主:文件的主人:u
属组:文件属于组员权限:g
其他人:除了主人和组员之外的用户:other
特殊对象:所有人(包含主人,组员,其他):all 全部
3.权限的类型
读取:r=4
写入:w=2
执行:x=1
4.修改文件的权限(完成授权一种方法)
命令:chmod(ch改变mod设置)
语法:chmod 授权 文件
示例:chmod u+x file1.txt
示例:chmod 764 file1.txt (属主读写执行,属组读写,其他人读)
案例:给一个文件增加执行权,用于执行。
5.修改文件的属主和属组(完成授权另一种方法)
命令:chown(ch改变own所有者)
语法:chown 属主.属组 文件/文件夹
语法:chown 属主 文件
语法:chown .属组 文件
示例:chown user01.hr file1.txt
示例:chown -R user01.hr dir1/
6.案例需求:
文件file10.txt
属主是user100,读写执行-7(可以看内容,可以改内容,可以执行)
属组是jishuzu(user200),读取 -4(只能看,不能改,不能执行)
其他人 没有权限-0(既不能看,又不能改和执行)
7.操作:
1.使用root账户,来到/tmp目录
[root@localhost tmp]# cd /tmp
[root@localhost tmp]# pwd
2.创建文件file10.txt
[root@localhost tmp]# touch file10.txt
[root@localhost tmp]# ll file10.txt
-rw-r–r--. 1 root root 0 3月 19 16:20 file10.txt
主人:读写
组:读
其他人:读
3.准备测试账号
[root@localhost tmp]# useradd user100
[root@localhost tmp]# useradd user200
[root@localhost tmp]# useradd user300
[root@localhost tmp]# groupadd jishuzu
[root@localhost tmp]# usermod -aG jishuzu user200
[root@localhost tmp]# id user200
uid=1013(user200) gid=1016(user200) 组=1016(user200),1018(jishuzu)
4.授予文件属主和属组,以及其他人的权限。
[root@localhost tmp]# chmod 740 file10.txt
[root@localhost tmp]# ll file10.txt
-rwxr----- . 1 root root 0 3月 19 16:20 file10.txt
主人: 读写执行
组: 读
其他人:没有权限
5.修改文件属主和属组。chown
[root@localhost tmp]# chown user100.jishuzu file10.txt
[root@localhost tmp]# ll file10.txt
-rwxr-----. 1 user100 jishuzu 0 3月 19 16:20 file10.txt
属主:user100
属组:jishuzu(组员user200)
6.测试
使用user100,访问文件。写入文件,执行文件
[root@localhost tmp]# su - user100
[user100@localhost ~]$ cd /tmp/
[user100@localhost tmp]$ cat file10.txt
[user100@localhost tmp]$ vim file10.txt
[user100@localhost tmp]$ ./file10.txt
123
456
789
[user100@localhost tmp]$ exit
登出
使用jishuzu成员,访问文件,不可写和执行
[root@localhost tmp]# su - user200
[user200@localhost ~]$ cd /tmp/
[user200@localhost tmp]$ cat file10.txt
echo 123
echo 456
echo 789
[user200@localhost tmp]$ vim file10.txt
写入失败,强制退出:q!
[user200@localhost tmp]$ ./file10.txt
-bash: ./file10.txt: 权限不够
[user200@localhost tmp]$ exit
登出
使用其他用户user300,访问文件失败。写入失败,执行失败。
[root@localhost tmp]# su - user300
[user300@localhost ~]$ cd /tmp/
[user300@localhost tmp]$ cat file10.txt
cat: file10.txt: 权限不够
[user300@localhost tmp]$ vim file10.txt
写入失败,强制退出:q!
[user300@localhost tmp]$ ./file10.txt
-bash: ./file10.txt: 权限不够
[user300@localhost tmp]$ exit
登出

二基本权限ACL

区别
请思考:使用chmod能针对独立用户设置文件不同的权限吗?
user01 rwx file1
user02 rw file1
user03 r file1
user04 rwx file1
user05 rw file1
ACL文件权限管理: 设置不同用户,不同的基本权限(r、w、x)。对象数量不同。
UGO设置基本权限: 只能一个用户,一个组和其他人
语法
setfacl -m u:alice:rw /home/test.txt
命令 设置 用户或组:用户名:权限 文件对象
用法
设置
准备文件
[root@qianfeng ~]# touch /home/test.txt
[root@qianfeng ~]# ll /home/test.txt
-rw-r–r-- 1 root root 0 10-26 13:59 /home/test.txt
设置ACL
查看文件有哪些ACL权限。
[root@qianfeng ~]# getfacl /home/test.txt
设置用户alice,jack权限
前提:创建alice 和jack用户。过程略
[root@qianfeng ~]# setfacl -m u:alice:rw /home/test.txt
[root@qianfeng ~]# setfacl -m u:jack:- /home/test.txt
请思考命令中的o是什么作用
[root@qianfeng ~]# setfacl -m o::rw /home/test.txt
查看/删除:
查看ACL
[root@qianfeng ~]# getfacl /home/test.txt
getfacl: Removing leading ‘/’ from absolute path names
查看文件权限,删除了根路径。
file: home/test.txt 文件名
owner: root 属主:root
group: root 属组:root
user::rwx 用户:属主:rwx
user:alice:rw- 用户:alice:rw-
user:jack:— 用户:jack:—
group::rwx 组:属组:rwx
mask::rwx 掩码::rwx
other::rwx other:其他人:rwx
删除ACL
设置
增加hr组对test.txt文件读取的权限
[root@qianfeng ~]# setfacl -m g:hr:r /home/test.txt
删除部分
[root@qianfeng ~]# setfacl -x g:hr /home/test.txt
//删除组hr的acl权限
删除所有
[root@qianfeng ~]# setfacl -b /home/test.txt

三 特殊权限umask

特殊位 suid
高级权限的类型
suid针对文件/程序时,具备临时获得属主的权限。
请思考
问题1
问题1: 下面的操作,为什么会失败!
[root@localhost ~]# ll /root/file1.txt
-rw-r–r-- 1 root root 4 7月 27 14:14 /root/file1.txt
[root@localhost ~]#su - alice
[alice@localhost ~]$ cat /root/file1.txt
cat: /root/file1.txt: 权限不够

分析:root运行是超管的权限,普通用户运行时是普通用户的权限。
root /usr/bin/cat (root) /root/file1.txt OK
alice /usr/bin/cat (alice) /root/file1.txt
示例1
设置suid,使普通用户通过suid临时提权,查看超管root用户的文件
1.为cat程序添加上suid权限。
[root@qianfeng ~]# ll /usr/bin/cat
-rwxr-xr-x. 1 root root 54080 8月 20 2019 /usr/bin/cat
[root@qianfeng ~]# chmod u+s /usr/bin/cat
[root@qianfeng ~]# ll /usr/bin/cat
-rwsr-xr-x. 1 root root 54080 8月 20 2019 /usr/bin/cat
自习观察输出信息2(这两次有什么不同呢?)
2.使用普通用户运行cat。暂时获得root权限
[root@localhost ~]# su - alice
[alice@qianfeng ~]$ cat /root/file1.txt
结果,普通用户,看到了root的内容。这个行为很危险
请在试验后,将cat的suid权限除去。
[root@qianfeng ~]# chmod u-s /usr/bin/cat
[root@qianfeng ~]# ll /usr/bin/cat
自习观察输出信息3(请确认是否删除suid特殊权限)
文件属性chattr
用途
常用于锁定某个文件,拒绝修改。
分类

案例
	1 先创建新文件进行对比。查看默认权限。
		[root@qianfeng ~]# touch file100

[root@qianfeng ~]# lsattr file100
-------------- file100

	2 加上不能删除的属性。
		[root@qianfeng ~]# chattr +i file100
			不能更改,重命名,删除
	3 查看不同属性
		[root@qianfeng ~]# lsattr file100

----i--------- file100
4 尝试删除
[root@qianfeng ~]# rm -rf file100
rm: cannot remove `file100’: Operation not permitted
5 将属性还原。
[root@qianfeng ~]# chattr -i file100
注意
设置文件属性(特别权限),针对所有用户,root是否会收到影响呢?
进程掩码 umask
概述
新建文件、目录的默认权限会受到umask的影响,umask表示要减掉的权限
示例1:观察系统默认掩码
示例1: 在shell进程中创建文件,先查看当前用户的umask权限
[root@qianfeng ~]# umask
0022
[root@qianfeng ~]# touch file800
[root@qianfeng ~]# mkdir dir800
[root@qianfeng ~]# ll -d dir800 file800
drwxr-xr-x. 2 root root 4096 3月 11 19:40 dir800
-rw-r–r--. 1 root root 0 3月 11 19:40 file800
示例2:老铁,双击666
修改shell umask值(临时)
示例2:修改shell umask值(临时)
[root@qianfeng ~]# umask 000
[root@qianfeng ~]# mkdir dir900
[root@qianfeng ~]# touch file900
[root@qianfeng ~]# ll -d dir900 file900
drwxrwxrwx. 2 root root 4096 3月 11 19:44 dir900
-rw-rw-rw-. 1 root root 0 3月 11 19:44 file900

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值