Linux用户及权限详解
Linux系统中的库文件为以.so(shared object)结尾的文件,shared object表示动态库或共享库(所谓共享指的是可以被不同的进程在内存中调用的库),运行起来的程序叫做进程(process),存储在硬盘上处于未运行状态的叫做程序,Linux系统中的计算资源需要权限才可以使用,我们Linux系统上的用户其实就是获取系统上资源或者服务的一种标识符,而用户组也是一种标识符,不过用户组只是一种关联权限的逻辑容器,是一个逻辑概念,作用是为了方便的指派权限,我们用户操作计算机的过程其实就是不停的发起进程的过程,进程就相当于是我们用户操作计算机的代理,进程也存在属主和属组,谁发起的进程,谁就是被发起进程的属主,这些取决于Linux系统的安全上下文(secure context),我们的Linux系统的权限有三种r(read读权限)、w(write写权限)、x(execute执行权限)。
·文件权限
->r可读:表示可以使用类似cat命令去查看文件的内容
->w可写:表示可以编辑或者删除文件
->x可执行(executable):表示该文件可以在命令行中被当做命令来执行,即提交给内核去运行
·目录权限
->r:表示可以对该目录执行ls等命令,用以列出该目录路径下的所有文件
->w:表示可以在该目录路径下创建文件
->x:表示可以使用cd命令切换进该目录路径,也可以使用ls -l命令来查看该目录路径下的文件的详细信息
·权限的所有组合形式只有rwx三种,如果有对应权限的话就标记为1,没有对应权限就标记为0,那么由8421码得权限的数字表示形式为:
权限位的排序方式依次是rwx
无权限->---:000 0
只有执行权限->--x:001 1
只有写权限->-w-:010 2
有写权限和执行权限->-wx:011 3
只有读权限->r--:100 4
有读权限和执行权限->r-x:101 5
有读权限和写权限->rw-:110 6
读写执行权限都有->rwx:111 7
故由以上知,r权限的数字权限为4,w权限的数字权限为2,x权限的数字权限为1
·用户
用户的ID称为User ID,简称为UID
用户的类别:
->管理员用户root,UID为0
->普通用户
普通用户的UID的取值范围为1-65535,普通用户又分为系统用户和一般用户:
1,系统用户
系统用户的UID为1-499,系统用户是指那些运行后台程序的用户,系统用户不被允许登录系统
2,一般用户
一般用户的UID为500-6000
·用户组
用户组的ID称为Group ID,简称为GID
用户组的类别:
->管理员组
->普通组
普通组又分为系统组和一般组
Linux中每一个用户都有一个基本组(默认组),用户基本组之外的组叫做附加组或额外组
私有组:如果我们创建用户时,没有为用户指定属组,那么系统会自动为该用户创建一个只包含该用户且与该用户同名的组,这个组叫做私有组
·解析
名称解析,用户的UID存储在数据库/etc/passwd中,其中的x位为用户的密码位:
由上图中/etc/passwd文件中有7个字段:
1,account->用户名/登录名
2,x(passwd)->密码
3,UID->用户的ID号
4,GID->用户的基本组ID号,用户的附加组ID存储在/etc/group文件中
5,GECOS->用户的注释信息(COMMENT)
6,HOMEDIR->用户的家目录
7,用户的默认shell
用户的GID存在于数据库/etc/group中:
·影子口令
用户的密码存储在/etc/shadow文件中:
由上图知,/etc/shadow文件中有9个字段:
1,登录名(account)
2,Encrypted Password(加密的密码)
3,修改密码的时间
4,密码最短使用期限
5,密码最长使用期限
6,密码使用警告期限(即密码还有多长时间到期,在此期限之前必须得修改密码)
7,账号禁用宽限期
8,账号有效期
9,保留字段,无意义
用户组的密码存储在/etc/gshadow文件中:
·Linux系统加密方法
->对称加密
加密与解密使用同一个密码
->非对称加密
公钥加密,私钥解密
每个密码都成对出现,一个位私钥(secret key),一个为公钥(public key),作**交换
->单向加密
又叫做指纹加密,常用来做数据完整性校验,使用明文与密文,即散列加密,可以加密但是不能解密,每个数据都有一个唯一的特征码,单向加密就是用来提取数据特征码的,雪崩效应,md5sum用来提取特征码:
定长输出:
MD5->Message Digest 5,128位定长输出
SHAl->Secure Hash Algorithm,160位定长输出
转载于:https://blog.51cto.com/zhubo/1845489