2.用户权限

目录

一.基本权限UGO

1.两个基本元素

2.设置权限

更改权限:

3.案例

二.基本权限ACL

1.语法

2.用法

三.特殊权限

1.特殊位置suid

2.文件属性chattr

3.进程掩码umask


一.基本权限UGO

1.两个基本元素

权限对象

属主:u

属组:g

其他人:o

特殊对象:所有人--a(u+g+o)

权限类型

读:r=4

写:w=2

执行:x=1

2.设置权限

更改权限:

使用符号

chmod 对象(u/g/o/a)赋值操作符(+/-/=)权限类型(r/w/x) 文件

chmod - R 对象(u/g/o/a)赋值操作符(+/-/=)权限类型(r/w/x) 目录/

(ls - l - d 看目录的详细信息时需要- d)

使用数字

chmod 数字(xxx) 文件

777: 分别代表ugo,7表示读写执行权限

000: 表示都没有权限

chmod - R 数字(xxx) 目录/

1.了解普通文件的基本权限:

# cd /tmp

# touch ./file1

# ll ./file1 (ll和ls -l相同,简写)

-rw-r--r--. 1 root root 0 4月 13 20:49 file1

 2. 编写程序

#  vim file1

echo " hello 2202”

read -p  "请输入您的姓名" name

echo "哈哈 $name 是狗"

3. 增加执行能力

# chmod  u+x file1.txt (属主增加执行)

 4.运行测试

# ./file1

hello 2202

请输入您的姓名

哈哈 你 是狗"

5. 去除权限

u-x

运行失败

更改属主、属组

 chows

change owner

设置一个文件属于谁,把文件的主人改掉(也可以改组)

chown 用户名.组名 文件

(改主人和组)

chown 用户名 文件

(改主人)

chown .组名 文件

(改组)

chown - R

# touch /tmp/file1.txt

# ls - l tmp/file1.txt

-rw-r--r--. 1 root root 0 4月 13 20:49 file1

# useradd user01

# groupadd hr

# chwn user01. hr /tmp/file1.txt

-rw-r--r--. 1 user01 hr 0 6月 1 20:49 file1

chgrp

设置一个文件属于哪个组

chgrp 组名 文件

(单个文件)

chgrp - R 组名 目录

(R递归,将目录下的所有文件和目录统一设置权限)

3.案例

针对hr部门的访问目录设置权限,要求如下

1.root用户和hr组的员工可以读、写、执行

2.其他用户没有任何权限操作思路1创建组2创建用户

3.修改属主和属组

4.设置权限

# goupadd hr
# useradd hr01 -G hr
# useradd hr02 -G hr
# mkdir /home/hr

# chgrp hr /home/hr
# chmod 770 /home/hr
# ll -d /home/hr
drwxrwx---. 2 root hr 4096 4月14 14:26 /home/hr

二.基本权限ACL

access control list -- 访问 控制 列表

ACL可以解决UGO只能最多实现3个用户对文件有不同的操作权限的问题,ACL是UGO的补充,或则说是加强版

设置不同用户,不同的基本权限(r、w、x)。对象数量不同

1.语法

基本用法

setfacl -m u:alic:rw- /home/text.txt

命令 设置 用户或组:用户名:权限 文件对象

setfacl : set file acess control list

-d则表示删除

2.用法

设置ACL

准备工作

# touch /home/test.txt

查看文件有哪些ACL权限

# setfacl /home/test.txt

不要用ls - l

因为在ACL下ll查看的-rwx-rwx-rr- +有个加号是附加权限,会混淆

设置用户alice,jak权限

创建alice和jack过程略

# setfacl - m u:alice:rw /home/test.txt

# setfacl - m u:jack:- /home/test.txt

请思考命令中的o是什么作用

# setfacl - m o::rw /home/test.txt

(其它人权限的设置)

查看/删除

查看

# setfacl /home/test.txt

删除

setfacl - x g:hr /home/test.txt

(删除组hr的acl权限)

setfacl - b /home/test.txt

(删除所有的acl权限)

watch -n1 'ls - l 文件'

另起一个窗口输入可以实时查看目前该文件的详细信息

三.特殊权限

1.如果一个文件很重要,那他万一被超管删除了怎么办?  靠特殊权限的i权限、

2.早上是不是看见一个权限叫rwxrwxrwt。特别的位置。

3.为什么系统创建文件是644?因为有系统默人权限设计。

1.特殊位置suid

suid(sgid)针对文件/程序时,具备临时提升权限,是针对文件所设置的一个特别的权限,使调用文件的用户临时具备属主的能力,谁用这个文件,谁就是这个文件的属主

针对的是属主的执行位,如果该位置一开始有x则u+s后该位置会是小s,相反如果该位置没有执行权限x则chmod u+s 后该位置是大S

实际上授权位是由4个组成的,分别是特殊位、属主、属组、其它

2.文件属性chattr

如果一个很重要的权限被超管删除了,这时候就可以靠chattr的i权限

a(append)

允许在文件中进行追加操作

A

这个属性不允许更新文件的访问时间

c

(compreszed)

启用这个属性时,文件在磁盘上会自动压缩

d(dump)

不能使用dump命令备份文件

D

设置了文件夹的D属性时,更改会在同步保存在磁盘上

e

(extent format)

它表明,该文件使用磁盘上的块的隐射扩展

i (immitable)

在文件上启用这个属性时,我们不能更改、重命名或者删除这个文件

S

(synchronous)

设置了这个属性时,变更或更改会同步保存到磁盘上

chattr属性中可以使用的不同选项:

- R :递归地修改文件夹和子文件夹地属性

- V:chattr命令会输出带有版本信息地冗余信息

查看chattr属性文件:lsattr

设置文件属性(特别权限),针对所有用户,root也会受到影响

# cd /home/test

# touch ./file.txt

# lsattr file

---------------- file

# chattr +i file //不能更改,重命名以及删除


//查看属性

# lsattr file

----i----------- file


# rm -rf file

尝试删除 -- 删除失败

//此时用vim打开也无法进行修改


减掉权限

# chattr - i file

3.进程掩码umask

为什么系统创建文件是644?创建目录权限是755?因为有系统默认权限设计

新建文件、目录地默认权限会受到umask地影响,umask表示要减掉地权限

系统默认umask值为0022

umask 0000:将系统默认权限值临时改为0000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值