Linux系统中的权限管理

Linux系统中的权限管理

1.权限查看及读取

权限查看

ls -l wetsos      ##查看文件权限
ls -ld westosdir/ ##查看目录权限

在这里插入图片描述

权限的读取

7位:文件类型 用户权限(用户/用户组/其他人) 文件的安全上下文(.) 文件内容被系统记录次数;目录中子目录个数 所有人 所有组 文件大小/目录所存在的文件元数据大小 最后一次被修改的时间

"文件的属性被叫做文件的元数据(meta data)"
"一种元数据用1个byte来记录内容"

#文件权限信息#
-1| rw-r–r--2 | .3 | 1 4| root5 | root6 | 07 | Apr 12 10:578 | westos9

#目录权限信息#
d1| rw-r–r--2 | .3 | 24 | root 5| root 6| 0 7| Apr 12 10:578 | westosdir9

#对于每一位的解释#
[1]
#文件类型
#- 普通文件
#d 目录
#l 软连接
#b 快设备
#c 字符设备
#s socket套接字
#p 管道 |

[2] ##用户权限
##rw-|r–|r–
# u g o

[3] ##系统的selinux开启

[4] ##对于文件:文件内容被系统记录的次数(硬链接个数)
##对于目录:目录中子目录的个数

[5] ##文件拥有者

[6] ##文件拥有组

[7] ##对于文件:文件内容大小
##对于目录:目录中子文件的元数据大小

[8] ##文件内容被修改的时间

[9] ##文件名称

2.普通权限的类型及作用

用户对文件的身份

u: #user 文件的拥有者,ls -l 看到的第五列信息
g: #group 文件拥有组, ls -l 看到的第六列信息
o: #other 既不是拥有者也不是拥有组成员的其他用户的统称

权限位

rwx|r–|r–
u g o

用户身份匹配

user>group>other

权限类型

‘-’ #权限未开启

r #可读
#对于文件:可以读取文件内容
#对于目录:可以ls列出目录中的文件

w #可写
#对于文件:可以更改文件内容
#对于目录:可以在目录中新建或者删除文件

x #可执行
#对于文件:可以用文件名称调用文件内记录的程序
#对于目录:可以进入目录中

##如何更改文件的所有人、所有组
##使所有人、所有组对文件或目录有权限
rm -rf /mnt/ * ##清空目录
mkdir -p /mnt/westosdir 建立目录下子目录
cd /mnt/ ##进入mnt目录
touch westosdir/linux{1..3} ##创建文件
ls -lR /mnt/ ##递归查看目录内文件
watch -n 1 ls -Rl /mnt/ /mnt/westosdir ##监控目录中文件的属性变化
chown username1 username ##改变文件所有人
chgrp username1 username ##改变文件所有组
chown lee.westos/lee:westos username ##同时改变所有人所有组
chown westos westosdir/ ##只改变目录所有人
chown -R westos westosdir/ ##递归改变目录本身及文件的所有人、所有组

在这里插入图片描述
在这里插入图片描述

3.设定普通权限的方法

##复制文件权限

chmod --reference=westosfile1 westosfile2 ##复制文件权限
chmod -R --reference=/tmp /mnt/westosdir ##复制/tmp目录的权限到/mnt/westosdir及目录中的子文件上,-R代表递归操作

在这里插入图片描述

##使用字符的方式设定权限

chmod <a|u|g|o><+|-|=><r|w|x> file
chmod u+rw,g+r,o-wx westosfile2 ##添加或取消文件权限
chmod a=rx westosfile3 ##文件任意权限都赋予读和执行权限

在这里插入图片描述
在这里插入图片描述

##使用三位二进制数字修改权限
— 000 0
–x 001 1=x
-w- 010 2=w
-wx 011 3
r-- 100 4=r
r-x 101 5
rw- 110 6
rwx 111 7

chmod 754 westosfile3  ##使用数字修改权限
754=rwxr-xr--

在这里插入图片描述

##用户身份匹配 u>g>o
chmod o+r westosfile1 ##添加读r权限
##r:是否可以查看文件的内容;是否可以浏览目录中文件
chmod o+x westosfile1 ##添加可执行x权限
##x:是否可以执行文件中的命令;是否可以进入目录中
chmod o+w westosfile1 ##添加写w权限 
##w:是否可以更改文件内容;是否可以在目录中新建或删除文件

4.系统默认权限设定

系统本身存在的意义共享资源
从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高
既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放
把不安全的权力默认保留

