Linux 用户和文件权限
1.用户和用户组
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念
- 所有者 : 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者
- 所在组 : 某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
- 其它组 : 除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
2.文件权限
使用ls -l
查看文件详细信息
-
前面10个字符确定不同用户能对文件干什么
第一个字符代表文件(-
)、目录(d
),链接(l
)
其余字符每3个一组(rwx
),读(r
)、写(w
)、执行(x
)
第一组rw-
:文件所有者的权限
第二组r--
:与文件所有者同一组的用户的权限
第三组r--
:不与文件所有者同组的其他用户的权限
也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7
-
1
表示连接的文件数 -
s15262
表示用户 -
stu
表示用户所在的组 -
71
表示文件大小(字节) -
2018-06-21 14:56
表示最后修改日期 -
var.sh
表示文件名
(1)改变权限的命令(chmod)
2.pngchmod 755 var.sh:赋予var.sh权限rwxr-xr-x
chmod u=rwx,g=rx,o=rx var.sh:同上u=用户权限,g=组权限,o=不同组其他用户权限
chmod u-x,g+w var.sh:给var.sh去除用户执行的权限,增加组写的权限
chmod a+r var.sh:给所有用户添加读的权限
(2)改变所有者(chown)
chown zhuozenghua var.sh
(3)改变用户所在组(chgrp)
chgrp stu var.sh
3.正确理解文件与目录的可读、可写、可执行权限
1.png对于文件而言:
(1).读权限允许用户标识读取该文件;
(2).写权限允许用户修改该文件;
(3).执行权限允许用户标识执行该文件:
a. 对于一个不可执行的文件来说,拥有执行权限是没有任何意义的;
b. 如果文件是一个程序或者某种类型的脚本时,那么它就是可执行的
像上面的var .sh,即使时用户所有者也是没有执行权限的
对于目录而言:
(1).读权限允许用户标识读取目录中的文件名,只能列举目录中的文件名,不能进入该目录,相应也不能查看目录下各文件的大小;
(2)写权限允许用户标识修改目录(创建、移动、复制、删除);
(3)执行权限允许用户进入该目录