Linux权限管理总结(1)--基础权限

玩Linux的人都知道,Linux的安全性要比Windows高很多,而这主要是因为Linux中的安全权限机制,Linux中的用户和文件是组成系统的重点,而Linux的主要哲学思想是一切皆文件。Linux中的用户有用户的权限,分为普通用户和超级用户。文件有文件的权限,分别为读写执行权限。因为Linux中一切皆文件,对文件的操作就可以直接的操作系统,很多Linux高级服务器是没有图形界面的,都是对文件来直接操作来控制服务器,对文件的操作要通过用户来执行,而普通用户和超级用户的执行权限是不同的。

1.普通用户和超级用户权限的不同

超级用户是系统的所有者,可以对系统做任何的操作,甚至是删除系统的根目录。而 普通用户则有很大的限制,例如不能修改系统关键配置文件,想查看其他用户的文件则需要相应的权限
不能安装软件,甚至关机关机指令(shutdown或poweroff)都需要以root身份执行(sudo)。

2.理解“ls -l”

我们来看一看我们的 ls -l 输出,检查一下这个清单的第一栏:

$ ls -l /bin/bash
       -rwxr-xr-x    1 root     wheel      430540 Dec 23 18:27 /bin/bash
    第一个字段 -rwxr-xr-x 包含该特殊文件的权限的符号表示。

该字段中的首字符(-)指定该文件的类型,本例中它是一个常规文件。其它可能的首字符还有:
    “d”目录
    “l”符号链接
    “c”字符专门设备文件
    “b”块专门设备文件
    “p”先进先出
    “s”套接字

3.文件权限rwx

       r 表示允许读(查看文件中的数据),w 表示允许写(修改文件以及删除),x 表示允许“执行”(运行程序)。

    通过rwx的不同组合实现文件的不同权限,

第一组rwx:文件所有者的权限是读、写和执行

第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行

第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行

也可用数字表示为:r=4,w=2,x=1  因此rwx=4+2+1=7

4.umask值

当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,
而chmod设置的是文件权限码。
一般可在/etc/profile、/etc/bashrc、$
[HOME]/.bash_profile、 $[HOME]/.profile或$[HOME]/.bashrc中设置umask值。具体取决于
Linux发行版,比如Fedora19下要更改自己的umask值,在$[HOME]/.profile或$[HOME]/.bash_profile
下的增加umask的值覆盖不了/etc/profile中的配置值的,必须在$[HOME]/.bashrc下增加umask值才可以永久定义自己的umask值。

  •     如何计算umask值

umask
命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最

大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来
说,umask中各个数字最大可以到7。

    例如,对于umask值0 0 2,相应的文件和目录缺省创建权限是什么呢?

第一步,我们首先写下目录具有全部权限的模式,即777 (所有用户都具有读、写和执行权限)。

第二步,在下面一行按照umask值写下相应的位,在本例中是0 0 2。

第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。

稍加练习就能够记住这种方法。

第四步,对于文件来说,在创建时不能具有执行权限,只要拿掉相应的执行权限比特即可。

这就是上面的例子, 其中umask值为0 0 2:

1) 文件的最大权限 rwx rwx rwx (777)

2) umask值为0 0 2 --- --- -w-

3) 目录权限 rwx rwx r-x (775) 这就是目录创建缺省权限

4) 文件权限 rw- rw- r-- (664) 这就是文件创建缺省权限

下面是另外一个例子,假设这次u m a s k值为0 2 2:

1) 文件的最大权限 rwx rwx rwx (777)

2 ) u m a s k值为0 2 2 --- -w- -w-

3) 目录权限 rwx r-x r-x (755) 这就是目录创建缺省权限

4) 文件权限 rw- r-- r-- (644) 这就是文件创建缺省权限

5.改文件权限命令chmod

chmod [who] [+ | - | =] [mode] 文件名?

命令中各选项的含义为:

操作对象who可是下述字母中的任一个或他们的组合:

u 表示“用户(user)”,即文件或目录的所有者。

g 表示“同组(group)用户”,即和文件属主有相同组ID的所有用户。

o 表示“其他(others)用户”。

a 表示“所有(all)用户”。他是系统默认值。

操作符号是:

+ 添加某个权限。

- 取消某个权限。

= 赋予给定权限并取消其他所有权限(如果有的话)。

设置mode所表示的权限可用下述字母的任意组合:

r 可读。

w 可写。

x 可执行。

X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。

s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。

t 保存程式的文本到交换设备上。

u 和文件属主拥有相同的权限。

g 和和文件属主同组的用户拥有相同的权限。

o 和其他用户拥有相同的权限。

例子:

chmod 755 abc:赋予abc权限rwxr-xr-x

chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限

chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限

chmod a+r abc:给所有用户添加读的权限

