用户、组和权限
安全上下文(Security Context):
1.权限
权限定义的例子:
文件:
tom和jerry同时运行/tmp/inittab.new tom(属主) tom(属组)
TOM:
ls /tmp/inittab.new
Jerry:
ls /tmp/inittab.new
只会运行Tom,因为进程的属主是Tom
用户的三个主要权限:
r,w,x
文件:r:可读,可以使用类似cat等命令查看文件内容;
w:可写,可以编辑或删除此文件;
x:可执行,eXcutable,可以命令提示符下当做命令提交给内核运行;(文件不建议有)
目录:r:可以对此目录执行ls以列出内部的所有文件;
w:可以在此目录创建文件(能否删除取决于文件自身的权限)
x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息;(没有X权限只能使用ls不能使用-l)(目录可以有)
权限的描述例子:
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:
111 101 101
rwx r-x r-x
rw-r-----
110100000
640
660:110110000
rw-rw----
rwxrwxr-x:775
2.用户
用户:UID,/etc/passwd
组:GID, /etc/group
解析:名称解析,www.sohu.com--》IP
影子口令(用户密码一般存放在下面):
用户:/etc/shadow
组:/etc/gshadow
Linux的用户类别:
管理员:0
普通用户:1-65535
系统用户:1-499
一般用户:500-60000
3.用户组
管理员组:
普通组:
系统组:
一般组:
用户组类别:私有组:创建用户时,如果没有为其制定所属的组,系统会自动为其创建一个与用户同名的组
基本组,(默认组):用户的默认组
附加组,额外组:默认组以外的其他组
题外话:进程都是一个可执行文件,文件是否可以运行取决于发起者的身份。
what is passwd可以看到密码数据里面有多少个man
man 5 passwd即可查询帮助信息
密码(/etc/passwd)属性详解(从左到右):
1.account:登录名
2.password:密码(如果显示X占位符证明密码不显示,在shadow)
3.UID:用户ID号
4.GID: 基本组ID
5.comment:注用户释信息(有些是空的)
6.HOME DIR:家目录
7.SHELL:用户的默认shell
cat /etc/shell可以查看哪些shell合法
cat /etc/shadow查看shadow
密码(/etc/shadow)属性详解(从左到右):1.account:登录名
2.encrypted password:加密的密码,$xxxxx$(标识)之后的才是密码
加密方法:
对称加密:加密和解密使用同一个密码
公钥加密:每个密码都成对出现,一个为私钥(secret key)一个为公钥(public key)
单向加密(散列加密):提取数据特征码---也叫指纹加密,常用于数据完整性校验
1、雪崩效应(蝴蝶效应):改动一点点都能影响校验码
2、定长输出:固定长度输出
常用算法:
MD5:Message digest,128位定长输出(md5sum 文件名)SHA1:Secure Hash Algorithm,160位定长输出
加密密码前八位杂质可以区分密码
看到shadow里面密码账户后面是*或者!!表示用户锁定不能登录
3.密码从1970年到上次修改时间所经过的天数
4.密码最短使用期限
5.密码最长使用期限
6.密码快过期前的警告天数
7.用户被禁用之前密码过期之后可以经过的天数(宽限期)
8.明确定义从1970开始到一个期限密码就被禁用
9.保留字段