用户、组和权限



安全上下文(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.保留字段