#6 Linux权限的管理

用户的权限管理;

普通权限:

特殊权限:

文件的特殊属性;

FACL(文件访问控制列表):

普通权限:

进程安全上下文;

1.判断进程的所有者是否为想要操作的文件的属主,如果是,就按照属主的权限进行授权;

如果不是,就转到第2条;

2.判断进程的所有者是否为想要操作的文件的属组中的成员,如果是,就按照属组的权限进行授权;如果不是,就转到第三条;

3.按照其他用户的权限进行授权;

权限的构成:

MODE(permission):使用权

r:readable,可读

w:writable,可写

x:executable,可执行

目录:

r:可以使用ls命令获得其中所有的文件名的列表;ls -l 命令来获取目录中文件的详细的属性信,也不能使用cd命令进入其中,也不能在路径中引用该目录;

w:可以修改此目录中的文件名或文件名列表,即:可以在此目录中创建,修改或删除文件名;

x:可以使用ls -l

命令来获取其中的文件的详细属性信息;也可以在路径中引用该目录;也可以使用cd命令来进入其中;注意:x权限是目录的最基本权限,任何目录都必须对任何用户开放x权限,否则用户将无法进行任何操作;

文件:

r:可以查看或获取该文件中存放的数据;

w:可以修改文件中存放的数据;

x:可以将此文件发起运行为进程;

ls -l <-->ll

-rw-r--r--:三个权限为——属主、属组、其他用户

属主权限:rw-

属组权限:r--

其他用户权限:r--

权限标识三元组;

标识  二进制  八进制

---     000      0

--x     001      1

-w-     010      2

-wx     011      3

r--     100      4

r-x     101      5

rw-     110      6

rwx     111      7

rw-r--r--

110100100

644

755-->rwxr-xr-x

注意:只有某个文件的属主才能修改文件的使用权限(root除外);

修改文件的使用权限:

chmod -->change mode:chmod - change file mode bits

chmod [OPTION]... MODE[,MODE]... FILE...

MODE:符号权限标识法

u,g,o,a表示所有权;

+,-,=标识授权方式;

+:在原有的权限基础上添加新的权限;

-:在原有的权限基础上去除某些权限;

=:不考虑原有权限,直接将权限设置为目标权限;

r,w,x表示具体权限内容;

例子:

chmod u+w file

chmod g+rw file

chmod u+x,g-wx,o--x file

chmod u=fw,g=r,o=r file

chmod ug-x file

chmod +x file  默认的为a添加添加执行权限;

chmod +w file  默认的只为属主添加写权限;

注意:文件的执行权限;Linux的文件系统来说,非常重要的安全的标识;

因为一旦文件具备了执行权限,意味着该文件可以被发起执行为进程;

所以,默认情况下,文件都不具备执行权限;

chmod [OPTION]... OCTAL-MODE FILE...

如果使用八进制数字标识法,则每次必须给足所有的权限位;

如果给的权限位不完整,文件系统会自动补足,将给定的权限放置在右侧,左侧使用0来补;

chmod 640 file

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

chmod --reference=/path/to/somefile des_file

chmod --reference=a b

选项:

-R, --recursive:将目标目录中的文件及子目录和子目录中的文件统一的设置为指定的权限标识;

ownership:所有权

属主:资源掌控的某个特定用户;owner(user),u

属组:资源掌控的某些特定用户;group,g

其他用户:未曾掌控资源的那些用户;other,o

全部用户:all,a

chown - change file owner and group

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

chown OWNER FILE

chown :GROUP FILE

chown OWNER: FILE //

将目标文件的属主改为OWNER,同时将属组改为OWNER的基础组;

chown OWNER:GROUP FILE   //将目标文件的属主和属组修改为OWNER和GROUP;

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

-R, --recursive:将目标目录中的文件及子目录和子目录中的文件统一的设置为指定的所有权;

注意:修改OWNERSHIP操作只有超级用户(root)可以完成;

chgrp:只能修改文件的属组

chgrp - change group ownership

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

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

