权限管理
严格控制权限
基本权限
基本权限
- 第一位- ,文件类型(-文件,d 目录, l软链接文件)
- rw- 读写权限 ,r– 仅读权限,r– 仅读权限
- 1, 所有者 2,所属组 3,其他人
- chmod [选项] 模式 文件名 修改权限
#选项 : -R 递归 #模式 [ugoa][+-=] [rwx] ,[mode=421] -777 最高权限 - 755 rwxr-xr-x 表示所有者最高权限其他为读写权限
- 644 rw-r–r–表示是文件权限,最高只有读写权限没有执行权限
这是为什么文件有读写权限还是不能删除文件,因为这是需要上一级文件夹的权限来决定的
权限对目录的作用
- useradd 用户名 创建用户
-
passwd user 设置密码
- 对文件来讲最高权限是x
- 对目录来讲最高权限是w
其他权限管理
对文件的所属组进行更改
- chown user1
- chgrp user 修改组
- gpassws -a user2
- groupadd user # 添加组
- gpasswd -a haochen user 往组里面添加用户 分配文件基本权限时,原则在最小权限情况下能够实现要求即可
默认权限
- umask 默认权限默认是0022
- 进行 加减
ACL权限
- su - lw 切换用户
- whoami 我是谁
- chown tony:stu xx # 表示修改所有者和所属组
ACL是用来解决用户身份不足的情况
- 开启方法
- 查看分区权限 df
- dumpe2fs -h /dev/sda5
- 临时挂载acl ,mount -o remount ,acl
- 永久性 vi /etc/fstab
- getfacl# 查看acl权限
- setfacl #设置acl权限
- setfacl -m u:lw:rw /xx #给lw用户在/xx目录上附上rw权限
- 最大mask 最大权限
- setfacl -m m:rx xx #设置mask值限定最高权限
- setfacl -x lw:rx xx 删除acl权限
- setfacl - b 删除所有的acl权限
默认权限与递归权限
- -R 递归权限,有权限溢出
- setfacl -m d:u:lw:rw -R /home/xx 默认权限
sudo权限
root
文件特殊权限
- setUID //用户添加s权限
- SetGID//给组添加s权限
- Sticky BIT//给其他用户添加s权限
SetUID的功能
- 在SUID中s 是能正确执行的权限,S表示不能正确执行的权限
- 只有可执行的二进制程序才能设定SUID权限
- 命令直行至要对该陈旭有执行权限
- 命令执行者在执行该程序时获得改程序的文件属主的身份
- 属主的身份只能在程序执行过程中有效
- 使用例子.usr/bin/passwd
- 因为/etc/shadow只有超级管理员有权限,但是给文件赋予了SUID权限的话普通用户就能操作文件了
如何设置s权限
- lsattr #查看属性
setUID
- chmod 4755 user
- chmod 0755 user 取消s权限
SetGID
- chmod 2755 组
- chmod 0755 组 # 取消 因为/usr/bin/locate 普通用户切成组成员,而且能对文件夹有效
SBIT
- SBIT只能对目录生效,
- 执行用户必须有7权限
- 用户能创建和删除自己的文件
chattr权限
- chattr i ,添加属性 对文件不能进行操作 对文件夹是只能修改文件下的文件,不能新建删除
- chattr a 对文件可以增加但是不能删除和修改 只能用echo »>数据