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

在上周清明假期期间,我们仍然在紧张的学习中,今天我们学习了用户的权限管理,用户的权限管理顾名思义即为用户在使用操作系统时所能使用的权限及管理用户使用相应的命令为用户添加相应的权限,其中用户的权限分为普通权限,特殊权限及文件的特殊权限。

以下即为本堂课所学内容整理记录:

普通权限:

进程安全上下文:

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

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

修改文件的使用权限:

chmod --> change mode;chmod - change file mode bits

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

MODE:符号权限标识法

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

+,-,=表示授权方式:

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

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

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

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

注意:文件的执行权限,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:可以修改文件的属主和属组;

chown [OPTION]...

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

多源复制:

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目录中;无需手动删除,系统会定期自动清除这两个目录中的文件

选项:

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

例子:mktemp [-d] /path/to/tmp.XXXXXXXXX

特殊权限:

SUID , SGID , STICKY

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

SUID:

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

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

管理文件的SUID权限:

chmod u+|-s FILE...

SGID:

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

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

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

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

STICKY的功能作用:

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

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

管理文件的STICKY权限:

chmod o+|-t 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

不考虑特殊权限位

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

文件的默认权限是:666-umask

目录的默认权限是:777-umask

理解遮罩码:

权限遮罩码在创建文件或目录时默认

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

0033  000011011 --- 110100100  644

--- 111100100  744

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

文件的特殊属性:

查看文件的特殊属性:

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 Conterol list,文件访问控制列表

文件的额外赋权机制:

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

一般在Centos或RHEL7版本以后的发行版中,才逐渐成熟。

与FACL有关的命令:

getfacl - get file access control lists

getfacl [-aceEsRLPtpndvh] file ...

user:USERNAME:MODE

group:GROUPNAME:MODE

other::MODE

setfacl:set file access control lists

setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] 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-10-05 13:00:11

Linux学习笔记:用户的权限管理的相关文章

Linux学习笔记——用户及权限详解

用户及权限详解    用户.组.权限 安全上下文(secure context): 权限: r   w   x  文件: r:可读,可以使用类似cat等命令查看文件内容: w:可写,可以编辑或删除此文件: X:可执行,exacutable,可以命令提示符下当作命令提交给内核运行:  目录: r:可以对此目录执行ls以列出内部的所有文件: w:可以在此目录创建文件: x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息: rwx: r--:只读 r-x:读和执行 ---:无权限

Linux学习笔记——用户、组管理命令及常用选项

用户管理命令: useradd  userdel usermod passwd  id finger chsh  chfn chmod chown  su 组管理命令: groupadd groupdel groupmod gpasswd   chgrp 用户类型分为:用户u:owner.组g:group.其他o:other   三种类型 文件权限包含:r  w  x  执行权限 文件与目录之间关于rwx 权限的区别 : 文件: r :可读  ,可以使用cat 等命令查看 w : 可写  ,可以

linux学习笔记二-----文件权限管理

一.分析文件权限(ln -s 文件名 快捷方式名 用来创建文件的快捷方式,下方ll查看信息时会在第一个字符处显示l) [[email protected] ~]$ ll total 4 drwxrwxr-x. 2 hjp hjp 4096 Jan 6 00:16 t drwxrwxr-x. 2 hjp hjp 6 Jan 5 20:44 testdir [[email protected] ~]$ 以drwxrwxr-x. 2 hjp hjp 4096 Jan 6 00:16 t为例1.d:表示

Linux学习8---(用户和用户组管理)

1.用户和用户组     用户和用户组概念        用户:使用操作系统的人(Linux支持多个用户在同一时间登陆同一个操作系统)        用户组:具有相同权限的一组用户(Linux系统中可以存在多个用户组)     相关的配置文件        /etc/group:储存当前系统中所有用户组信息            Group:        x        :    123        :    abx,def,xyz            组名称:    组密码占位符:  

Linux中的用户及权限管理

用户及权限管理 Linux具有Muliti-task(多任务)Muliti-Users(多用户)的环境. 用户:为了保护所有使用计算机者的权益不受到损害,所以要实现资源的使用隔离机制,为了实现资源的使用隔离机制,就要标识每一个使用者,而这每一个使用者就是用户. 用户ID:每一个使用者的唯一标识,计算机用来识别使用者. 用户密码:用户的认证手段.Authenticationg(认证),Authorization(授权),Auditiong(审计) 3A 用户类别:分为管理员和普通用户,普通用户又分

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

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

Linux中的用户和权限管理

Linux是多用户,多任务操作系统:多用户是指多个用户可以同时使用系统资源,而多任务指同时运行多个进程. 用户是能够获取系统资源的权限的集合,Linux通过用户实现资源分隔. 用户组是具有相同特征用户的逻辑集合,是用户的容器. 1.用户: (1)用户类别 管理员:root 普通用户: 系统用户:仅仅用于用于启动服务进程. 登录用户:用于使用者交互使用,是系统资源的使用者 (2)用户在操作系统中用UID来标识: UID是16bits的二进制数字,如此范围为:0-65535.Linux 系统对用户U

Linux自学笔记——用户和组管理

资源分派: Authentication:认证 Authorization:授权 Accouting:审计 Audition token,identity(username/password) linux用户:username/UID 管理员:root,0 普通用户:1-65535 系统用户:1-499,1-999 对守护进程获取资源进行权限分配: 登录用户:500+,1000+ 交互式登录: Linux组:groupname/GID 管理员组:root,0 普通组: 系统组:1-499, 1-

linux ftp 添加用户及权限管理

Linux下创建用户是很easy的事情了,只不过不经常去做这些操作,时间久了就容易忘记,顺便配置一下FTP.声明:使用Linux版本release 5.6,并以超级管理员root身份运行. 1.创建用户,并指定分组和主目录 useradd -d /home/lch -g root lch 还可以增加其他参数,比如指定用户使用shell等,具体的google一下 2.设定密码 passwd lch 3.查看.改变.添加用户分组 [[email protected] ~]# groups lch l

Linux学习之路—3.权限管理

重新挂载文件系统使修改生效,也可以重启系统. 使用命令开启acl权限:mount -o remount ,acl 分区目录 1. /etc/fstab 自动挂载配置文件 2.查询acl权限是否启用(默认都启用了) -------------------------------------------------------------------------------------------------------------------- 3.查看ACL命令:getfacl 文件名 4.设定