文件权限
1.文件属性的查看
ls -l filename
-|rw-r--r--.|
1| root| root| 46 |
Oct 1 05:
03 |filename
— ————————— — ———— ———— —— ———————————— ————————
1 2 3 4 5 6 7 8
1.”-“:文件类型
-
d
c
s
p
b
l
2.”rw-r–r–”:文件读写权限
-----
3.”1”:
对文件:文件内容被系统记录的次数 对目录:目录中文件属性的字节数
4.”root”:文件所有人
5.”root”:文件所有组
6.”46”:文件内容的大小
7.”Oct 1 05:03”:文件最后一次被修改的时间
8.”filename”:文件名字
2.文件所有人所有组的管理
chown username file|dir
chown username:groupname file|dir
chown -R username dir
chgrp -R groupname dir
监控命令
watch
-n 1 ls
-lR /mnt
3.文件普通权限
rw-|r--|r--
u g o
u:文件所有人对文件可以读写
g:文件组成员对文件可读
o:其他人对文件可读
u优先匹配,g次优先,o当u,g不匹配时匹配
对文件:可以查看文件中的字符
对目录:可以查看目录中文件的信息
对文件:可以更改文件内字符
对目录:可以在目录中添加删除文件
对文件:可以运行文件内记录的程序动作
对目录:可以进入目录中
chmod [-R] file|dir
chmod u-
x file1
chmod g+w file1
chmod u-
x,g+w file1
chmod ugo-r file2
chmod ug+
x,o-r file3
下边是一些练习:
5.数字方式修改该文件权限
在linux中
r=4
w=2
x=1
文件权限数字表示方式
rw-|r--|r--
u g o
u=rw-=4+2+0=6
g=r--=4+0+0=4
o=r--=4+0+0=4
所以文件权限表示为644
chmod 修改后权限值 file
chmod 777 file
7=rwx
6=rw-
5=r-x
4=r--
3=-wx
2=-w-
1=--x
0=---
4.系统默认权限的设定
从系统存在角度来说,开放权力越大,系统存在意义越高
从系统安全角度来说,开放权力越少,系统安全性越高
所以系统设定新建文件或目录会去掉一些权限
设定方式
umask
umask 077
永久设定方式:
vim /etc/bashrc
70 if [
$UID -
gt 199 ] && [
"`id -gn`" =
"`id -un`" ]; then
71 umask 002
72 else
73 umask 077
74 fi
vim /etc/profile
59 if [
$UID -
gt 199 ] && [
"`id -gn`" =
"`id -un`" ]; then
60 umask 002
61 else
62 umask 077
63 fi
以上两个文件
umask设定值必须保持一致
source /etc/bashrc
source /etc/profile
让设定立即生效
5.特殊权限
1.suid ##冒险位
只针对二进制可执行文件,
文件内记录的程序产生的进程的所有人为文件所有人
和进程发起人身份无关
设定方式:
chmod u+s file
suid=
4
chmod
4xxx file
默认情况下所有用户都可以使用
ping此命令,但查看
ping命令所在的文件时会发现,这个文件所属的用户和组均属于root,按理说只有root用户可以执行该命令,但事实上会发现所有的用户都可以使用该命令。因为
ping命令所在文件的权限
x的位置有一个s
ping -c
4 www
.doiido.com
如果去掉suid就会发现其他用户就使用不了改命令了
chmod u-s /bin/
ping
su - doiido
$
ping -c
4 www
.doiido.com
ping: icmp open socket: Operation not permitted
2.sgid ##强制位
对文件:只针对二进制可执行文件,
任何人运行二进制文件
程序时程序产生的进程的所有组都是文件的所有组
和程序发起人组的身份无关
对目录:当目录有sgid权限后,目录中新建的所有文件的所有组
都自动归属到目录的所有组之中,和文件建立者所在的组无关
设定方式:
chmod g+s file|
dir
sgid=
2
chmod
2xxx file|
dir
3.sticky ##粘制位
t权限:
只针对与目录,当一个目录上有t权限,那么目录中的文件只能被文件创建者删除
设定方式:
chmod o+t direcotry
t=
1
chmod 1777 direcotry
end
转载请注明原文地址: https://ju.6miu.com/read-664774.html