资源分派
Authentication认证
Authoization;授权
Accouting;审计
Audition
token ,identity(username/password)
linux 用户 Username/UID
管理员;root 0
普通用户:1-65535
系统用户; 1-499 ,9999
对守护进程获取资源进行权限分派
登录用户;500+ ,1000+
交互登录
linux组: Groupname/GID
管理员组;root, 0
普通组;
系统组 1-499,1--999
普通组 500+ , 1000+
linux安全上下文
运行中的程序;进程(procees)
以进程发起者的身份运行;
root;cat
tom;cat
一个进程所能够访问的所有资源取决于进程发起者的身份
linux组的类别;
用户的基本组(主组):
组名同用户名;且仅包含一个组;私有组
用户的附加组(额外组):
linux用户和组相关的配置文件;
/etc/passwd 用户及其属性信息(名称,UID,基本组ID)
/etc/group. 组及其属性信息
/etc/shadow 用户密码及其相关属性;
/etc/gshadow 组密码及其相关组信息
/etc/passwd
namepasswordUIDGIDGECOSdirectoryshell
用户名;密码;UID;GID;GECOS;主目录;默认shell
/etc/group
group_namepasswordGIDuser_list
组名,组密码,GID,以当前组为附加组的用户列表(用户过多的话,分隔为逗号)
/etc/shadow
用户名:加密了的密码l:
加密机制 ,
加密 明文-->密文
解米 密文-->明文
单向加密;提取数据指纹 (唯一特征)
md5message digest, 128bits
sha1secure hash algorithm,160bits
sha224.224bits
sha383384bits
sha512512bits
雪崩效应,初始条件的微小改变,将会引起结果的巨大改变;
定长输出;
密码的复杂性策略
1数字,大小写字母,及特殊字符中至少三种
2足够长;
3使用随机密码,
4定期更换,不重复以前的密码
用户和组相关的管理命令
用户创建; useradd
useradd user1
tail -l /etc/passwd 查看相关命令
useradd -u UID [UID_MIN,UID,MAX]定义在 /etc/login.defs
-g 指明用户的基本组,可为组名,也可为GID(添加组id的时候组名必须存在)
-c“COMMENT”用户的注释信息
-d /PATH/TO>HOME_DIR 以指定的路径为目录
- s SHELL指明用户的默认shell
可用列表在/etc/shell 文件中
(/etc/default/useradd) 设置SHELL变量
-G GROUP1 GROUP2,用户指明附加组;组必须存在
默认值设定; /etc/default/useradd 中
useradd-D
-s
id 用户名查看用户的UID等信息
groupadd 组名
练习
创建用户gentoo ,附加组为distro和linux,默认shell 为/bin/csh z
注释信息为“Gentoo DIstribution”
title: linux-openssl
date: 2020-09-16 11:02:15
categories:
{% note info %}
OpenSSL是一个健壮的、商业级的、功能齐全的开源工具包,用于传输层安全(TLS)协议,以前称为安全套接字层(Secure Sockets Layer, SSL)协议。协议实现基于全强度通用密码库,也可以单独使用。
openssl是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL编解码、OCSP协议、数字证书验证、PKCS7标准实现和PKCS12个人数字证书格式实现等功能。
<span style="color:red">项目地址</span> <span style="color:red">官方网址</span> <span style="color:red">手册</span>
{% endnote %}
{% tabs configtab, 1 %}
对称算法使用一个密钥。给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同。解密时,使用读密钥与加密密钥相同。
ECB\CBC\CFB\OFB
摘要算法是一种能产生特殊输出格式的算法,这种算法的特点是:无论用户输入什么长度的原始数据,经过计算后输出的密文都是固定长度的,这种算法的原理是根据一定的运算规则对原数据进行某种形式的提取,这种提取就是摘要,被摘要的数据内容与原数据有密切联系,只要原数据稍有改变,输出的“摘要”便完全不同,因此,基于这种原理的算法便能对数据完整性提供较为健全的保障。但是,由于输出的密文是提取原数据经过处理的定长值,所以它已经不能还原为原数据,即消息摘要算法是不可逆的,理论上无法通过反向运算取得原数据内容,因此它通常只能被用来做数据完整性验证。
如今常用的“消息摘要”算法经历了多年验证发展而保留下来的算法已经不多,这其中包括MD2、MD4、MD5、SHA、SHA-1/256/383/512等。
常用的摘要算法主要有MD5和SHA1。MD5的输出结果为16字节,sha1的输出结果为20字节。
在公钥密码系统中,加密和解密使用的是不同的密钥,这两个密钥之间存在着相互依存关系:即用其中任一个密钥加密的信息只能用另一个密钥进行解密。这使得通信双方无需事先交换密钥就可进行保密通信。其中加密密钥和算法是对外公开的,人人都可以通过这个密钥加密文件然后发给收信者,这个加密密钥又称为公钥;而收信者收到加密文件后,它可以使用他的解密密钥解密,这个密钥是由他自己私人掌管的,并不需要分发,因此又成称为私钥,这就解决了密钥分发的问题。
主要的公钥算法有:RSA、DSA、DH和ECC。
Openssl中大量用到了回调函数。回调函数一般定义在数据结构中,是一个函数指针。通过回调函数,客户可以自行编写函数,让openssl函数来调用它,即用户调用openssl提供的函数,openssl函数再回调用户提供的函数。这样方便了用户对openssl函数 *** 作的控制。在openssl实现函数中,它一般会实现一个默认的函数来进行处理,如果用户不设置回调函数,则采用它默认的函数。
{% endtabs %}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)