欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

马哥 03_04 _Linux用户及权限详解 有大用

image.png

image.png

image.png

用户,组,权限

安全上下文(secure context):


权限:

r,w,x

文件:

r: 可读, 可以使用类似cat等命令查看文件内容 ( 二进制文件不能用cat,虽然它可读)

w:可写,可以编辑或删除此文件:

 x:可执行, exacutable,可以在命令提示符下当作命令提交给内核运行 (一般不建议有此权限)

目录(文件夹):

r:可以对此目录执行ls以列出内部的所有文件:

w:可以在此目录创建文件 (如果想删除还是取决于文件自身的权限)

x: 可以使用cd命令切换进此目录,也可以使用 ls -l 查看里面文件的详细信息 (一般应该有此权限)

rwx

  r--:只读

  r-x:读和执行

  ---:无权限


0 000,---:无权限

1 001,--x:执行

2 010,-w-:写

3 011,-wx:写和执行

4 100,r--:只读

5 101,r--:只读和执行

6 110,rw-:读写

7 111,rwx:读写执行


755: rwxr-xr-x

rw-r--r--: 640

660: rw-rw----

rwxrwxr-x:775


用户: UID  /etc/passwd

组: GID  /etc/group


影子口令: 

   用户密码: /etc/shadow

   组密码: /etc/gshadow


用户类别:

管理员: 0 

普通用户: 1-65535 16位二进制   (有些红帽企业级系统最高有32位 最多4亿多用户)

  系统用户 1-499  (后台进程的用户 比如 web服务器 mysql 服务器 ftp 服务器)

  一般用户 500-60000 一般差不多了


用户组:

 管理员组:

 普通组:

  系统组:

  一般组:


另一种方式:

用户组类别:

  私有组   (如果创建用户的时候 没指定组, 那么创建一个组,与用户的同名的私有组)

  基本组,     每一个用户 都有一个默认组 (基本组 未必是私有组) (一个用户可能属于多个组,有一个组为基                                         本组)

  附加组,(额外组)    (用户基本组之外的其它组)


进程:  tom tom   

对象:rwxrw-rw-  jerry tom a.txt

tom 是不是属于 tom  这个属组


tom: ls

rwxr-xr-x root root /bin/ls


ls 进程的身份是 发起人 tom

  


进程本身是一个可执行文件 (程序),运行起来 它才成为进程的,

这个文件( /bin/ls )运行起来与文件本身( /bin/ls ) 没有关系了

这个进程的身份是这个进程发起者的用户 即 tom



# cat /etc/passwd

image.png


# whatis passwd  //可以看看这个命令有几个章节的 man 帮助文档

//第5个章节是配置文件的格式说明

image.png

# man 5 passwd      

image.png

# cat /etc/shadow 真正的密码

image.png



account: 登录名

password:密码

UID:用户的ID号

GID:基本组的ID号  (附加组(额外组)的ID在group中)

GECOS: comment: : 注释信息 (一般为空的)

directory :HOME DIR: 家目录 

shell: SHELL: 用户默认的shell  (大多数用户是bash shell)  /sbin/nologin

                      (表示的不能登录,比如系统用户,非法shell 或不存在的 shell也不能登录)


# cat /etc/shells  #出现在里面的 shell 才被认为是安全的shell 才能够被当前用户用作默认

shell    /sbin/nologin 虽说是合法 shell 但是仍然登录不了

image.png


如果要添加一个用户

相当于在 /etc/passwd 添加一行信息 (nano编辑一下)

 还要在 /etc/shadow 

 还要在 /etc/group 添加一行信息


# cat /etc/shadow

image.png

image.png

image.png

image.png

它这个密码 $1 表示 md5加密, 9K.....Xdf1 是表示的是 md5  密码后的值

$5iE.....B8i 就是加的盐 杂质


# man shadow


image.pngimage.pngimage.png

99999 表示永不过期


# man 5 shadow

/etc/shadow 

account: 登录名

encrypatad password:加密的密码

.........



# which useradd

image.png

# ls -a useradd

image.png

# ls -l $(which useradd)

image.png

# ls -l `which useradd`

image.png

# ls -l `which adduser`


image.png


useradd USERNAME


# useradd shipingzhong

image.png

# tail -1 /etc/passwd


# tail -1 /etc/shadow


#passwd shipingzhong   修改用户的密码

image.png

image.png

# tail -1 /etc/group

image.png


useradd 增加用户时的默认选项 就在 /etc/default 文件夹里面的文件里

[root@ebs-22618 ~]# cd /etc/default/

[root@ebs-22618 default]# ls

nss  useradd

[root@ebs-22618 default]# file useradd

useradd: ASCII text


# cat useradd

image.png

# cat /etc/group

image.png


# groupadd GROUPNAME


# groupadd mygroup

image.png

# tail -1 /etc/group


跟用户管理相关的命令

  useradd , userdel , usermod , passwd , chsh , chfn , finger , id , chage

组管理:

 groupadd , groupdel , groupmod , gpasswd ,

权限管理:

 chown , chgrp , chmod , umask



加密方法:

    1)对称加密:加密和解密使用同一个密码

    2)公钥加密:每个密码都成对出现,一个为私钥(secret key),一个为公钥(public key)

                    公钥加密,私钥解密;私钥加密,公钥解密

    公钥加密 长度更长,更安全,但是速度慢很多 很少直接加密数据(因为太慢)主要用用密钥交换

    对称称加密速度 快1000倍

    3)单向加密 散列加密 Hash加密: (能加密不能解密) 提取数据特征码 (指纹加密) 常用于数据完整性校验  

    几个特性: 1)雪崩效应

                    2)定长输出

  MD5:  Message Digest ,5 是版本号  128位定长输出 (麻省理工学院)

  SHA1: Secure Hash Algorithm,1 是版本号   160位定长输出  (美国国家标准委员会召集出来的一种通用算法)

  SHA256  (256位)  SHA512  (512位)   这些更安全 



[root@ebs-22618 a_b]# cp /etc/inittab ./

[root@ebs-22618 a_b]# md5sum inittab

753a386bcd9ab0ca581056348463891e  inittab

[root@ebs-22618 a_b]# nano inittab

(里面小增加一个 a 字符)

[root@ebs-22618 a_b]# md5sum inittab

9d936cfb36c6e3e0269b57c2636c457b  inittab

可以看到 md5sum 后结果 相差太大



解析: 名称解析, www.sohu.com-->IP




# ls -la

image.png


# ls -l /dev

image.png



























管理和重定向: > ,<, >>, <<














普通分类: