权限管理
权限分类:
普通权限:最常见的权限类型,linux的文件、目录都有该种权限
默认权限:在创建文件时,文件、目录默认具有哪些权限
ACL单用户权限:针对单个用户,设置对应权限
特殊权限:针对实行文件、目录设置的特殊的权限
隐藏权限:主要用于对文件的保护
linux系统的文件类型:
- 一般文件 存放数据
d 目录文件 存放其他文件
l 链接文件 类似于windows系统中的快捷方式
b 区块设备文件 可以随机读取的设备文件(硬盘)
c 字符设备文件 需要顺序读取(键盘)
s 管道文件 用于进程间的通信
p 管道文件 用于进程间的通信
计算机是用来处理和存储数据的,数据存放的位置不同,叫法不同。数据存放在硬盘中,称为文件,数据存放在内存中,称为进程。
权限位
rw- r-- r--
属主(所有者) 属组(所有组) 其他用户
文件 目录
r 读取 代表是否可以查看文件内容 代表我们可以查看目录中的内容
w 写入 代表是否可以修改文件内容 代表我们是否可以在目录中新建、删除文件
x 执行 如果是个脚本文件,我们可以通过./来执行 代表我们是否可以进入该目录中
linux体统查看权限的顺序:先看所有者,在看所有组,一般所有者的权限,要大于所有组,所有组大于其他用户的权限。
服务器中不会只设置执行权限
权限位的含义:
所有者 u user 用于限制文件或目录创建者
所有组 g group 用于限制文件或目录所属成员
其他用户 o other 用于限制既不是所有者也不是所有组用户
所有用户 a all
修改的权限方式:chmod
chmod u+r filename 给所有者增加读取权限
chmod g-w filename 给所有组去电写入权限
chomd o=x filename 给其他用户设置执行权限
chomd ug+w filename
chomd u+r,g-w filename
chomd a= filename 权限为0
chomd a=- filename
chomd +r filename
chomd = filename
用数字表示:
r =4 0:无权限 1:x 2:w 3:wx
w =2 4:r 5:rx 6:rw 7:rwx
x =1
chomd 777
属主(所有者)修改
chown USERNAME filename 设置为username 为属主
chown username. filename 将filename的所有者、所有组都设置成username
chown USERNAEM.groupname filenaem 将所有主修改成USERNAME 所有组改成groupname
chown -R username. filename 修改目录及目录下所有的所有主
chown .groupname filename 修改所有组
所有组修改
chgrp GROUPNAME FILENAME 修改所有组
注意:
点在名称前,修改的是组。
点在后面,修改的是所有。
点在中间,前面是所有者,后面是所有组
默认权限:
umask查看umask值,用于控制新建文件、目录默认权限,一般应用于网站服务器
在创建文件时,系统默认模式为666
在创建目录时,系统默认模式为777
umask :默认权限位
linux系统的安全机制,不允许新建的文件具备执行权限,所有因为umask设置的问题,导致新建文件具备执行权限,系统会自动字该权限位加一
acl 单用户权限
setfacl -m u:USERNAME:rx filename 设置单用户对file的权限
setfacl -m g:GROUPANME:- filename 设置组队file的权限
getfacl filename 查看acl权限
setfacl -x u:USERNAME filename 删除acl权限
setfacl -b filename 关闭acl权限
隐藏权限:
chattr 隐藏权限
chattr [+/-/=][a/i] filename
+ 增加
- 去掉
= 设置
a 不可删除、不可修改、不可移动、可以追加
i 不可删除、不可修改、不可移动、不可追加
注:仅root可用
lsattr filenmae 查看隐藏权限
特殊权限:
suid:当一个设置了suid位的可执行文件被执行时,该文件将以所有者的身份来运行,也就是说,无论谁执行这文件,他都拥有文件所有者的权限,并且可以任意存取文件拥有者可以使用的全部系统资源。例如该文件所有者为root,那么执行人就拥有超级用户权限
sgid:当一个设置了sgid位的可执行文件被执行时,该文件将具有所有组的权限,任意存取整个组所能使用的系统资源。如果一个目录设置了sgid,则所有被复制到该目录下的文件,该文件所有组会变成和目录一样(补充:可以在复制时用-p参数,保留文件属性)
sbit:对一个文件设置了stickybit后,就算其他用户有写权限,还是不能进行删除、移动,只有文件的所有者才能删除。对一个目录设置了sbit后,存放在该目录的文件 仅允许所有者删除或移动
注:sbit只可对目录设置,对于文件无效
e
权限管理权限分类:普通权限:最常见的权限类型,linux的文件、目录都有该种权限默认权限:在创建文件时,文件、目录默认具有哪些权限ACL单用户权限:针对单个用户,设置对应权限特殊权限:针对实行文件、目录设置的特殊的权限隐藏权限:主要用于对文件的保护
linux系统的文件类型:-一般文件存放数据d目录文件存放其他文件l链接文件类似于windows系统中的快捷方式b区块设备文件可以随机读取的设备文件(硬盘)c字符设备文件需要顺序读取(键盘)s管道文件用于进程间的通信p 管道文件用于进程间的通信
计算机是用来处理和存储数据的数据存放的位置不同,叫法不同数据存放在硬盘中,称为文件数据存放在内存中,称为进程
ls -l详细显示当前目录下的文件ll =ls -lrw- r-- r--权限位属主(所有者)属组(所有组)其他用户文件目录r读取代表是否可以查看文件内容代表我们可以查看目录中的内容w写入代表是否可以修改文件内容代表我们是否可以在目录中新建、删除文件x执行如果是个脚本文件,我们可以通过./来执行代表我们是否可以进入该目录中
linux体统查看权限的顺序:先看所有者,在看所有组,一般所有者的权限,要大于所有组,所有组大于其他用户的权限。服务器中不会只设置执行权限
权限位的含义:所有者uuser用于限制文件或目录创建者所有组ggroup用于限制文件或目录所属成员其他用户oother用于限制既不是所有者也不是所有组用户所有用户aall修改的权限方式:chmod chmod u+r filename给所有者增加读取权限chmod g-w filename给所有组去电写入权限chomd o=x filename给其他用户设置执行权限chomd ug+w filenamechomd u+r,g-w filenamechomd a= filename权限为0chomd a=- filenamechomd +r filenamechomd = filename
r =40:无权限1:x2:w3:wxw =24:r5:rx6:rw7:rwxx =1chomd 777
属主(所有者)修改chown USERNAME filename 设置为username 为属主chown username. filename将filename的所有者、所有组都设置成usernamechown USERNAEM.groupname filenaem将所有主修改成USERNAME 所有组改成groupnamechown -R username. filename修改目录及目录下所有的所有主chown .groupname filename修改所有组
所有组修改chgrp GROUPNAME FILENAME 修改所有组
点在名称前,修改的是组。点在后面,修改的是所有。点在中间,前面是所有者,后面是所有组
默认权限:umask查看umask值,用于控制新建文件、目录默认权限,一般应用于网站服务器在创建文件时,系统默认模式为666在创建目录时,系统默认模式为777 umask :默认权限位linux系统的安全机制,不允许新建的文件具备执行权限,所有因为umask设置的问题,导致新建文件具备执行权限,系统会自动字该权限位加一
acl单用户权限setfacl -m u:USERNAME:rx filename设置单用户对file的权限setfacl -m g:GROUPANME:- filename设置组队file的权限
getfacl filename 查看acl权限setfacl -x u:USERNAME filename 删除acl权限setfacl -b filename关闭acl权限
隐藏权限gechattr 隐藏权限chattr[+/-/=][a/i] filename+增加-去掉=设置a不可删除、不可修改、不可移动、可以追加i不可删除、不可修改、不可移动、不可追加仅root可用
lsattr filenmae查看隐藏权限
特殊权限:suid:当一个设置了suid位的可执行文件被执行时,该文件将以所有者的身份来运行,也就是说,无论谁执行这文件,他都拥有文件所有者的权限,并且可以任意存取文件拥有者可以使用的全部系统资源。例如该文件所有者为root,那么执行人就拥有超级用户权限sgid:当一个设置了sgid位的可执行文件被执行时,该文件将具有所有组的权限,任意存取整个组所能使用的系统资源。如果一个目录设置了sgid,则所有被复制到该目录下的文件,该文件所有组会变成和目录一样(补充:可以在复制时用-p参数,保留文件属性)sbit:对一个文件设置了stickybit后,就算其他用户有写权限,还是不能进行删除、移动,只有文件的所有者才能删除。对一个目录设置了sbit后,存放在该目录的文件 仅允许所有者删除或移动注:sbit只可对目录设置,对于文件无效手动创建用户:/etc/skel 用户添加默认初始家目录文件1、/etc/group2、/etc/passwd3、cp -r /etc/skel /home/xxx3、chowm USERNAME. filename