###############文件的权限#################
######1文件权限存在的意义####
系统最底层安全设定的方法之一
保证文件可以被可用的用户作相应操作
####2.文件权限的查看###
ls -l file
ls -ld file
ll file
ll -d file
ll kkkk
ll -d kkkk
ls -ld kkkk
ls --l kkkk
可以看出在文件中加不加“ -d”显示的是一样的。而在目录中当加-d时会显示出文件权限的读取的所有内容
而不加则显示的是目录的 目标和大小
####3.文件权限的读取###
- |rw-rw-r--| 1 |kisok| |kisok| 1 Jul 21 09;18 | file
【1】 【2】 【3】 【4】 【5】 【6】 【7】 【8】
【1】文件的类型
- ###空文件。或者文本
d ## 目录
l ## 软链接
s ##scoket 套接字
b ##block 块设备
c ##支付设备
【2】
文件的权限
rw- rw- r--
1 2 3
1【u】文件拥有着能对文件能做什么操作
2【g】文件所有足能对文件做什么操作
3【o】其他人对文件能做什么操作
【3】
对文件;文件应链接个数(文件内容被记录的次数)
对目录;子目录的个数
【4】
文件所有人
【5】
文件所有组
【6】
对于文件;文件的大小
对于目录;目录中子文件元数据(matedate)大小
【7】
文件内容被修改的时间
【8】
文件的名称
###4.如何改变文件的所有人和所有组##
chown|chgrp
chown username file |dir 改变文件或目录的所有人
chown user.group file| dir 改变文件所有人和所有组
chown -R user.group dir 改变目录所有人和所有组
chgrp group file |dir 改变文件的所有组
chgrp -R group dir 改变目录的所有组
注意:修改目录的所有人和所有组必须加 “ -R”
###5.改变文件的权限####
1对权限的理解
r
对文件;是否客人以查看文件中的内容
对目录;是否可以查看目录中有什么子文件或者子目录
w
对文件;是否可以改变文件里记录的字符
对目录;是否可以对目录中子目录或者子文件的内容进行更改
x
对文件;是否可以通过文件名称调用文件内记录的程序
对目录; 是否可以进入目录
2 更改方式
+w 系统默认只给u(所有人用户)加,其他用户不加(g,o)
chmod <u|g|o|> <+|-|=> <r|w|x> file |dir
用户 需要赋予或删减的 权限 操作 对象
chmod u+x 给U 用户加上 x 的权限
chmod g-r 给g 用户减去r的权限
chmod ug-r 给u和g用户减去 r 的权限
chmod u-r.g+x 给 u 用户减去r的权限 给g用户加上 x的权限
chmod -r 所有用户都减去 r的权限
chmod u=r-x 给u其他用户赋予x和r的权限不给w的权限(对于o和g加X权限不实用。只能对于u进行)
由图可以得到当赋予文件权限时。只赋予“r,x“权限而不赋予‘w’权限时会发现文件只会存在‘r权限
‘x‘不会存在,而当赋予‘r,w'权限时 则会有 'rw'权限 ,当赋予文件'w'权限时 而不给 'r,x'权限时 会发现
文件权限都赋予不上 ,当赋予文件‘wx'而不给r权限时会发现文件权限都赋予不上。此类赋予文件权限
方式应多加注意。
##关于文件权限的另一种表达方式
rwx
r=2^2=4
w=2
x=1
r-x|r--|--x
chmod 541 file|dir
文件的2进制显示
7=rwx
6=rw-
5=r-x
4=r--
3=-wx
2=-w-
1=--x
0=---
###6 . umask###
umask 系统建立文件时默认保留的权利
umask 077 ## 临时设置系统欲留权限为700
有时我们会去临时去修改一些文件的权限,不想被所有组的人修改时,就可以给umask 077去赋予文件。
临时限制其他用户修改文件,而当需要永久更改时,则需要更改配置文件。
永久更改
vim /etc/profile ##系统配置文件
umask 022 62行为root
umask 002 60行 为普通用户
vim /etc/bashrc ##shll配置文件
source /etc/profile ##让更改生效
source /etc/profile
更改完文件记得要进行‘source /etc/profile'以及'source /etc/bashrc'使文件生效,不然修改就没有意义了
########7.特殊权限###
1 sticky ###粘制位
在使用中由于有很多文件是属于自己的存储文件,所以不能被别人删除,这是我们因该运用 ‘sticky'权限赋予
自己不向别人删除的文件,以保证此文件只能有我们自己进行删除
作用
之针对目录生效,当一个目录有sticky权限时
在这个目录中的文件只能被文件的所有者删除
设定方式
chmod o+t dir 对文件赋予 sticky 权限
chmod 1xxx dir
当我们给文件/pub/赋予 sticky 权限时。我们会发现在tom用户建立的文件file可以被tom删除
而在student用户下不能对 file文件就行删除,由此可见 sticky 权限发挥了作用,使得用户只能
删除自己建立的文件而不能删除别的用户建立的文件,增强的文件的安全性。
2 sgid ####强制位
chmod g+s dir
作用
对文件;
只针对与二进制可执行文件
当文件上有sgid时任何人执行此文件产生的进程都属于文件的组
如图为给文件/bin/watch加上sgid权限
如图可见此为加sgid与不加sgid的对比发现加了后不论是谁建立的文件都属于student组
对目录;
当目录上有sgid权限时任何人在次目录建立的文件都属于目录的所有人
如图 /hi下的file1为没加sgid权限时所建立的文件。当加上sgid权限建立的文件为/hi/file2
可见file1的组为tom而file2的组为student,
3.suid #### 冒险位
作用
只针对与2精制可执行文件当文件有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人
设定方式
chomd u+s file
chomd 4xxx file
如图所示为给/bin/rm文件加上suid权限,设置文件的用户级别为tom
之后在root用户下进行对于rm命令的运用会发现系统报错,表示命令不能被执行
##8.权限列表##
1。ACL列表的查看
作用
让特定的用户对于特定的文件拥有特定权限
2
-rw-rwxr--+ 1 root root
acl开启
getfacl dile 查看acl开启的文件的权限
#file;file ## 文件名称
#owner ;root 文件拥有着
#group;root 文件拥有组
3 acl列表的管理
setfacl -m u;username ;rwx file ## 设定username对file赋予的rwx权限
setfacl -m g :group :rwx file ##设定group对file赋予的rwx权限
setfacl -x u : username; file ## 从 acl列表中删除username
setfacl -b file ##关闭file上的acl列表
4.mask值
从权限列表中mask表示能生效的权力值
当用chmod减小开启acl的文件权限时mask值会发生改变
chmod g-w westos 如何要恢复mask值
setfacl -m m: rw westos
5 acl默认权限设定
acl默认权限设定
acl权限只针对设定完成之后性建立的文件或目录生效,而已经从在的文件不会继承默认权限
setfacl -m d:u :student:rwx/mnt/westos
总结:用户的权限对于用户非常重要,权限的赋予必须要做到非常谨慎,避免一些权限的赋予导致自己信息
及文件的丢失,权限赋予需谨慎,一步错则步步错。