8.1 进程,库,用户,组,权限
8.1.1 进程
进程的安全上下文(secure context):
进程代理进程的发起者调用所需的库在内存中进行运行,能访问哪些文件取决于发起进程的用户
8.1.2 库
库称之为共享库
8.1.3 用户,组和权限
linux的一切文件和硬件都称之为是计算资源
用户:获取资源和服务的凭证,标识符
组:关联用户和权限的容器,为了方便的指派权限,标识符
权限:定义了资源和服务的访问能力)
文件:被访问的对象
文件的属主,属组和其他用户的访问权限
8.2 权限
8.2.1 权限分类
权限分为r, w, x
对于文件来说:
r:可读,可以使用类似cat等命令查看文件内容;
w:可写,可以编辑或删除此文件;
x: 可执行,eXacutable,可以命令提示符下当作命令提交给内核运行;
对于目录来说:
r: 可以对此目录执行ls以列出内部的所有文件;
w: 可以在此目录创建文件;
x: 可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息;
8.2.2 rwx和数值对应关系
rwx:
r--:只读
r-x:读和执行
---:无权限
0 000 ---:无权限
1 001 --x: 执行
2 010 -w-: 写
3 011 -wx: 写和执行
4 100 r--: 只读
5 101 r-x: 读和执行
6 110 rw-: 读写
7 111 rwx: 读写执行
755:rwxr-xr-x(常用权限,读和执行)
8.3 用户和组
8.3.1 UID,GID和shadow
用户:UID(标识用户的代码), /etc/passwd
组:GID(标识组的代码), /etc/group
解析:将用户之类的信息转换为系统能识别出来的ID号
影子口令(将用户的密码放在另一个安全的位置):
用户密码放置位置:/etc/shadow
组密码放置位置:/etc/gshadow
8.3.2 用户和组分类
用户类别(大体上分为两个):
管理员:ID号永远为0
普通用户:ID号为caca 1-65535
系统用户:1-499(专门用来运行系统服务的用户,不需要登录系统)
一般用户:500-60000
用户组类别1:
管理员组:
普通组:
系统组:
一般组:
用户组类别2:
私有组:创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组,称之为是私有组
基本组:用户的默认组(此组里面只有本用户一个用户)
附加组,额外组:默认组以外的其它组
进程:文件查看运行进程的用户,如果用户无权限访问,则查看此用户的组,如果组也无权限访问,则此进程无法正常运行
对象:被访问的对象
8.3.3 passwd文件
[root@Daniel-R480 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:995::/var/lib/chrony:/sbin/nologin
passwd文件显示顺序
account: 登录名
password: 密码
UID:用户的ID号
GID:基本组ID
comment: 注释,用户的全名等信息
HOME DIR:家目录
SHELL:用户的默认shell,配置为不合法的shell无法登陆或者有些用户直接设置不允许登陆
8.3.4 用户的shell
查看合法shell
[root@Daniel-R480 ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
8.3.5 shadow
密码放置位置/etc/shadow
[root@Daniel-R480 ~]# cat /etc/shadow
root:!!:17924:0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::
shadow每一位代表的内容
account: 登录名
encrypted password: 加密的密码
1970年1月1日到密码上次更改的天数
密码能使用的天数,0表示不限制
密码快要过期的天数
宽限的只能改密码的几天
8.4 数据加密
数据加密方法:
(1)对称加密:加密和解密使用同一个密码
(2)公钥加密(非对称加密):每个密码都成对儿出现,一个为私钥(secret key),一个为公钥(public key),一个用来加密,一个用来解密
(3)单向加密,散列加密(可以由明文取得密文,但不能由密文取得明文):提取数据特征码,常用于数据完整性校验
单向加密特点
雪崩效应(蝴蝶效应):初始条件的微小改变会引起结果的巨大改变
[root@Daniel-R480 ~]# cp /etc/inittab ./
[root@Daniel-R480 ~]# md5sum inittab
66a88d6c4d693170753ea3382f8bc150 inittab
[root@Daniel-R480 ~]# vim inittab
-bash: vim: command not found
[root@Daniel-R480 ~]# vi inittab
[root@Daniel-R480 ~]# md5sum inittab
568c018aebe36cf208fc32c465e4b120 inittab
定长输出
MD5:Message Digest, 128位定长输出
SHA1:Secure Hash Algorithm, 160位定长输出
密码前面一般会有加上的杂质(salt),防止相同用户的密码显示的密文相同
Comments Closed.