Linux下的权限管理

Posted by HaoChen Blog on December 8, 2016

权限管理

严格控制权限

基本权限

基本权限

  • 第一位- ,文件类型(-文件,d 目录, l软链接文件)
  • rw- 读写权限 ,r– 仅读权限,r– 仅读权限
  • 1, 所有者 2,所属组 3,其他人
  • chmod [选项] 模式 文件名 修改权限
    #选项 : -R 递归 #模式 [ugoa][+-=] [rwx] ,[mode=421] -777 最高权限
  • 755 rwxr-xr-x 表示所有者最高权限其他为读写权限
  • 644 rw-r–r–表示是文件权限,最高只有读写权限没有执行权限

这是为什么文件有读写权限还是不能删除文件,因为这是需要上一级文件夹的权限来决定的 Markdown

权限对目录的作用

  • 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 »>数据