计算机资源:定义了资源的访问能力,就是权限 权限 用户,容器,关联权限:用户组,方便地指派权限 只要这个用户放在这个容器里面,他就有相关的权限,这个容器也就是用户组的概念。 所以在Linux下定义了三组用户的权限 属主:属组:其他用户 组是个逻辑概念,他只是指派权限,是不能登录的,但是组有密码 进程也是有属组和属主的,谁发起了这个进程,就以怎么样的权限执行,而执行目标刚好有同样的属主和属组,那就可以被运行 我们默认让文件不应该执行权限,但是默认目录要有执行权限,如下所示:

[mage@www tmp]$ cd mulu/ (进都进不去,说明这个mulu目录在允许mage这个用户进入的组里面肯定是没有x执行权限的) -bash: cd: mulu/: Permission denied 安全上下文(security contesxt):-Z ls -lZ [root@1qewr ~]# ls -lZ anaconda-ks.cfg -rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg rwx 对应的8进制是 421 所以rwxrw-r-x就是765 后面再给权限的时候用到chmod 用户:UID 组:GID所以每一个用户都是有一个UID的,这个是内部的数据库一一对应

解析:名称解析:www.sohu.com-->ip 我们怎么知道用户名对应的id号,其实就是根据数据库,而Linux登录账号的用户密码的数据库就是我们熟知的/etc/passwd,/etc/shadow,/etc/group 所以这里面利用的就是/etc/passwd/的数据来登录的 而组呢就是利用了/etc/group下的数据来进行解析的 便于用户管理,不可能把密码放在passwd,其实他是放在了shadow的,也就是影子文件 影子口令:/etc/shadow 组:/etc/gshadow组也是有密码的,虽然它是不需要登录的

用户类别:(从ID号去理解各个不同的用户) 管理员:UID:0 root 普通用户:1-65535 2的16次方 系统用户:1-499 一般用户:500-65536 但是在Redhat7.0上是从1000开始 [mage@www tmp]$ id mage uid=1000(mage) gid=1000(mage) groups=1000(mage),10(wheel) [mage@www tmp]$ id togogo01 uid=1001(togogo01) gid=1001(togogo) groups=1001(togogo)

系统用户:任何进程都以某个用户执行 如果一个进程以管理员的身份去运行,那如果有人攻击获得了这个进程的执行权限,那就有了这个进程的所有权限

提问:系统用户的作用? 因此系统用户的作用就是因为在很多后台需要运行的,但是不需要和用户关联的进程,他也应该是以一个普通身份的方式运行,所以这一类用户专门用来运行后台进程的用户我们叫做系统用户,当然我们后面用的非常多,比如web服务器,nginx都要用到这一类用户:所以这一类用户是限制其不允许登录的。 只是用于某一类进程,不需要用户交互的,所以不需要登录,从安全上去考虑

用户组: 管理员组: 普通组:1.系统组(1-499) 2.一般组(500-65536) 用户组类别: 私有组:创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组 用户的私有组不一定是基本组 基本组: 额外组:默认组以外的其他组 进程也有属组和属主

实例 假如一个进程以:tom tom运行(比如我们的ls这个程序,执行ls a.txt,那么因为ls的属组和属主都是root,所以它是以其他用户的权限去执行ls这个进程,固然,这个进程的属组和属主都是tom) 访问这个对象: rwxrw-r-- jerry tom a.txt 请问:进程访问a.txt的时候是以哪一个权限来访问 这道题的答案,是以属组的权限来执行的

[www@qqq tmp]$ ll -d /bin/ls -rwxr-xr-x 1 root root 109208 Nov 10 17:43 /bin/ls /bin/ls是一个可执行文件。执行ls就是会用这个文件形成一个ls进程

www是以其他用户组的权限来执行这个ls的 而当www执行了之后,这个ls进程的属主就是www,而不是root,当形成了进程之后,就和这个文件/bin/ls无关,只和发起者的有关 这里涉及到了安全上下文的知识,要深入理解,如下面的一个实例 [root@www ~]# ps aux | grep ps root 8568 0.0 0.0 103236 876 pts/1 S+ 11:36 0:00 grep ps [root@www ~]# su haha [haha@www root]$ ps aux | grep ps haha 8584 0.0 0.0 103236 880 pts/1 S+ 11:36 0:00 grep ps 所以进程的的属主就是发起者这个用户,而和这个程序本身的无关了