install命令:

安装:复制文件;为文件赋予执行权限;

install - copy files and set attributes

单元复制:

install [OPTION]... [-T] SOURCE DEST

多元复制:

install [OPTION]... SOURCE... DIRECTORY

install [OPTION]... -t DIRECTORY SOURCE...

创建目录:

install [OPTION]... -d DIRECTORY...

常用选择:

-m, --mode=MODE::指定目标文件的权限,默认为755;

-o, --owner=OWNER:设定目标文件的属主,只能是root可用;

-g, --group=GROUP:设定目标文件的属组,仅root可以;

注意:install命令不能复制目录,即其源不能为目录;如果其源为目录,则install命令会进入目录,依次复制其中的所有非目录文件到目标位置;

mktemp命令:

一般来讲,临时文件都会创建在/tmp或/var/tmp目录中,无需手动删除,系统会定期自动清除这两个目录中的文件;

mktemp - create a temporary file or directory

mktemp [OPTION]... [TEMPLATE]

选择:

-d, --directory:可以创建临时目录;

例子:

mktemp [-d] path/to/tmp.xxxxxxxxxx

特殊权限:

SUID、SGID、STICKY

默认情况下,用户发起执行一个进程,该进程的属主是其发起者;也就是说,该进程是以其发起者的身份在运行;

SUID:

功能作用:用户发起执行一个进程时,该程序文件如果拥有SUID权限的话,那么此程序发起的进程其属主为该程序文件的属主,而不是其发起者;

SIDE权限所显示的位置:文件的属主权限中的执行权限位;如果属主本来就有执行权限,显示为s;否则,显示为S;

管理文件的SUID权限:

chmod u+|-s(u+或者-) file...

SGID:

如果某个目录的对于一些用户有写权限并且设置了SGID权限时,则所有对此目录有写权限的用户在创建新的文件或目录以后,新文件的属组不再是创建用户的基本组,而且是继承了该目录的属组;

SGID权限显示的位置:文件的属组权限中的执行权限位;如果属组本来就有执行权限,显示为s;否则显示为S;

管理文件的SGID权限:

chmod g+|-s(g+或者-) file...

STICKY:sticky(粘性的):粘滞位

如果某个目录中,有超过一个用户可以有写权限,则这个多用户都可以在该目录中随机创建、修改和删除文件名;

STICKY的功能作用:

如果为上述类似的目录设置了STICKY权限,则每个用户仍旧能够创建和修改文件名,但每个用户只能删除那些属主为其自身的文件名;

STICKY权限的显示位置;在文件权限的其他用户的执行权限位;如果原来就有执行权限,则显示为t;否则,显示为T;

管理文件的STICKY权限:

chmod o+|-t(o+或者-) file...

suid   sgid    sticky

---     000      0

--t     001      1

-s-     010      2

-st     011      3

s--     100      4

s-t     101      5

ss-     110      6

sst     111      7

特殊权限的另一种修改方式:

将特殊权限对应的八进制数字放置于普通权限八进制数字的前面即可;

例如:想要给某个目录加上粘滞位;

chmod 1755 DIRECTORY...

umask

权限遮罩码:在创建文件或目录时默认的权限生成标准;

root:0022

不考虑特殊权限位

对于新创建的文件或目录,不遮挡属主的任何权限;遮住了属组的写权限和其他用户的写权限;

[[email protected] ~]# mkdir test --> rwxr-xr-x

[[email protected] ~]# touch test.txt --> rw-r--r--

文件的默认权限是:666-umask(有争议的)

目录的默认权限是:777-umask(有争议的)

理解遮罩码:

将遮罩码的值变为二进制,凡是有1的位置,其权限在创建文件时,就不设置;

033   000011011 --- 110100100 644

---

默认情况下。文件的遮罩码已经有了一个0111,在此基础上再次应用unask来遮罩权限

文件的特殊属性:

查看文件的特殊属性:

lsattr - list file attributes on a Linux second extended file system

