安全上下文:在linux系统中每个进程均以某个用户的身份运行,进程访问资源的权限取决于发起此进程的那个用户的权限

权限应用模型:

  1)判断运行此进程的用户是否与被访问的资源的属主相同,如果相同,则运用属主的权限,如果不同,则

2)则判断运行此进程的用户是否属于被访问资源的属组,如果是,则应用属组权限,如果不是,则

3)则应用其他权限

三类用户权限:

  属主:owner,u    属组:group,g  其它:other,o

每个文件针对每类访问者都定义了三种权限:(文件有相应的权限,就在相应的权限位用相应的字符代表,没有就用-)

r: Readable    w: Writable  x: eXcutable

同样的权限作用于不同的文件是所代表的意义有所不同:

文件:

r: 可使用文件查看类工具获取其内容 (cat,vi)

w: 可修改其内容

x: 可以把此文件提请内核启动为一个进程

目录:

r: 可以使用ls查看此目录中文件列表

w: 可在此目录中创建文件,也可删除此目录中的文件

x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录

X:只给目录x权限,不给文件x权限

例如:

rw- r-- ---:640

rwx r-x r-x: 755

rwx r_x ---: 750

rw- rw- rw-  666

二、权限修改操作

1、修改文件权限(mode)-----chmod

  1)操作三类用户的权限,使用8进制数字表示

    chmod [-R] OCTAl-MODE file

-R:表示递归修改(文件一般不给执行权限的)

例如:

   

2)操作一类用户或指定类别用户的权限(使用=)

   u=,g=, o=, ug=  a=

例如:

   

3)操作某类用户的某位或某些权限:+|-

u+,g+,o+

   u-., g-,0-

ug- ,uo-,go-

例如:

(使用逗号隔开权限,g-o,o+w,a一般情况下,可以省略)

      4)引用型修改

   --reference=/path/to/somefile

2、修改属主、属组----chown,chgrp(只有管理员root才能实现)

1)chown 修改文件的属主

语法:chown[OPTION]... [OWNER][:[GROUP]] FILE...

用法:

OWNER

OWNER:GROUP

:GROUP

命令中的冒号可用.替换;

-R: 递归

chown[OPTION]... --reference=RFILE FILE...

案例:

(-R 递归修改)

2)chgrp

语法:

chgrp[OPTION]... GROUP FILE...

chgrp[OPTION]... --reference=RFILE FILE...参考RFILE文件的属组,将FILE的修改为同RFILE

用法:-R 递归

3)Umask介绍

umask即权限的遮罩码,一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。

(umask 只给当前shell进制有效,umask(mode)

文件: 666-umask

  注意:如果减的结果中存在执行权限,则让对应的用户类别的八进制权限数字加1

目录: 777-umask

案例:

(root用户:创建目录默认权限为755,创建文件的默认权限为644)

(普通用户:创建目录的默认权限为775,创建文件的默认权限为664)

三、Suid,sgid,sticky的三个权限的详细说明

Suid:设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.

特点:

Suid: 举例目录 /usr/bin/passwd

1)suid只能应用在二进制文件中

2)当一个文件应用了suid,那么任何人在执行该命令的时候他就临时拥有该文件拥有人的权限

3)suid只能应用在文件的拥有人上

4)小写表示能执行,大写表示不能执行

案例:

setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组.

Sgid: 应用环境为用于一组开发人员共用资源,保证安全

1)sgid既可以应用在文件上,也可以应用在目录上

2)当sgid应用在目录上时,任何人在该目录中建立健全的文件和目录的拥有者属于目录所属组

3)应用在拥有组上

4)sgid应用在文件上时,任何人在执行该文件时,临时拥有该文件所属组权限

5)小写表示可执行,大写反之

Sticky: 举例目录/tmp

1)sticky只能应用在目录上,并且是应用在其它人上.

2)只有root和文件的拥有人才能删除该文件.

3)小写表示能执行,大写表示不能执行

sticky bit: 该位可以理解为防删除位. 一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky bit位. 设置该位后, 就算用户对目录具有写权限, 也不能删除该文件.

下面说一下如何操作这些标志:

操作这些标志与操作文件权限的命令是一样的, 都是 chmod. 有两种方法来操作,

1) 使用u,g,o

chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效)

chmod g+s tempdir -- 为tempdir目录加上setgid标志 (setgid 对目录和文件有效)

chmod o+t temp      -- 为temp文件加上sticky标志 (sticky只对文件有效)

2) 采用八进制方式. 对一般文件通过三组八进制数字来置标志, 如 666, 777, 644等. 如果设置这些特殊标志, 则在这组数字之外外加一组八进制数字. 如 4666, 2777等. 这一组八进制数字三位的意义如下:

chmod 4777是设sid

chmod 2777是设置gid

chmod 1777是设sticky

