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


- 第一列:用户名
- 第二列:x表示已经设置密码,!!表示没有加密还不可使用
- 第三列:UID
- 第四列:GID
- 第五列:描述字样
- 第六列:家目录
- 第七列:使用的shell


- /etc/shadow
- 第一列:用户的登录名
- 第二列:用户加密后的密码
- 第一部分加密算法:
- 1:MD5加密
- 5:SHA-256加密
- 6:SHA-512加密
- 第二部分:随机序列号
- 第三部分:随机序列号和密码共同加密后的字符串
- 第一部分加密算法:
- 第三列:最后一次更改密码时间(从1970年1月1号)
- 第四列:密码最小使用时间
- 第五列:密码最长使用时间
- 第六列:通知密码失效前的天数
- 第七列:账户过期日期
3.账户管理
- 用户管理
- 添加用户:useradd <用户名>,设置密码 passwd <用户名>
- 同时添加用户和命令:useradd abc;echo “123” | passwd –stdin abc
- 模板目录:/etc/skel此目录下的隐藏文件在新建用户时,会全部拷贝到新建用户目录下.
- 管理用户:usermod
- -l改名
- -L锁定用户
- -U解除锁定
- -a添加用户到组结合-G使用
- 组管理
- 添加组groupadd <组名>
- 修改组名:groupmod <new_name> <old_name>
- 组添加用户: gpasswd -a <user_name> <group_name>
- -a:组中添加成员
- -d:组中删除成员
- -A:设置组的管理员
- 删除组:groupdel groupname
- passwd
- -l锁定用户
- -u解锁用户
- -n密码最小使用期限
- -x密码最大使用期限
- -w密码过期前提醒天数
- whoami id查看用户信息
- chage
- chage -d 0 用户名 用户下次登陆必须更改密码
- chage -m 2 用户名 修改密码最少使用天数
- chage -M 50用户名 修改密码最大使用天数
- chage -l 5用户名 密码过期后到账户失效的天数
- chage -W 3用户名 密码过期的警告的天数
- /etc/login.defs默认建立新用户的配置文件
- 全局配置/etc/profile 局部配置:~/.bash_profile
- /etc/profile设置命令历史 HISTSIZE 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置
- /etc/bashrc为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取
- ~username/.bashrc每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件
- ~username/.bash_profile该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
- /etc/profile.d/*
- profile类的文件:
- 设定环境变量
- 运行命令或脚本
- bashrc类文件:
- 设定本地变量
- 定义命令别名
- profile类的文件:
读取配置文件过程: /etc/profile –>/etc/profile.d/*.sh –>~/.bash_profile –>~/.bashrc –>/etc/bashrc
4.批量建立用户
- 按照passwd格式编辑好用户名文件,编辑好用户名密码对应文件
- 导入用户数据:newusers < user.txt
- 将/etc/shashow产生的shadow密码解码:pwunconv
- 将密码写入发哦passwd密码栏中:chpasswd < passwd.txt
- 同部到/etc/shadow:pwconv
5.权限(R W X)
- 文件权限
- r:可读,w:可写,x:可执行
- 单独权限的意义:
- r单独存在,可查看文件内容
- w:单独存在,看不到内容,但是可以强制修改文件内容,会覆盖源文件内容,单独存在的意义不大
- x单独存在毫无意义.
- 常用组合权限:
- rx:文件可读,可执行不可修改,不可删除
- rw:可读,可写,不可执行
- wx:不可读,不可执行,可以覆盖
- 目录权限
- 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>