时间: 2024-10-10 13:50:37

Linux权限管理总结(1)--基础权限的相关文章

20181126文件权限管理之:高级权限suid

文件权限管理之:高级权限suid [[email protected] ~]# touch /root/file1.txt[[email protected] ~]# ll /root/file1.txt-rw-r--r--. 1 root root 0 11月 9 09:02 /root/file1.txt [[email protected] ~]$ cat /root/file1.txtcat: /root/file1.txt: 权限不够问题:为什么会失败?[[email protecte

java权限管理与用户角色权限设计

java权限管理与用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能.因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将

通用权限管理设计 之 数据权限

阅读目录 前言 初步分析 通用查询机制 数据权限规则 实际应用 结语 前言 前一篇文章<通用权限管理设计 之 数据库设计方案>介绍了[主体]- [领域] - [权限]( who.what.how问题原型 ) 的设计思想 本文将对这种设计思想作进一步的扩展,介绍数据权限的设计方案. 权限控制可以理解,分为这几种 : [功能权限]:能做什么的问题,如增加产品.[数据权限]:能看到哪些数据的问题,如查看本人的所有订单.[字段权限]:能看到哪些信息的问题,如供应商账户,看不到角色. 部门等信息. 上面

权限工作流平台系列-基础权限版

一.基础权限版介绍:联系作者   1039318332        1.基础权限版地址:http://www.eipflow.com:9998/Account/Login   或者通过http://www.eipflow.com也可进入 2.开发工具:Vs2017+SqlServer 2008R2 及以上版本 3.系统采用前后端分离模式开发,后端使用最新的Core2框架,使用MongoDb作为缓存工具,前端使用Adminlte框架进行二次开发,可自由换肤,自己进行扩展       4.系统设计

Linux中权限管理之文件特殊权限

SetUID 1.只有在可执行的二进制程序上设定SUID权限才是有意义的 2.命令执行者要对该程序拥有执行权限 3.命令执行者在执行该程序时获得该程序文件属主的身份 4.SetUID权限只在该程序执行中有效,也就是身份改变只在程序执行中有效 例如: passwd命令拥有SetUID权限,所以普通用户可以改自己的密码 普通用户调用passwd命令的时候,会临时使用passwd宿主的身份运行,即root用户 真正执行的时候会临时通过root身份去修改/etc/shadow文件的内容 通过ll命令查看

mysql——权限管理——授权、收回权限、查看授权

前期准备,新建一个用户: create user 'sww'@'localhost' identified by '123456'; /*创建一个用户*/ select * from user; mysql -h localhost -P 3306 -u sww -p123456 /*DOS窗口中登录查看*/ ======================================================================================== 使用gra

权限管理之获取用户权限信息

对象的本质是id值 原文地址:https://www.cnblogs.com/jintian/p/11255265.html

Linux系统管理三之权限管理(一)

本文记录了Linux文件系统的权限管理 一.基础权限: 1.用户与文件的关系: (1)文件所有者,owner,属主,文件的第一组权限表示属主拥有的权限 (2)文件所有组,group:属组,文件的第二组权限表示属组拥有的权限 (3)其他人,other:既不是属主,也不属于属组,文件的第三组权限表示其他人拥有的权限 2.普通文件操作权限: (1)r:读取(read),4,可以查看文件的内容 (2)w:写入(write),2,可以编辑.修改文件的内容 (3)x:执行(execute),1,可以执行文件

Linux学习笔记:用户的权限管理

在上周清明假期期间,我们仍然在紧张的学习中,今天我们学习了用户的权限管理,用户的权限管理顾名思义即为用户在使用操作系统时所能使用的权限及管理用户使用相应的命令为用户添加相应的权限,其中用户的权限分为普通权限,特殊权限及文件的特殊权限. 以下即为本堂课所学内容整理记录: 普通权限: 进程安全上下文: 1.判断进程的所有者是否为想要操作的文件的属主,如果是,就按照属主的权限进行授权: 如果不是,就转到第2条: 2.判断进程的所有者是否为想要操作的文件的属组中的成员,如果是,就按照属组的权限进行授权:

浅析Linux系统下用户与权限管理

Linux作为一种多用户多任务操作系统,在日常的使用中不可避免地要划分出一个角色的概念来管理和使用计算机,这个角色与每一个计算机使用者关联,在Linux中称这种角色为用户.而在每一个用户使用计算机的过程中,又必然存在对有限计算机资源使用的限制性,那么操作系统就必须提供一种途径来保证每个用户独立.合理的使用计算机. 一.用户和用户组管理   (一)用户及用户组相关基本概念  用户:泛指计算机的使用者.用计算机可识别的用户ID(UID,user id)标识. 用户组:用户容器,用来将多个用户合并为一