[Linux]权限管理

1、文件属性

-(文件)   d(目录)   c(字符设备)  l(链接文件)  s(套接字) b(可供存储的接口设备)

例: ls -l file

(1)-表示文件

(2)rw-r—r--表示权限,分别为所属用户的权限 用户组的权限 其他用户的权限

(3)digital表示系统记录文件的次数

(4)所属用户

(5)所属用户组

(6)文件的大小

(7)最后一次修改的时间

 

Linux文件权限

文件:

r:可查看文件的内容

w:可修改文件

x:可把文件进行执行

目录:

r:可查看目录中子目录和文件

w:可对目录中的文件进行创建和删除(创建需还有x权力)

x:可进入目录,并显示目录中的元数据

 

例:

  1. d表示目录
  2. rwxr-xr-x表示权限,分别为所属用户的权限 用户组的权限 其他用户的权限
  3. digital表示目录中子目录的个数
  4. 所属用户
  5. 所属用户组
  6. digital表示子文件元数据大小

2、文件/目录权限修改

2.1修改dir的所有者为admin

chown admin dir1

2.2递归修改目录下本身即所有的目录和文件所有者为admin

chown -R admin dir

2.3修改file文件所有者和所有组为admin

chown admin.admin file1

chown admin:admin file1

2.4修改dir1目录所有组为admin

chgrp admin dir1

3、修改文件目录读写执行权限

格式:chmod [参数] files/dir

-c    输出被改变文件的信息 

-R    递归遍历修改子目录(所有文件和子目录)

u  用户  g  所属组   o  其他人

+  添加  -  去除     =  设定

r=4   w=2   x=1

例:chmod ugo=rw- file同等与chmod 666 file

将dir目录权限设定为744并显示改变后的信息。

4、umask

作用:umask用于设置用户创建文件或者目录的默认权限

使用umask可以查看默认权限

在创建文件时,权限将会减少111(去除执行的权力),执行和删除同样非常可怕。

临时设定umask,关闭终端umask恢复默认

4.1永久修改umask

Vim打开/etc/profile    找到以下语句

满足条件(系统用户)umask 002

不满足 umask 022

从中修改自己所需的值,保存退出。

接着Vim打开/etc/bashrc

修改umask,保存退出。

最后重新加载以上两个文件,或者重新登录linux,便可生效

source /etc/profile

source /etc/bashrc

 

5.特殊权限

5.1 sticky

   chmod 1*** dir1 == chmod o+t dir1

##***为rwx对应421之和

   其他用户无法删除目录下非所有的文件

5.2 sgid

   目录:

   chmod 2*** dir1 == chmod g+s dir2

##***为rwx对应421之和

   在目录中新建的文件和目录都属于该目录的所属组

   文件:(二进制可执行文件)

   chmod 2*** file1 == chmod g+s file1

##***为rwx对应421之和

   用户使用的该文件产生的进程都属于目录的所属组

   查看进程ps -a -o user,group,comm

5.3 suid

   文件:(二进制可执行文件)

   chmod 4*** file1 == chmod u+s file1

##***为rwx对应421之和

   用户使用的该文件产生的进程都属于文件的所有者,用户的身份可提升或者下降

6、acl列表管理

getfacl file        查看ac列表文件权限

# file: file

# owner: admin

# group: admin

user::rw-

group::rw-

other::r-- 

当前未添加指定用户的权限,添加后会出现mask::(能赋予用户最大的峰值)

 

acl权限使用场景:

例:班主任新建/homework目录用于本班同学存放作业,班主任是该目录的所有者,具有读写执行权力,本班同学在所属组中,也同样具有读写执行权力,其他人没有任何权力。其他班的想从该班作业拿去做参考,若将其他班的人加入所属组,同样也有读写执行权力,这并不符合实际,若将其他的权限改为读和执行,那非本学校的人也可以查阅,同样也不符合实际,这个时候就用到了acl列表管理

 

setfacl -m u:username:r-x file     //赋予username可读执行权限(mask::r-x)

setfacl -m g:school:r-x file       //赋予school组成员权限

setfacl -x u:username file          //删除username权限

setfacl -x g:school file           //删除school组成员权限

setfacl -b file                    //关闭file1的acl列表

      -R                          对目录中的文件递归处理

创建homework目录

对其他student1赋予权力

其他用户无法访问

 

注(错误操作):当开启acl列表后,使用ls -l命令查看文件在权限中将会出现+,使用chmod修改权限将会改变acl中mask,需使用setfacl -m m:(之前峰值权限) file1

 

6.1默认权限设置

setfacl -m d:u:username:r-x dir1(只能为目录)

将dir1目录下新创建的文件或者目录赋予该权限,之前存在的文件或者目录不起作用

清除默认设置

setfacl -k dir1

 

dir1目录下

赋予admin默认权限r-x

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值