LINUX–权限

本文深入探讨了密码学的发展历程,包括古典密码学、近代密码学和现代密码学,并详细解析了对称加密算法与非对称加密算法的原理及应用。同时,文章全面介绍了操作系统的类型、用户管理、权限模型、链接类型、SUID/GUID/SBIT权限、UMASK设置、文件系统访问控制列表以及sudo提权等关键概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.权限模型

  • 密码学发展:
    1. 古典密码学(数据的安全基于算法保密)
    2. 近代密码学(成为一个真正的一门科学)
    3. 现代密码学(解决了密钥分发和管理的问题)
  • 影响密码学系统安全性的因素:
    1. 密码算法复杂性,密钥机密性,密钥长度
    2. 科克霍夫原则;密码体制应该对外公开,仅需要对密钥进行保密;如果一个密码系统需要保密的越多,那么此加密方式越弱.
    3. 应用:机密性.完整性.可鉴别性,不可否性
  • 两大算法
    1. 对称加密算法:加密密码和解密密码相同,典型算法:DES,(不安全了),3DES,AES,IDEA有点:加密速度简单,快.
    2. 非对称加密:密钥对;典型算法,RSA.ECC:安全性高,资源消耗高.
  • 哈希:MD5,SHA-256,SHA-512(单向性,弱抗碰撞性,强抗碰撞性)
  • 数字签名
  • PKI:CA,RA,证书存放.终端

2.操作系统类型

1.单用户操作系统;2.多用户操作系统

  • 用户的分类
    • root(uid:0)
    • 普通用户(uid:1000-65535)
    • 伪用户:(uid:1-1000):系统用户
  • 密码配置文件
    • /etc/passwd
passwd文件
  • 第一列:用户名
  • 第二列:x表示已经设置密码,!!表示没有加密还不可使用
  • 第三列:UID
  • 第四列:GID
  • 第五列:描述字样
  • 第六列:家目录
  • 第七列:使用的shell
/etc/shadow文件
  • /etc/shadow
    1. 第一列:用户的登录名
    2. 第二列:用户加密后的密码
      • 第一部分加密算法:
        • 1:MD5加密
        • 5:SHA-256加密
        • 6:SHA-512加密
      • 第二部分:随机序列号
      • 第三部分:随机序列号和密码共同加密后的字符串
    3. 第三列:最后一次更改密码时间(从1970年1月1号)
    4. 第四列:密码最小使用时间
    5. 第五列:密码最长使用时间
    6. 第六列:通知密码失效前的天数
    7. 第七列:账户过期日期

3.账户管理

  1. 用户管理
    • 添加用户:useradd <用户名>,设置密码 passwd <用户名>
    • 同时添加用户和命令:useradd abc;echo “123” | passwd –stdin abc
    • 模板目录:/etc/skel此目录下的隐藏文件在新建用户时,会全部拷贝到新建用户目录下.
    • 管理用户:usermod
      1. -l改名
      2. -L锁定用户
      3. -U解除锁定
      4. -a添加用户到组结合-G使用
  2. 组管理
    1. 添加组groupadd <组名>
    2. 修改组名:groupmod <new_name> <old_name>
    3. 组添加用户: gpasswd -a <user_name> <group_name>
      • -a:组中添加成员
      • -d:组中删除成员
      • -A:设置组的管理员
    4. 删除组:groupdel groupname
  3. passwd
    1. -l锁定用户
    2. -u解锁用户
    3. -n密码最小使用期限
    4. -x密码最大使用期限
    5. -w密码过期前提醒天数
  4. whoami id查看用户信息
  5. chage
    1. chage -d 0 用户名 用户下次登陆必须更改密码
    2. chage -m 2 用户名 修改密码最少使用天数
    3. chage -M 50用户名 修改密码最大使用天数
    4. chage -l 5用户名 密码过期后到账户失效的天数
    5. chage -W 3用户名 密码过期的警告的天数
  6. /etc/login.defs默认建立新用户的配置文件
  7. 全局配置/etc/profile 局部配置:~/.bash_profile
    1. /etc/profile设置命令历史 HISTSIZE 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置
    2. /etc/bashrc为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取
    3. ~username/.bashrc每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件
    4. ~username/.bash_profile该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
  8. /etc/profile.d/*
    1. profile类的文件:
      1. 设定环境变量
      2. 运行命令或脚本
    2. bashrc类文件:
      1. 设定本地变量
      2. 定义命令别名

读取配置文件过程: /etc/profile –>/etc/profile.d/*.sh –>~/.bash_profile –>~/.bashrc –>/etc/bashrc

4.批量建立用户

  1. 按照passwd格式编辑好用户名文件,编辑好用户名密码对应文件
  2. 导入用户数据:newusers < user.txt
  3. 将/etc/shashow产生的shadow密码解码:pwunconv
  4. 将密码写入发哦passwd密码栏中:chpasswd < passwd.txt
  5. 同部到/etc/shadow:pwconv

5.权限(R W X)

  1. 文件权限
    • r:可读,w:可写,x:可执行
    • 单独权限的意义:
      • r单独存在,可查看文件内容
      • w:单独存在,看不到内容,但是可以强制修改文件内容,会覆盖源文件内容,单独存在的意义不大
      • x单独存在毫无意义.
    • 常用组合权限:
      • rx:文件可读,可执行不可修改,不可删除
      • rw:可读,可写,不可执行
      • wx:不可读,不可执行,可以覆盖
  2. 目录权限
    • r:可列出ls,w:可建立文件,x:可进入文件夹
    • 单独权限存在意义:
      • r:可以读,不能写,也不能进入目录
      • w:毫无意义
      • x:只能进入,不能读,不能写
    • 常用组合权限:
      • rw:可查看内容(ls),不可以进入目录,不能删除目录或者里面的文件
      • rx:可以查看内容,可以进入目录,不可以修改目录的内容
      • wx:不可以查看目录的内容,可以进入目录,可以删除目录下的文件但是前提是要知道目录下有什么文件.
  • 权限管理
    • chmod:修改文件或目录的权限
    • chown:修改文件的所有者:
      • chown xiaoming abc将abc的所有者都改为xiaoming
      • chown -R root /abc将此目录下所有子文件改变其所有者有root
    • chgrp:修改文件所有组

6.链接

  • 软连接(快捷方式):ln -s <别名> <旧名>
  • 硬链接 : ln <别名> <old_name>

7.suid:4,guid:2,sbit:1

  • suid
    • 以文件所有者来运行此文件,而与用户无关
    • chmod u+s file
    • find / -perm -u=s
  • guid
    • 运行某程序是,相应的程序所属组是程序文件所属组,而不是用户本身所属组
    • chmod g+ file
  • sbit
    • 只针对目录设置有效,当目录设置为粘滞位时,其下的文件只能所有者和root可以删除,但是其他人不可删除文件

8.umask

  • 默认为022
  • 新建文件夹:666-umask
  • 新建文件默认权限:777-umask

9.文件系统访问控制列表

  • 文件的扩展权限
  • 查看扩展权限:getfacl
  • 设置扩展权限:setfacl [-bkRd] [-m|x acl 参数] user:rw 目标文件夹
    • -b:删除所有的acl参数
    • -k:删除默认的acl参数
    • -R:递归设置ACL参数
    • -设置默认ACL参数,只对目录有效

10.sudo提权

11.visudo(终端中直接输入visudo即可打开配置界面)

  • 设置了一个普通用户可执行root的命令

基本配置格式:user <host list > = <operator list > <tag list > <command list>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值