linux的权限代码,linux权限管理(⽰例代码)
⽤户的权限管理:
普通权限:
特殊权限:
⽂件的特殊属性:
FACL:
普通权限:
进程安全上下⽂:
1.判断进程的所有者是否为想要操作的⽂件属组,如果是,就按照属主的权限进⾏授权,如果不是,就转到第2条
2.判断进程的所有者是否为想要操作的⽂件的属组中的成员,如果是就按照属组的权限进⾏授权,如果不是  转到第3条
3.按照其他⽤户的权限进⾏授权
权限的构成:
MODE(permission):使⽤权
R(readable):可读
W(writable):可写
X(executable):可执⾏
⽬录:
R:可以使⽤ls命令获得其中所有⽂件名的列表,ls  -l命令可以获取⽬录中⽂件的详细的属性信息,也不能使⽤cd命令进⼊其中,也不能在路径中引⽤该⽬录
W:可以修改此⽬录中的⽂件名或⽂件名列表,即:可以在此⽬录中创建,修改或删除⽂件名。
X:可以使⽤ls  -l命令来获取其中的⽂件的详细属性信息,也可以在路径中引⽤该⽬录,也可以使⽤cd命令来进⼊其中,
linux创建新用户和密码
注意: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:change  file  mode  bits
chmod [OPTION]... MODE[,MODE]...
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=rw,g=r,o=r file
Chmod ug-x file
Chmod +x file  默认的为a添加执⾏权限
Chmod +w file  默认的为属组添加写权限
注意:⽂件的执⾏权限:linux的⽂件系统来说,⾮常重要的安全的表⽰,因为⽂件⼀旦⽂件具备的执⾏权限,意味着该⽂件可以被发起执⾏为进程,所以默认情况下,⽂件都不具备执⾏权限。
chmod [OPTION]...
注意:如果使⽤⼋进制数字标识法,则每次必须给⾜所有的权限位,如果给的权限位不完整,⽂件系统会⾃动补⾜,将给定的权限放置在右侧,左侧使⽤0来补,
chmod [OPTION]... --reference=
Chmod  --reference=/PATH/TO/SMEFILE  DES_FILE
列⼦:chmod  --reference=a  b
选项:
-R,--recursive:将⽬标⽬录中的⽂件及⼦⽬录中的⽂件统⼀的设置为指定的权限标识,
OWNERSHIP:所有权
属组:资源掌控的某个特定⽤户:group,g
属主:资源掌控的某些特定⽤户:owner(user)
其他⽤户:未曾掌控资源的那些⽤户:other,o
全部⽤户:all,a
Chown:可以修改⽂件的属组和属主
change file owner and group
chown [OPTION]... [OWNER][:[GROUP]]
Chown  OWNER  FILE    //只修改属组
Chown  :GROUP  FILE    //只修改属主
Chown  OWNER:  FILE    //将⽬标⽂件的属主改为OWNER,同时将属组修改为OWNER的基本组。Chown  OWNER:GROUP  FILE  //将⽬标⽂件的属组和属主组修改为OWNER和GROUP
chown [OPTION]... --reference=
-R,--recursive:将⽬标⽬录中的⽂件及⼦⽬录中的⽂件统⼀的设置为指定的所有权,
注意:修改OWNERSHIP操作只有超级⽤户(root)可以完成,普通⽤户不可以完成
Chgrp:只能修改⽂件的属组
chgrp - change group ownership
chgrp [OPTION]...
chgrp [OPTION]... --reference=
Install命令:
安装:复制⽂件;为⽂件赋予执⾏权限
copy files and set attributes
单源复制:
install [OPTION]... [-T] SOURCE DEST
多源复制:
install [OPTION]... DIRECTORY
install [OPTION]... -t
创建⽬录:
install [OPTION]... -
常⽤选线:
-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.XXXXXXX(X最少3个,多了不限)
特殊权限:
SUID,SGID,STICKY
默认情况下,⽤户发起执⾏⼀个进程,该进程的属主是其发起者,也就是说,该进程是以其发起者的⾝份在运⾏,
SUID:功能作⽤,⽤户发起执⾏⼀个进程时,该程序⽂件如果拥有SUID权限的话,那么此进程发起的进程其属主为该程序⽂件的属主,⽽不是其发起者,
SUID权限所显⽰的位置,⽂件的属主权限中的执⾏权限位,如果属主本来就有执⾏权限,显⽰为s(⼩写),否则显⽰为S(⼤写)
管理⽂件的SUID权限:chmod  u+(U+或者U-)s 
SGID:功能作⽤:如果某个⽬录对于⼀些⽤户有写权限并且设置了SGID权限时,则所有对此⽬录有写权限的⽤户在创建新的⽂件或⽬录以后,新⽂件的属组不再是创建⽤户的基本组,⽽是继承了该⽬录的属组
SGID权限显⽰的位置,⽂件的属组权限中的执⾏权限位,如果属组本来就执⾏权限,显⽰为s(⼩写)否则显⽰为S(⼤写)
STICKY(粘滞位):如果某个⽬录中,有超过⼀个⽤户可以有写权限,则多个⽤户都可以在该⽬录中随意创建,修改和删除⽂件名,
管理⽂件的SGID权限:chmod  g+(g+或者g-)s 
STICKY:功能作⽤:如果为上述类似的⽬录设置了STICKY,则每个⽤户仍旧能够创建和修改⽂件名,但每个⽤户只能删除那些属主为其⾃⾝的⽂件名,
STICKY权限的显⽰位置:在⽂件权限的其他⽤户的执⾏权限位,如果原来就有执⾏权限,则显⽰为t(⼩写)否则显⽰为T(⼤写)
管理⽂件的STICKY权限:chmod  o+(o+或者o-)t 
---  000  0
--t  001  1
-s-  002  2
-st  003  3
s--  004  4
s-t  005  5
Ss-  006  6
Sst-  007  7
特殊权限的另⼀种修改⽅式:
将特殊权限对应的⼋进制数字放置于普通权限⼋进制数字的前⾯即可
例如:想给某个⽬录加上粘滞位
Chmod  1755 
Umask(权限遮罩码):在创建⽂件或⽬录时默认的权限⽣成标准
Root:0022
0:不考虑特殊权限位
0:对于新创建的⽂件或⽬录,不遮挡属主的任何权限,遮住了属组的写权限和其他⽤户的写权限
[[email protected] 桌⾯]# mkdir test --> r
[[email protected] 桌⾯]# --> rw-r--r--
有争议的:不要使⽤减法去做
⽂件的默认权限是:666 - umask
⽬录的默认权限时:777 - umask
理解遮罩码:
将遮罩码的值变为⼆进制,凡是有1的位置,其权限在创建⽂件时,就不设置:
默认情况下,⽂件的遮罩码已经有了⼀个0111,在此基础之上再次应⽤umask来遮罩权限
⽂件的特殊属性:
查看⽂件的特殊属性:
Lsattr:lsattr - list file attributes on a Linux second extended file system
⽤法:lsattr [ -RVadv ] [   ]
修改设置⽂件的特殊属性:
Chattr:chattr - change file attributes on a Linux file system
⽤法:chattr [ -RVf ] [ -v version ] [ mode ]
[mode]:格式,会使⽤+ - =的⽅式来设置
整个chattr命令最关键最核⼼的设置就是[mode]部分
[aAcCdDeijsStTu]都是所需要的属性
+:在原有属性设定的基础上,添加新的属性
-:从原有属性设置中移除指定的属性
=:不考虑原有的属性设置,直接将⽂件的属性更新为指定的属性内容
a:append,设置这个属性的⽂件,其内容不能被更改和删除,只能以追加的⽅式向⽂件中写数据,多数的服务器⽇志类⽂件会设置为此属性
A:atime,⽂件的访问时间戳,IO瓶颈,设置A属性,可以使得⽂件在被访问时不更改⽂件的访问时间戳,从⽽可以有效的防⽌IO瓶颈的发⽣
c:设置⽂件是否⾃动压缩后再⾏存储
C:设置⽂件是否开启“写时复制”属性
d:设置⽂件在使⽤dump进⾏备份的时候,不会称为备份⽬标
D:设置⽂件在⽂件系统中的异步写操作
i:设置⽂件不能被删除,修改,设定链接关系
s:设置⽂件的保密性删除,⼀旦设置s属性的⽂件被删除,其对应存储设备中的使⽤空间会被⼀并收回

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。