14、权限(用户,文件,进程)

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

[[email protected] tmp]$ cd mulu/ (进都进不去,说明这个mulu目录在允许mage这个用户进入的组里面肯定是没有x执行权限的)
-bash: cd: mulu/: Permission denied
安全上下文(security contesxt):-Z
ls -lZ
[[email protected] ~]# 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开始
[[email protected] tmp]$ id mage
uid=1000(mage) gid=1000(mage) groups=1000(mage),10(wheel)
[[email protected] 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的时候是以哪一个权限来访问
这道题的答案,是以属组的权限来执行的

[[email protected] 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无关,只和发起者的有关
这里涉及到了安全上下文的知识,要深入理解,如下面的一个实例
[[email protected] ~]# ps aux | grep ps
root 8568 0.0 0.0 103236 876 pts/1 S+ 11:36 0:00 grep ps
[[email protected] ~]# su haha
[[email protected] root]$ ps aux | grep ps
haha 8584 0.0 0.0 103236 880 pts/1 S+ 11:36 0:00 grep ps
所以进程的的属主就是发起者这个用户,而和这个程序本身的无关了

原文地址:http://blog.51cto.com/425319153/2092980

时间: 2024-11-02 15:27:15

14、权限(用户,文件,进程)的相关文章

Linux编程 14 文件权限(用户列表passwd,用户控制shadow,useradd模板与useradd命令参数介绍)

一. 概述 linux安全系统的核心是用户账户. 创建用户时会分配用户ID(UID). UID是唯一的,但在登录系统时不是用UID,而是用登录名.在讲文件权限之之前,先了解下linux是怎样处理用户账户的.以及用户账户需要的文件和工具,这样处理文件权限问题时,就知道如何使用它们了. 1.1  /etc/passwd用户文件 /etc/passwd 是用来将用户的登录名,匹配到对应的UID上.它包含了一些与用户有关的信息.下面截取二个片断.如下图所示: root用户账户是linux系统管理员,固定

标准I/O与管道;用户、组和权限;文件处理工具及正则表达式总结

四.标准I/O与管道标准输入和输出程序:指令+数据读入数据:Input输出数据:Output?打开的文件都有一个fd: file descriptor (文件描述符)?Linux给程序提供三种I/O设备?标准输入(STDIN)-0 默认接受来自键盘的输入?标准输出(STDOUT)-1 默认输出到终端窗口?标准错误(STDERR)-2 默认输出到终端窗口?I/O重定向:改变默认位置把输出和错误重新定向到文件?STDOUT和STDERR可以被重定向到文件命令 操作符号 文件名支持的操作符号包括: 把

用户和组管理权限及文件访问控制

与用户账户和组帐户相关的文件: 1./etc/passwd 2./etc/group 3./etc/shadow 4./etc/gshadow 5./etc/default/useradd 6./etc/login.defs 7./etc/skel(Directory) 1./etc/passwd: root:x:0:0:root:/root:/bin/bash 1  2 3 4  5   6    7 1:用户账户登录名称: 2:使用"x"表示密码占位符: 3:用户账户的UID: 4

linux系统管理总结(用户,权限,文件。。。。完善的总结)

linux系统管理 终端字体变大? ?ctrl + shift +? 变大 ctrl + - 变小ls 显示当前路径有什么文件pwd 显示当前路径/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录.所有的东西都是从这里开始.当你在终端里输入"/home",你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录./bin./usr/bin: 可执行二进制文件的目录,如常用的命令ls.tar.mv.cat等./boot:放置linux系统启动时用到的一些文件,如L

linux下非root用户如何修改root权限的文件

在linux下会出现把一些配置文件参数配错.root密码忘记等导致系统无法启动或进入root的窘迫境地,本文以redhat  enterprise linux server 6.4为例介绍root身份修改root权限配置文件的参数后,root无法登录,然后通过linux的rescue模式改回配置文件,巧妙以非root身份修改了root权限的文件的解决方案. 首先,插入linux安装盘重启系统,等到引导进入安装会话,上下移动方向键,选rescue installed system: 第二,进入修复

以普通用户启动的Vim如何保存需要root权限的文件

在Linux上工作的朋友很可能遇到过这样一种情况,当你用Vim编辑完一个文件时,运行:wq保存退出,突然蹦出一个错误: E45: 'readonly' option is set (add ! to override) 这表明文件是只读的,按照提示,加上!强制保存::w!,结果又一个错误出现: "readonly-file-name" E212: Can't open file for writing 文件明明存在,为何提示无法打开?这错误又代表什么呢?查看文档:help E212:

文件编辑、文件权限以及文件搜索 04

本文将阐述linux当中的文件编辑.权限查看以及修改.文件查找以及内容搜索等命令. 1.操作环境 vmware 14.1 centos7 64 putty或者xshell 2.前提约束 已安装vmware vmware中已安装centos[注意,也可以直接就是一台linux机子,使用vmware是一个选项而已] 在本机能访问到centos[注意,本文中所涉及的linux服务器的ip是 192.168.100.192,请读者根据实际设置] 熟练使用putty 3.操作 3.1 vi.vim #新建

Linux内核工程导论——用户空间进程使用内核资源

本文大部分转载和组装,只是觉得这些知识应该放到一起比较好. 进程系统资源的使用原理 大部分进程通过glibc申请使用内存,但是glibc也是一个应用程序库,它最终也是要调用操作系统的内存管理接口来使用内存.大部分情况下,glibc对用户和操作系统是透明的,所以直接观察操作系统记录的进程对内存的使用情况有很大的帮助.但是glibc自己的实现也是有问题的,所以太特殊情况下追究进程的内存使用也要考虑glibc的因素.其他操作系统资源使用情况则可以直接通过proc文件系统查看. 进程所需要的系统资源种类

基于访问权限的文件枚举

枚举功能,简单的说就是当你访问共享的时候,你只会看到自己有权限访问的文件或文件夹,而其他人看不到,其他人访问的时候也就只有看到相对应的自己的文件夹,这样做的好处是,第一提高了用户体验度,用户不用去在一大堆的文件夹里面找自己需要的文件夹或文件,一眼就可以看得到:另外也提高了用户文件的安全性. 1.打开共享和存储管理 2.设置共享 3.新建文件夹"信息共享库" 4.继续 5.设置共享文件夹向导,选择"否,不更改NTFS权限" 6.保持共享名"信息共享库&quo