linux权限管理的更多相关文章

  1. Linux系列教程(十六)——Linux权限管理之ACL权限

    通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow ...

  2. 【Linux】 Linux权限管理与特殊权限

    Linux权限管理 权限管理这方面,非常清楚地记得刚开始实习那会儿是仔细研究过的,不知道为什么没有笔记留痕..除了一些基本的知识点早就忘光了,无奈只好从头开始学习一遍.. ■ 基本权限知识 这部分实在 ...

  3. Linux基础知识之用户和用户组以及 Linux 权限管理

    已经开始接触Linux用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时候看到这些名词总是下意识的跳过不敢看 ...

  4. Linux权限管理之ACL权限

    注:转载自:https://www.cnblogs.com/ysocean/p/7801329.html 目录 1.什么是 ACL 权限? 2.查看分区 ACL 权限是否开启:dump2fs ①.查看 ...

  5. [Linux 003]——用户和用户组以及 Linux 权限管理(一)

    嗬!没想到吧!学习 Linux 的第三天,我们已经开始接触用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时 ...

  6. 用户和用户组以及 Linux 权限管理

    1.从 /etc/passwd 说起 前面的基本命令学习中,我们介绍了使用 passwd 命令可以修改用户密码.对于操作系统来说,用户名和密码是存放在哪里的呢?我们都知道一个站点的用户名和密码是存放在 ...

  7. Linux权限管理(用户、组、文件管理)

    一. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 1. 文件查看类命令cat,tac, head, tail, more, less, ls ,file: -ls : l ...

  8. linux权限管理-特殊权限

    目录 linux权限管理-特殊权限 一,特殊权限 Linux权限属性chattr概述 linux进程掩码umask linux权限管理-特殊权限 一,特殊权限 1.suid(4000) SetUID( ...

  9. linux权限管理-基本权限

    目录 linux权限管理-基本权限 权限修改命令chmod linux权限管理-基本权限 权限 针对某些文件和进程,对用户进行限制 权限与用户的关系 rwx rwx r-x User Group Ot ...

  10. linux权限管理—基本权限

    目录 Linux权限管理-基本权限 一.权限的基本概述 二.权限修改命令chmod 三.基础权限设置案例 四.属主属组修改命令chown Linux权限管理-基本权限 一.权限的基本概述 1.什么是权 ...

随机推荐

  1. SOME:收缩数据库日志文件,查看表数据量和空间占用,查看表结构索引修改时间

    ---收缩数据库日志文件 USE [master]ALTER DATABASE yourdatabasename SET RECOVERY SIMPLE WITH NO_WAITALTER DATAB ...

  2. 第十八周个人作业--The Final

    项目计划   完成这个项目需要的时间:5-7天项目开发  需求分析:    作为一名排球赛事管理者,我希望能够根据比赛查询每场比赛的结果,以便于确定每支球队的比赛名次.  设计文档    由排球比赛用 ...

  3. 写了好多次SSH现在对于框架还是有一定的基础了,但是对于框架下我们该如何进行操作呢???

    首先,对于一个老手来说,我们最快捷的就是ctrl+c和ctrl+v,但是我们自己应该复制哪一些代码呢? 1.在我们导完包之后,我们需要写的就是web.xml,在其中,我们要有过滤器及映射和监听器. w ...

  4. Tcc学习笔记(三) 使用举例

    TCC的使用以使用第三方库为例子,例子包括:OpenGL , GMP以及SDL等. 1.TCC使用GLUT 去OpenGL下载http://www.opengl.org/resources/libra ...

  5. KeepAlived主备/主主模型高可用Nginx

    部署准备: 两台CentOS 7主机HA1和HA2 CentOS 7 基于rpm包安装Nginx: 由于Base源中没有Nginx,所以要安装EPEL源,命令如下: wget http://dl.fe ...

  6. LAMP之准备,samba搭建

    搭建lamp其实并没有多复杂,只是,最多的时间是花在下载等待和计算机编译等上面耗时,要是时间多花在这些事情上面总感觉有点亏.经过我多次实践,发现在linux下使用下载会有诸多问题,甚至不如window ...

  7. 利用Native Client OLEDB 11 高效率地对SQL SERVER 进行查询和插入操作

    前言: 鄙司原始用的都是ADO来访问数据库,而我现在着手的项目是从我的GPS历史数据库中,取出历时数据的一个接口,一个DLL.用ADO写完之后,测试下来,平均4000条的数据,需要 180 毫秒左右. ...

  8. IOS低版本遇到了坑不知道你遇到了没

    拿着项目给客户测试,客户那边三个人俩人水果手机是ios8以下版本,结果导致```(恭喜,坑出现!)总不能说老总!"您把版本升级到ios9 吧!

  9. C# WinForm 中 MessageBox的使用详解

    1.C# WinForm 中 MessageBox的使用详解:http://www.cnblogs.com/bq-blog/archive/2012/07/27/2611810.html

  10. jQuery Mobile 表单基础

    jQuery Mobile 会自动为 HTML 表单添加优异的便于触控的外观. jQuery Mobile 表单结构 jQuery Mobile 使用 CSS 来设置 HTML 表单元素的样式,以使其 ...