umask

如何保留权力
umask表示系统保留权力
umask #查看保留权力
umask 权限值 #临时设定系统预留权力

777-022=755-111=644 ##得到文件默认权限
777-umask ##得到目录默认权限

umask 077
##临时设定077的预留权限
##预留越多,权限提升,安全性越高 (程序关闭,设定会被遗忘)

永久更改

umask永久设定预定权限,编辑配置文件(系统配置与shell系统配置文件)

vim /etc/profile    ##系统环境配置文件
vim /etc/bashrc     ##shell系统配置文件,(74-77行)

-gn ##初始组名字               -un ##用户名字
002 ##普通用户umask (60行) 022 ##超级用户umask (62行)

在这里插入图片描述

source /etc/profile ##使设定生效 
source /etc/bashrc  ##source作用时使我们更改的内容立即被系统识别

在这里插入图片描述

ll ##查看当前目录属性
ls -ld ##查看目录属性
ls -l file2 ##查看文件属性

5.文件用户用户组管理

chown username file ##更改文件拥有者

chgrp groupname file ##更改文件拥有组
chown username:groupname file ##同时更改文件的拥有者和拥有组
chown|chgrp -R user|group dir
##更改目录本身及目录中内容的拥有者
##或者拥有组
在这里插入图片描述
在这里插入图片描述

6.特殊权限

stickyid 粘制位

stickyid
##粘制位(一般针对目录的所有人,防止他人删掉自己文件的不合理行为)
##只能被文件所有人删除
设定:
chmod o+t dir ##加特殊权限
chmod 1原始权限 dir ##1为特殊权限位

实验:

mkdir   /pub
chmod 777 /pub

su - westos ------->touch /pub/westosfile
exit
su - lee ------->touch /pub/leefile
rm -fr /pub/leefile   ##可以删除
rm -fr /pub/westosfile  ##不属于自己的文件也可以删除

如何解决?

chmod 1777 /pub #开启pub目录的t权限
chmod o+t /pub #均可以开启pub目录的t权限

su - westos ------>touch /pub/westosfile
exit
su - lee ------>touch /pub/leefile
rm -fr /pub/leefile #可以删掉
rm -fr /pub/westosfile #不属于lee的文件不能删除
rm:cannot remove ‘westosfile’:Operation not permitted
在这里插入图片描述

sgid 强制位

sgid
##强制位
##针对目录:目录中新建的文件自动复制目录的所有组
设定:

chmod 2源文件权限 dir
chmod g+s dir
##修改sc目录所有组,sc目录下文件的所有组也会改变
实验:
useradd westos
mkdir /sc
chmod 777 /sc
chmod g+s /sc
groupadd shengchan
chgrp shengchan /sc
watch -n1 ls -lR /sc
su - westos
touch /sc/file4

ls -ld /sc ##查看文件权限

在这里插入图片描述

suid 冒险位

suid 冒险位

  • 权利下放原理:当运行二进制可执行文件时都是用文件拥有者身份运行,和执行用户无关
  • 如任何人可以看系统中的任何文件,指定当前为root(与执行文件者无关)
  • 用处:用户权利的提升和下降
  • 只针对二进制可执行文件(c程序)
which cat
ls -l /bin/cat
chmod u+s /bin/cat   ##任何人执行文件时都是以文件的所有人身份
ls -l /bin/cat
chmod 4原属性 /bin/cat  ##755=777-022 4=100
ls -l /bin/cat
chmod g+s /bin/cat   ##任何人执行文件时都是以文件的所有组身份
ls -l /bin/cat
rm -fr file2 ##无法删除,所有人仍为普通用户
/root/rm -fr file ##身份为超级用户,可以任意删除

在这里插入图片描述

ps ax -o user,group,comm | grep cat ##扫描,后台运行,所有进程的用户组和名字。管道符号,过滤cat命令
watch -n 1 "ps ax -o user,group,comm | grep cat" ##监控命令

在这里插入图片描述

7.ACL权限列表

Access Control Lists
#访问控制列表
#功能:
#在列表中可以设定特殊用户对特殊文件有特殊权限
在这里插入图片描述

acl列表权限读取

getfacl westosfile

显示内容
#file:westosfile ##文件名称
#owner:root ##文件拥有者
#group:root ##文件拥有组
user::rw- ##文件拥有者权限
user:lee:rw- ##特殊指定用户权限
group::r-- ##文件拥有组权限
group:westos:— ##特殊指定的用户组的权限
mask::rw- ##能够赋予特殊用户和特殊用户组的最大权限阀值
other::r-- ##其他人的权限

