|
8、Linux用户及权限
2021年07月02日 |
|
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),防止相同用户的密码显示的密文相同 |