我是靠谱客的博主 成就大叔,最近开发中收集的这篇文章主要介绍linux文件权限学习小结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参考:《linux鸟哥私房菜》


Linux一般将档案可存取的身份分为三个类别,分别是 owner/group/others,三种身份各有

read/write/execute 等权限。


第一个字符代表这个档案的种类

[ d ]则是目录。就是文件夹

[ - ]则是档案。普通创建的文件;

[ l ]则表示为连结档(link file);

[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);

[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

权限有9位标识,前三个是拥有者权限,中间三个是组权限,最后三个是其它权限。每三位看作二进制的三位,三位最多表示0-7八个数字。八个数字对应不同的权限组合。第一位表示数字大小为4,读权限。第二位表示数字大小为2,写权限。第三位表示数字1,执行权限。文件分成3个拥有者权限的目的,就如同个人,家庭和其他人的关系。家庭可以共享一些资源,个人也会有一些私人空间。rwx权限对于于对文件具有的操作类型。文件夹是没有执行的含义的,x对于文件夹来说是能否进入的权限。

连接数表示有多少档名连结到此节点(i-node):

每个档案都会将他的权限属性记录到文件系统的 i-node中,我们使用的目录树却是使用文件名来记录,因此每个档名就会连结到一个i-node,这个属怅记录有多少不同的档名连结到相同的一个 i-node 号码。


常用的权限修改命令:

chgrp :改变档案所属群组

chown :改变档案拥有者

chmod :改变档案的权限, SUID, SGID,SBIT 等等的特怅

命令 用户名 文件名

chgrp user1 file1

chown user1 file1

我们还可以使用加:的方式,一次性修改它的属主和组。

chown user1:user1 file

chmod按照数字修改权限

chmod 777 file----rwxrwxrwx

 

档案预设权限:umask--默认文件权限

我们可以输入umask,显示的是0022.先不管第一位。

对于文档而言,使用666-后三位得到文档的权限

对于目录而言,使用777-后三位得到文件的权限

如果umask改成了003的话,文档的是666-002=664,注意文档不考虑1(x)

目录依然是777-003=774的权限。

 

档案特殊权限: SUID,SGID, SBIT

ls -l /usr/bin/passwd

ls -l /etc/shadow

passwd的权限-rwsr-xr-x 1 root root

shadow的权限----------. 1 root root

我们可以修改自己的密码!但是如果你用user1登陆的话,想修改密码,写入文件shadow中去,没有w权限是办不到的。但是user1对passwd指令有x的权限,拥有执行权限的用户,就上升到了拥有者root的权限,这就是s的作用。对二迚制程序(SUID 仅可用在binary program 上),执行者将具有该程序拥有者 (owner) 的权限。

SGID与SUID类似,只是SGID是获取属组的权限,而且对目录文档都有效。

SBIT 目前只对目录有效,对文档是无效的。

如果others对目录有w的权限,就可以删除掉目录的东西,加上sbit后,则只可以删除自己建立的文档和目录。

SUID 4

SGID 2

SBIT 1

在权限数字前设置,最大是7最小是0

例如,利用chmod4700 file来设置权限。但是如果文档本身没有执行权限,则s会变成S,代表空。


ACL

有时候我们会有这样的需求。对其他用户,让某一个用户具有特殊的权限,这种授权,仅仅使用前面的是不可能做到的。因此,我们引入了acl 

acl的命令格式为-------设置------setacl -m u:使用者:权限 file

                               -------查看------getacl file

-x 删除acl

-m设定档案acl

-b移除所有

-R递归设定acl

最后

以上就是成就大叔为你收集整理的linux文件权限学习小结的全部内容,希望文章能够帮你解决linux文件权限学习小结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部