Linux系统基础(6)--权限管理

一.权限的基本概念

1.为什么要设置权限

1)服务器中的数据价值
2)员工的工作职责和分工不同
3)应对自外部的攻击
4)内部管理的需要

2.权限的类型

针对文件针对目录
读 r表示可以查看文件内容;cat表示可以(ls)查看目录中存在的文件名称
写w表示可以更改文件的内容;vim 修改,保存退出表示是否可以删除目录中的子文件或者新建子目录(rm/touch/mkdir)
执行x表示是否可以调用文件中的程序,一般指二进制文件(.sh) => 绿色表示是否可以进入目录中(cd)

3.权限的分配给谁

文件拥有者(u):user
文件拥有组(g):group
其他用户(o):other

按照以上三大类用户进行权限的分配。

二.普通权限管理

1.权限的查看

ls -l file				#查看文件权限
ls -ld dir				#查看目录权限

文件的属性被叫做文件的元数据 (meta data)
一种元数据用 1 byte 来记录。
在这里插入图片描述
ls -l 查看到的信息一共分九列

第1列:文件类型
  - 普通文件
  d 目录
  l 软链接(windows中的快捷方式)
  b 块设备(硬盘 光驱等)
  c 字符设备
  s socket 套接字
  p 管道

第2列:权限位
  前三位为文件拥有者的权限,中三位为文件拥有组的权限,后三位为其他用户的权限。

第3列:系统的 selinux 开启

第4列:文件的节点数

第5列:文件拥有者

第6列:文件拥有组

第7列:对于文件:文件内容大小
对于目录:目录中子文件的元数据大小

第8列:文件内容最后被修改的时间

第9列:文件名

2.普通权限的设置

字符方式设置权限

chmod u + r file/dir -R			#a=all 即所有用户 -R即递归
      g - w
      o = x
      a
eg:
chmod a-rwx /mnt/test
chmod u=rwx,g=rx,o=--- /mnt/test
chmod -R u=rwx,g=rx,o=--- /mnt/testdir/

数字方式设置权限

权限对应数字意义
r4可读
w2可写
x1可执行
-0没有权限
rwx = 111 = 7
rw- = 110 = 6
r-x = 101 = 5
r-- = 100 = 4
-wx = 011 = 3
-w- = 010 = 2
--x = 001 = 1
--- = 000 = 0

eg:
chmod 777 /mnt/test			#即给该文件满权限

复制权限

chmod --reference=/tmp /mnt/test      #复制/tmp目录的权限/mnt/test
chmod -R --reference=/tmp /mnt/test/  #复制/tmp权限到/mnt/test及子文件上

三.系统默认权限

1.什么是umask

umask表示创建文件时的默认权限
root用户下,touch a ,文件a的默认权限是644
普通用户下,touch b ,文件b的默认权限是664
决定以上的就是umask的值。

实际文件权限 = 最高权限 - umask的值
文件默认权限 = 777-umask-111
目录默认权限 = 777-umask

2.查看/修改umask

umask					#查看umask
0022					#第一位0表示特殊权限
#umask的默认值,在root和普通用户下是不一样的,分别是022和002

#临时修改umask
umask 002

#永久修改umask
vim /etc/bashrc             #shell系统配置文件
74 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
75 umask 002-->022       	#普通用户的umask
76 else
77 umask 022 				#root用户的umask
78 fi
 
vim /etc/profile            #系统环境配置文件
59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
60 umask 002-->022     		#普通用户的umask
61 else
62 umask 022 				#root用户的umask
63 fi
 
source /etc/bashrc      	#source使我们更改的内容立即被系统识别
source /etc/profile

四.文件拥有者和拥有组管理

chown 		username file     #更改文件拥有者
chgrp 		groupname file    #更改文件拥有组
chown root:root readme.txt	  #同时更改
chown root.root readme.txt	  #同时更改
#以上命令均可加入-R参数,表示递归修改

五.特殊权限

1.粘滞位(stickyid)

作用:只允许文件的创建者和root用户删除文件(防误删权限位)

  • 粘滞位,一般针对的是公共目录
1.开启stickyid:
chmod 1原始权限 dir
chmod   o+t     dir

2.关闭stickyid:
chmod 0原始权限 dir
chmod   o-t     dir

2.强制位(sgid)

作用:目录中新建的文件自动归属到目录的所属组中

  • 强制位,一般针对的是目录
1.开启强制位:
chmod  2原始权限    dir
chmod      g+s      dir

2.关闭强制位:
chmod  0原始权限    dir
chmod     g-s       dir

3.冒险位(suid)

作用:冒险位,指文件操作者(用户)临时拥有文件拥有者的权限

  • 冒险位,一般针对的是命令或者脚本文件

1.开启suid:
chmod  4原始权限  file
chmod   u+s       file

六.ACL访问控制

ACL = Access Control List 访问控制列表
在 Linux 系统中, ACL 可实现对单一用户设定访问文件的权限。

ACL是否开启可以通过ls -l来查看,权限位最后如果有+,表示开启了ACL,没有+表示未开启ACL。

1.获取ACL权限
getfacl 文件或目录名称
Tips:如果开启ACL不要用ls -l来查询权限信息。

2.设置ACL
setfacl -m u:student:rw  file			#设定指定用户权限
setfacl -m g:test:rw     file			#设定指定组的权限
setfacl -m u::rwx        file			#设定文件拥有者权限
setfacl -m g::0          file			#设定文件拥有组权限
setfacl -x u:student     file			#删除列表中的 lee
setfacl -b               file			#关闭acl

#以上的命令之针对于存在的文件生效,新建文件是不会设定
#针对与/mnt/dir目录中新建文件生效:
setfacl -m d:u:student:rwx /mnt/dir/

七.attr权限

attr 权限限制所有用户(包括root)

1.查看attr权限
lsattr dir|file

2.设置attr权限
chattr +i dir|file			#任何人不能修改
chattr -i dir|file
chattr +a dir|file			#只允许添加不允许删除
chattr -a dir|file
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值