导图社区 《Linux命令行与shell脚本编程大全》-第7章-理解Linux文件权限
这是一篇关于理解Linux文件权限的思维导图,主要内容包括:共享文件,改变安全性设置,理解文件权限,使用Linux组,Linux的安全性。
说明,元素、元素的属性、属性的值使用文字的颜色进行区分。黑色文字表示元素的名称、元素节点下的属性用红色文字表示、属性下的蓝色节点表示该属性可取的值。很精简,也很抽象,理解了就可以查的很快。
这是一篇关于docker的思维导图,主要内容包括:volume,plugin,network,container,image。
这是一篇关于Python基础的思维导图,主要内容包括:11-测试代码,10-文件和异常,9-类,8-函数,7-用户输入和while,6-字典,5-if语句,4-操作列表,3-列表简介,2-变量及数据类型,1-起步。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
理解Linux文件权限
Linux的安全性
Linux通过创建用户时分配的User ID来跟踪的,每个用户的UID唯一. 登陆时使用登录名而不是UID.
/etc/passwd文件
将用户的登录名匹配到UID.
root是Linux的系统管理员,UID是0
Linux会为不同的功能创建不同的账户
这些账户不是正真的用户
这些账户被称为系统账户
一般UID值小于500
这是出于安全考虑
即使攻陷了其中某个账户也无法访问整个系统
曾经所有服务使用root登录,出现过被攻陷的问题
文件中的每条记录包括
1.登录用户名
2.用户密码
在文件中已经用x进行替换
现在加密后的密码实际存放在/etc/shadow中
3.用户账户的UID
4.用户账户的GID
5.备注
6.用户HOME目录设置
7.用户的默认shell
/etc/shadow文件
只有root可以访问
1.与/etc/passwd对应的用登录名
2.加密后的密码
3.自上次修改密码后过去的天数
4.多少天后才能更改密码
5.多少天后必须更改密码
6.密码过期提前多少天提醒用户更改密码
7.密码过期后多少天禁用用户账户
8.用户账户被禁用的日期
9.预留字段,给未来更新使用
添加新用户
useradd -D:查看新用户的默认值
更改默认参数
useradd -b default_home:更改默认的创建用户HOME目录的位置
useradd -e expiration_date:更改默认的新用户过期日期
useradd -f inactive:更改新用户从密码过期到账户被禁用的天数
useradd -g
useradd -s
useradd的命令行参数
-c
-d
-e
-f
-m:为新用户创建HOME目录
删除用户
userdel
默认情况下userdel指挥删除/etc/passwd中的信息
userdel -r:删除HOME目录及邮件目录
谨慎使用
修改用户
usermod
-l:修改登录名
-L:锁定账户
-p:修改账户密码
-U:解除锁定
passwd和chpasswd
passwd:修改当前用户自己的密码
chpasswd:批量改密码
可以自动读取登录名和密码对列表
userid:passwd
用冒号分隔用户名和密码
可以用重定向命令输入文本文件
chsh,chdn,chage
chsh:快速修改默认用户登录shell
chfn:使用Unix的finger命令的信息存进备注
chage:管理账户有效期
YYYY-MM-DD
自1970-01-01起到该日期的天数
使用Linux组
对系统中的多个用户共享一组共用的权限。 方便共享资源。
/etc/group文件
该文件包含系统上用到的每个组的信息
GID
低于500的GID分配给系统
高于500的一般给用户
字段
1.组名
2.组密码
允许非组内的其他成员成为临时组员
此功能不普遍使用
3.GID
4.属于该组的用户列表
创建新组
1.groupadd:创建新组
2.usermod -g:指定用户组
更改了用户的组后,要先登出再登陆才能生效
修改组
groupmod
理解文件权限
使用文件权限符
建议结合书本上的例子(p135)作理解
基本知识
文件权限字段由10个字符组成
如:-rw-rw-r--
如:drwxrwxr-x
这10个字符可以从左往右分为4个部分
第一部分是字段的第1位,表示对象的类型
第二部分是字段中的第2位到第4位,表示文件属主的权限
第三部分是字段中的第5位到第7位,表示属组成员的权限
第四部分是字段中的第8位到第10位,表示其他用户权限
对象的类型
-
文件
d
目录
l
链接
c
字符型设备
b
块设备
n
网络设备
文件的权限
r
可读
w
可写
x
可执行
无权限
默认文件权限
linux的文件权限码使用8进制表示的
将文件权限符有权限的位置1,无权限的位置0,得到的二进制数换算为8进制
例如:rw-r--r-- -> 110100100 -> 644
二进制->八进制可用以下位表快速换算 三位二进制对应一位八进制 000 111 000 010 421 421 421 421 把第二行各位对应二进制位是1的,每三位分组相加 (0+0+0) (4+2+1) (0+0+0) (0+2+0) 得八进制0702,即702
umask设置文件和目录的默认权限
由4位组成
第一位代表了一项特别的安全特性,叫作粘着位
其余三位对应于文件的三组权限的掩码
它会屏蔽掉不想授予的权限
umask [权限码的掩码]:修改默认的文件权限
改变安全性设置
改变权限
符号模式
[mode]
[ugoa...][+-=][rwxXstugo...]
例如[mode]可以是"ugo+rwx"
[ugoa...]
u:用户
g:组
o:其他
a:代表上述所有
[+-=]
+:增加权限
-:移除权限
=:将权限设置为等号后面的值
[rwxXstugo...]
rwx:读写执
X:如果对象是目录或已有执行权限,赋予执行权限
s:运行时重设UID或GID
t:保留文件或目录
u:设置属主权限
g:设置属组权限
o:设置其他用户权限
八进制模式
chmod [num] [file]
如:chmod 760 newfile
chmod [options] [mode] [file]:改变文件权限
[mode]参数可以使用8进制或者符号模式进行安全性设置
改变所属关系
只有root用户可以改变文件属主。 任何用户都可以改变文件属组,前提是该用户必须是原属组和目标属组的成员。
chown [options] [owner].[group] [filename]
改变文件的属主和属组
例如:chown dan.shared newfile改变属主和属组
例如:chown .shared newfile改变属组
例如:chown dan. newfile改变属组和属主
一个条目改变两个属性
如此使用的前提:Linux系统采用与登录名相匹配的组名
chown [username|UID] [filename]
改变文件属主
例如:chown dan newfile
chgrp [group] [filename]
改变文件或目录的属组
账号必须是该文件的属主,而且是新组的成员
共享文件
Linux为文件和目录提供的3个额外信息位
SUID
文件被用户使用时,程序会以文件属主的权限运行
SGID
对文件来说,程序会以数组的权限运行
对目录来说,目录中创建的新文件会以目录的默认属组作为默认属组
粘着位
进程结束后文件还驻留在进程中
SGID对文件共享很重要
在一个文件夹下创建的新文件都属于该目录的属组,这个组也就成了每个用户的属组
可以通过chmod命令设置
Sticky Bit的设置
chmod
chmod [4_bit_octal] [filename]
chmod [uoga...]+[s] [filename]
umask