学习资源来自:www.magedu.com
学习记录过程中难免出现错误,如有发现,还望大神们指出。
示例操作部分有的与历史操作有关,如果先前的示例操作没有执行过的话,可能会有部分示例的操作无法执行。示例仅供参考。
安全上下文(secure context):任何时候用户操作计算机,无非就是发起进程,进程是
用户操作计算机的代理,所以进程在发起运行时,一定是以发起它的用户的身份在
运行。这个进程能够访问哪些文件,取决于这个进程自己的权限和它访问的那个文
件的权限,这个过程的判断是由系统资源的安全管理属性自动完成的(内核的管理下)。
权限:每一类用户都有一组权限(每一组由r, w, x组成)—— 属主权限,属组权限,其它用户权限
文件:
r:可读,可以使用类似cat等命令查看文件内容;
w:可写,可以编辑或删除此文件;
x: 可执行,executable,可以在命令提示符下当作命令提交给内核运行;
目录:
r: 可以对此目录执行ls列出内部的所有文件;
w: 可以在此目录创建文件;
x: 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息;
用户:UID, /etc/passwd(用户信息库——存储每一个用户ID号的相关对应关系)
组:GID, /etc/group(组)
影子口令(密码的存储位置):
用户:/etc/shadow
组:/etc/gshadow
passwd、shadow存储内容:
cat /etc/passwd
whatis passwd
man 5 passwd
account: 登录名
password: 密码(加密格式)
UID:用户的id号
GID:基本组ID
comment: 注释
HOME DIR:家目录
SHELL:用户的默认shell
cat /etc/shells —— 指定了当前系统可用的安全shell
cat /etc/shadow (锁定的用户——有两个!标示)
man 5 shadow
登录名
加密的密码
自1970年1月1日到最近一次修改密码所经过的时间
密码最短使用期限
密码最长使用期限
密码在过期之前多少天向用户提示警告信息。
密码过期后,距离密码禁用的期限
指定账号有效期。
保留字段(无意义)
用户类别:
管理员:0 —— ID号
普通用户: 1-65535
系统用户:1-499 —— 专门用于运行后台进程(不需要登录)
一般用户:500-60000
用户组(方便指派权限)类别:
按用户分类:
管理员组:
普通组:
系统组:
一般组:
按功用分类:
私有组:创建用户时,如果没有为其指定所属的组,系统自动为其创建一个与用户名同名的组。
基本组:用户的默认组
附加组,额外组:默认组以外的其它组
加密方法:
对称加密:加密和解密使用同一个密码
公钥加密:每个密码都成对出现,一个为私钥(secret key),一个为公钥(public key)
单向加密,散列加密:提取数据特征码,常用于数据完整性校验
1、不可逆
2、雪崩效应:输入数据的微小改变,将会引起数据特征码的巨大变化 —— 防暴力破解
3、定长输出
常用的单向加密有:
MD5:Message Digest, (信息摘要,5是版本号),MD5是128位定长输出,
SHA1:Secure Hash Algorithm, (安全的哈希算法),160位定长输出
示例:
cp /etc/inittabl ./ —— 将inittabl复制到当前目录下
md5sum initabl —— 提取特征码
nano
在第一行加一个a
保存并退出
md5sum initab —— 能看出特征码发生巨大变化
(公匙加密的密钥长度要比对称加密的长很多,安全性能也要高得多,但是对称加密的加密速度
要比公钥加密快上1000倍以上,所以公钥加密一般不用于加密数据,而是用于做密钥交换。)
用户密码加密时会在密码前添加一串随机码(salt)再进行加密
(减小不同用户设定了相同密码,而造成所得密文相同的安全隐患)
用户登录时将随机码与密码一起进行加密,然后比较所得密文是否相符,相符则进入用户。
添加用户、组:
useradd USERNAME
groupadd GRPNAME
示例:
useradd tom —— 添加用户
tail -1 /etc/passwd —— 查看最后一行记录
tail -1 /etc/shadow —— 查看用户信息
passwd tom —— 给用户设置密码
redhat
redhat
tail -1 /etc/shadow
tail -1 /etc/passwd
tail -1 /etc/group
cd /etc/default/ —— 存储用户默认属性信息
ls
file useradd
cat useradd
cat /etc/group
groupadd mygroup —— 手动添加组
tail -l /etc/group