注意:
“当文件权限列表开启,不要用ls -l 的方式来读取文件的权限”

acl列表的控制

setfacl -m u:lee:rw westosfile #改变文件所有人为lee并且权限为读写
setfacl -m g:westos:rw westosfile#改变文件所有组为westos并且权限为读写
setfacl -m u::rwx westosfile#设定文件所有人为超级用户并且权限全开
setfacl -m g::0 westosfile#设定文件所有组为超级用户并且权限为0
setfacl -x u:lee westosfile ##删除列表中的lee
setfacl -b westosfile #关闭列表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

acl 权限优先级

权利优先级:拥有者>特殊指定用户>权限多的组>权限小的组>其他

acl mask 控制

mask是能够赋予指定用户权限的最大阈值

问题:当设定完毕文件的acl列表之后用chmod缩小了文件拥有组的权力
mask会发生变化

恢复: setfacl -m m:权限 文件

#acl 列表的默认权限
setfacl -m u:lee:rwx /mnt/westosdir ##只对于/mnt/westosdir目录本身生效
setfacl -Rm u:lee:rwx /mnt/westosdir ##对于/mnt/westosdir目录和目录中已经存在的内容生效
#以上的命令之针对与存在的文件生效,新建文件是不会被设定的
setfacl -m d:u:lee:rwx /mnt/westosdir/ ##针对与/mnt/westosdir目录中新建文件生效 set default

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

8.attr权限

#attr权限限制所有用户

i #只能看不能作任何权限的更改
a #能添加权限不能删除

lsattr dir|file ##查看attr权限
chattr +i|+a|-i|-a dir|file ##设定attr权限

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验: 在系统中完成以下用户操作
1.建立用户组 shengchan, caiwu, jishu井满足以下要求
shengchan,caiwu,jishu主组id分别为8000,8001,8002
2.建立 westosuser, Linux,Lee, westosadmin等用户完成以下要求
westosuser用户的附加组为 shengchan和 jishu
lee的主组为 caiwu附加组为技术,lee的uid和gid必须一致
linux为系统账号不能直接被操作者使用
westosamdin用户不属于以上三个部内,但是可以在系统中自由的管理用户
3.
以上用户密码均为 wests并要求用户首次登陆时强制修改密码
设定以上用户密码必须在30天内进行修改,并在过朋前2天发出警告
4.建立目录完成以下要求
新建目录/sc /cw /js /pub
/sc目录是生产部内的数据存储目录,只能被生产部内的人员读写,并且在sc中建立的文件都属于生产部内
/cw目录是财务部内的数据存储目录,只能被财务部内的人员读写, 并且在cw中建立的文件都属于财务部内
/js目录是技术部内的数据存储目录,只能被技术部内的人员读写,并且在js中建立的文件都属于技术部内
/pub为公司人员公共目录,可以被公司任何员工读写,但是只能删除自己的文件
westosadmin用户可以对/sc/cwfs/pub做任何操作

groupadd -g 8000 shengchan
         -g 8001 caiwu
         -g 8002 jishu
useradd -G shengchan,jishu westosuser
        -G jishu -g caiwu -u 8001 lee
        -s /sbin/nologin -M linux
        westosadmin
visudo(usermod,passwd)
which passwd
for USERNAME in westosuser lee linux westosadmin ;do chage -d 0 -M 30 -w 2 $USERNAME;
(或
chage -d 0 -M 30 -W 2 westosuser
chage -d 0 -M 30 -W 2 lee
chage -d 0 -M 30 -W 2 linux
chage -d 0 -M 30 -W 2 westosadmin
)
mkdir  /sc /cw /js /pub
chgrp shengchan /sc
chgrp jishu /js
chgrp caiwu /cw
chmod 3770 /sc /cw /js
chmod 1770 /pub/
ls -ld /sc /cw /js /pub
for DIR in /sc /cw /js /pub
do
setfacl -m u:westosadmin:rwx $DIR
setfacl -m d:u:westosadmin:rwx $DIR
(或:
setfacl -m u:westosadmin:rwx /sc /cw /js /pub
setfacl -m d:u:westosadmin:rwx /sc /cw /js /pub)
getfacl /pub
特殊权限位:
1:只能删除自己的文件;2:建立的文件是所属组的;3:在目录中建立的文件都属于所有组并且只能让文件的所有人删除;4:冒险位

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值