linux 权限了解

文件权限与目录权限

之前有了解过基本的权限:

  • 系统基本权限:r(读) - w(写) - x(执行)
  • 系统权限划分:属主,属组,其他用户

普通文件的权限:

  • r : 是否可以查看文件内容 (是否可以查看block)
  • w: 是否可以编辑文件内容(是否可以改写block)
  • x:是否可以让文件运行

权限划分给三个用户的效果

权限\用户root属主其他用户
无权限可读可写可写(覆盖式编辑)没有任何权限
读权限可读写可读可写可读
写权限可读写可写(覆盖写入)可写(覆盖写入)
执行权限为所欲为无法执行无法执行
  • 文件权限总结:1. root用户在系统基本是可以为所欲为的存在,可以随意编辑文件信息,都不受到权限的限制
    1. 文件权限中,读权限最为重要。有读写权限,才可以正常编辑文件。有读执行权限,才可以正常执行文件
  • 创建一个文件的初始权限是:644 —>属主(rw)属组(r)其他用户(r)

目录文件的权限:

  • r : 表示能不能查看目录下数据信息
  • w :表示能不能在目录中进行操作(删,重命名,创建)
  • x :表示能否切换目录

目录的权限划分效果

权限\用户root属主其他用户
无权限可读写执行无法做操作无法做操作
读权限可读写执行只能看到名称只能看到名称
写权限可读写执行无法做操作无法做操作
执行权限可读写执行可切换可切换

目录文件总结:1. root用户可随意查看编辑任何目录信息,不会受到权限限制
2. 目录的权限中,执行权限是最重要的。有读写权限,才可以正常查看目录目录下信息。有写执行权限,才可以正常在目录中创建、删、重命名操作

系统读取数据原理
对于文件:

  • inode:存储文件属性信息 与 指针信息
  • block: 存储文件数据内容
  • 读权限:可以查看文件内容信息(获取指针信息)
  • 写权限:可以编辑文件内容信息

对于目录:

  • inode:存储目录属性信息 与 指针信息
  • block: 目录下面数据名称信息
  • 执行权限:可以切换到目录中 (获取目录指针信息)
  • 读权限:可以查看目录中数据信息 (查看目录文件名称)

系统权限设置
系统数据默认权限设置:

  • 创建一个文件的默认权限是 644
  • 创建一个目录的默认权限是 755
  • 使用umask 命令可以查看当前的umask值
    默认是 022
    1. 默认文件权限:666 - 022 = 644 所以创建文件的默认权限才会是 644
    2. 默认目录权限:777 - 022 = 755 这是目录创建时的默认权限 755
  • umask命令用来设置限制新建文件权限的掩码
    修改 umask 配置文件:/etc/profile 文件中,就可以修改umask

系统特殊权限

  • setuid(4):让普通用户可以拥有属主用户的能力(主要针对操作命令进行权限调整)
    命令调整权限:# chmod u+s /root/test - - - 给一个文件添加的普通用户添加属主能力,在属主的x位置会更换为 s ,下面看效果
    在这里插入图片描述
    PS:也可以用数值调整 # chmod 4644 /root/test
  • setgid(2):让普通用户拥有属组的用户的能力 (主要针对操作命令进行权限调整)
    命令调整权限:# chmod g+s /root/test - - - 给一个文件添的普通用户添加属组能力,在属组x位置会跟换为 s
    在这里插入图片描述
    PS:也可以用数值调整 # chmod 2644 /root/test
  • 粘滞位(1):创建一个共享目录,只能文件属主用户对自己的数据调整,其他用户只能有看的权限
    命令调整权限:# chmod o+t /root/test - - - 这个文件只有属主能操作,其他用户只能查看的权限
    在这里插入图片描述
    PS:# chmod 1644 /root/test

系统用户提权配置

  • 单个用户设置权限: # vim /etc/sudoers 或者 # visudo
    找到100左右的这些字符
    在这里插入图片描述
    在下面添加,第一列:用户名称
    第二列:权限集中管理配置 格式:ALL=(ALL)
    第三列:指定特权信息, 命令的绝对路径,后面跟上可以操作的文件信息, 格式:/bin/cat /etc/shadow
  • 提权文件书写规范要求:
    1. 必须有三列信息,列于列之间要有空格分开
    2. 提权命令必须携带绝对路径
    3. 提权多个命令,用逗号空格进行分隔
    4. 提权多个命令时,在指定命令前面加上!,表示取消指定特权(取消指定的命令权限)
    5. 提权操作时,在命令前面加上NOPASSWD:表示取消提权输入密码过程
  • 测试权限效果
    测试时,在正常名命令前面加上sudo才能使用 :# sudo cat /etc/shadow
    查看被给予了那些权限,用对应的用户查询 命令:# sudo -l

系统用户相关命令

  • useradd :创建用户
    相关参数:1. -u :指定创建用户uid 数值信息
    1. -g : 指定用户所属主要组信息
    2. -G: 指定用户所属附属组信息
    3. -M:指定用户不创建家目录
    4. -d : 指定用户登录系统方式(这个参数后面跟路径,可以登录/bin/bash;不可以登录/sbin/nologin)
    5. -c : 指定用户注释信息
  • groupadd:创建组信息
    相关参数:1. -g:创建指定组 id号码
  • usermod:修改用户信息
  • groupmod:修改组信息
  • userdel:删除用户信息
  • groupdel:删除组信息

用户相关文件和目录

  • 相关文件# /etc/passwd
    在这里插入图片描述
    以分号分割:
    第一列: 用户名称
    第二列:用户密码,早期的这里是密码,后来考虑不安全就换位置了,所以现在用x代替
    第三列:用户的uid信息
    第四列:用户的gid信息
    第五列:用户注释信息
    第六列:用户家目录路径信息
    第七列:用户登录系统方式
    1. #/etc/shadow - - - 存放用户密码信息
    2. #/etc/group - - - 存放用户组信息
    3. #etc/gshadow - - - 存放用户组密码信息
  • 相关目录# /etc/skel
    家目录的模板目录,创建一个新的用户,这个目录里有什么文件就会给心用户里面放置什么文件
    如果命令提示符出现错误,可以试试用这个目录修复隐藏目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值