lsattr [ -RVadv ] [ files...  ]

修改设置文件的特殊属性:

chattr - change file attributes on a Linux file system

chattr [ -RVf ] [ -v version ] [ mode ] files...

mode:会使用+-=的方式来设置

整个chattr命令最关键最核心的设置就是[mode]部分:

[aAcCdDeijsStTu]都是所需要的属性:

+:在原有属性设定的基础上,添加新属性;

-:从原有属性设置中移除指定的属性;

=:不考虑原有的属性设置,直接将文件的属性更新为指定的属性内容;

a:append,设置这个属性的文件,其内容不能被更改和删除,只能以追加的方式向文件中写数据;多数的服务器日志类文件会设置为此属性;

A:atime,文件的访问时间戳;IO瓶颈;设置A属性,可以使得文件在被访问时不更改文件的访问时间戳,从而可以有效的防止IO瓶颈的发生;

c:设置文件是否自动压缩后再自行存储;

C:设置文件是否开启“写时复制”属性;

d:设置文件在使用dump进行备份的时候,不会成为备份目标;

D:设置文件在文件系统中的异步写操作;

i:设置文件不能被删除、修改、设定链接关系;

s:设置文件的保密性删除,一旦设置s属性的文件被删除,其对应存储设备中的使用空间会被一并收回;

u:跟s属性相反,如果这样的文件被删除,则其存储于存储设备中的数据会被留存;

最常用的属性:i和a

chattr +i FILE

常用选择:

-R:递归的设置指定目录中的所有文件和子目录的属性;

为文件赋予额外的权限机制:FACL:file access control list,文件访问控制列表;

在原有的额外赋权机制:

在原有的u,g,o权限位置外,让普通用户能够控制权限赋予另外的用户和组的一种赋权机制;

一般在centos或rhel7版本以后的发行版中,才逐渐成熟;

与FACL有关的命令:

getfacl:

getfacl - get file access control lists

getfacl [-aceEsRLPtpndvh] file ...

getfacl [-aceEsRLPtpndvh]

user:username:mode

group:groupname:mode

other::mode

setfacl:

setfacl - set file access control lists

setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file ...

setfacl --restore=file

acl_spec:acl_specification,指定的访问控制列表

u:username:mode

g:groupname:mode

mode:一般使用符号权限标识法;

为用户赋予额外权限:

setfacl -m u:username:mode file...

为组赋予额外权限:

setfacl -m g:groupname:mode file...

撤销为用户赋予的额外权限:

setfacl -x u:username

撤销为组赋予的额外权限:

setfacl -x g:groupname

注意:如果设置了FACL之后在修改目标文件的使用权限,那么FACL中设置的条目就可能收到影响而导致与要求不服;因为,如果真的需要设置FACL,就要在已经确定目标文件的使用权限以后再行设置;

时间: 2024-09-28 16:31:57

#6 Linux权限的管理的相关文章

Linux权限管理及用户与用户组

第一部分:Linux权限管理 一.基本权限 linux权限机制采用UGO模式.其中 u(user)表示所属用户.g(group)表示所属组.o(other)表示除了所属用户.所属组之外的情况. u.g.o 都有读(read).写(write).执行(excute) 三个权限,所以UGO模式是三类九种基本权限. 用命令 ls -l 可列出文件的权限,第一列输出明确了后面的输出(后面一列代表 ugo权限).第一个字母对应的关系: "-"    普通文件 "d"   目录

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

Linux权限管理 权限管理这方面,非常清楚地记得刚开始实习那会儿是仔细研究过的,不知道为什么没有笔记留痕..除了一些基本的知识点早就忘光了,无奈只好从头开始学习一遍.. ■ 基本权限知识 这部分实在是比较基础,不想多讲了.主要就是9格权限的理解.搞清楚读权限.写权限和执行权限对于文件和目录来说分别以为着什么,就可以了.下面是一些以前没怎么注意,今天听完培训之后觉得有些意思的点: ●  管理权限的权限 文件权限信息和其他文件信息一样,并不属于文件内容的一部分,而基本的权限是针对文件内容而言的.比

Linux系统用户、组和权限及管理

初学Linux,现将对用户.组和权限及管理做了一些整理,希望大家相互学习! 用户: 即在系统内将有限的资源在多个使用者之间进行分配的一个系统组件: 用户分类:Linux环境中用户一般分为管理员和普通用户: 管理员(root)是系统中的超级用户,被授予对系统资源所有的访问权限,可以对其它其它用户及组进行管理: 普通用户又分为系统用户和登录用户: 系统用户:仅用于运行服务程序,保障系统正常运行: 登录用户:系统资源的正常使用者,访问资源的权限需要Root管理指定: 用户ID(User ID UID)

[Linux 004]——用户和用户组以及 Linux 权限管理(二)

到权限了.前面讲到了 Linux 中的用户和用户主管理,其实它们的本质(或者用户和用户组出现的初衷)都是方便权限管理.权限管理对于计算机的重要性不言而喻,权限让每个用户能够安安心心的使用计算机,而不用担心别的用户破坏到自己的资源.如果老王手里有一把你家的钥匙,你是不是很蛋疼呢,如果邻居除了老王,还有老赵,老李,老张...都有你家的钥匙,你是不是更加蛋疼呢.作为多用户的 Linux 而言,权限管理至关重要. 1.Linux 文件权限的规定 前文提到,Linux 规定一个文件必须要有三种权限:文件所

linux权限管理总结

文件或目录的权限 目录和文件拥有:读r.写w.执行x权限. // 使用 ls -l命令查看当前目录的文件权限信息 #ll -rw-r--r-- 1 root root 161 Mar 20 20:39 test.txt // test文件所有者拥有读写权限.所属组和其他用户拥有读权限 drw-r--r-- 1 root root 248 Mar 23 21:03 download 权限对文件的作用 r :读取文件内容(cat.more.head.tail) w:编辑.新增.修改文件内容(vi.e

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

已经开始接触Linux用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时候看到这些名词总是下意识的跳过不敢看有木有,一提起这几个名词马上脑海中总是升腾起无限的崇拜有木有!今天就硬着头皮捯饬捯饬这几个概念,希望能有所收获. 1.从 /etc/passwd 说起 前面的基本命令学习中,我们介绍了使用 passwd 命令可以修改用户密码.对于操作系统来说,用户名和密码是存放在哪里的呢?我们都知道一个站点的用户名

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

一. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 1. 文件查看类命令cat,tac, head, tail, more, less, ls ,file: -ls : list,列出指定目录下的内容 使用语法:ls [option]- [file]- 参数:-a 显示所有文件,包括隐藏文件: -A 显示除.和..之外的所有文件: -l –long,长葛市列表,即显示文件的详细属性信息: 例:-rw-r--r--. 1 root   root     8957 10月

Linux权限管理---特殊权限

目录 Linux权限管理---特殊权限 一.Linux系统特殊权限概述 二.特殊权限suid介绍 三.特殊权限sgid介绍 四.特殊权限sbit介绍 五.特殊权限总结: 六.linux权限属性chattr概述 七.Linux进程掩码umask Linux权限管理---特殊权限 一.Linux系统特殊权限概述 除了r(读). w(写). x(执行)这三种普通权限外,在查询系统文件权限时会发现还有其他的权限字母. 例如: [[email protected] ~]# ll /usr/bin/pass

Linux用户权限及管理介绍

Linux用户权限及管理相关介绍.Linux的哲学思想:一切皆文件,目录也被看成文件,为了自己创建的文件不被他人查看及使用或删除,从而有了权限的概念,对每个文件赋予权限,定制此文件对谁开放,谁可以查看或使用:我们在命令行使用ll命令时查看某个文件或目录时得到的信息中[[email protected] ~]# ll?drwxr-xr-x 2 root root 6 Jul 19 09:21 test-rw-r--r-- 1 root root 0 Jul 19 09:11 test.txt.其中