权限管理
1 Linux组的基本介绍
在Linux中的每个用户必须属于一个组,不能独立于组外。
在Linux中每个文件有所有者、所在组、其他组的概念。
1)所有者
2)所在组
3)其他组
4)改变用户所在的组
2 文件/目录的所有者
2.1 查看文件所有者
ls -ahl
2.2 修改文件所有者
chown <用户名> <文件名>
不会改变文件所在组,也不会改变目录包含的文件或子目录所有者
3 文件/目录的所在组
3.1 查看文件所在组
ls -ahl
3.2 修改文件所在组
chgrp <组名> <文件名>
4 修改用户所在组
usermod -g <组名> <用户名> #修改用户所在组
usermod -d <目录名> <用户名> #改变用户登录的初始目录,修改家目录
5 权限的基本介绍
6 文件目录的rwx权限
rwx作用到文件
[ r ] 代表可读(read):可以读取,查看
[ w ] 代表可写(write):可以修改,但是不代表可以删除文件,删除一个文件需要对该文件所在的目录有写权限
[ x ] 代表可执行(execute):可以被执行
rwx作用到目录
[ r ] 代表可读(read):可以读取,查看目录内容
[ w ] 代表可写(write):可以修改,可以在目录内创建、删除文件和目录
[ x ] 代表可执行(execute):可以进入目录
7 文件目录权限详解
ls -l (ll)命令显示的内容如下:
-rwxr-r-- 1 root root 1213 Feb 2 09:39 abc
前10个字符确定不同用户能对文件干什么:
第一个字符代表文件类型:文件(-),目录(d),链接(1)
其余字符每3个一组(rwx): 读(r),写(w),执行(x)
第一组rwx:文件拥有者的权限是读、写和执行
第二组rw-:与文件拥有者同一组的用户的权限是读、写但不能执行
第三组r--:不与文件拥有者同组的其他用户的权限是读不能写和执行
可用数字表示为:r=100=4,w=010=2,x=001=1因此rwx=4+2+1=7=111
接下来的内容含义如下:
1: 文件:硬连接数或目录:子目录数
root: 用户
root: 用户组
1213: 文件大小(字节),如果是文件夹,显示4096字节
Feb2 09:39 : 最后修改日期
abc: 文件名
8 修改文件/目录权限
chmod
1)+、-、= 方式b变更权限
u :所有者; g:所有组; o:其他人; a:所有人
chmod u=rwx,g=rx,o=x <文件/目录名>
chmod o+w <文件/目录名>
chmod a-x <文件/目录名>
2)通过数字变更权限
r=4 w=2 x=1 rwx=4+2+1
也可以理解为用三位二进制表示,有权限用1,无权限用0:
r=100=4,w=010=2,x=001=1 rwx=111 = 7 rw=110=6 ...
chmod 751 <==> chmod u=rwx,g=rx,o=x <==> rwxr-x--x
9 修改文件/目录所有者 —— 子文件
与上一个单纯修改文件所有者不同,这个指令同时修改所有者和所在组;同样不会修改包含文件和子目录所有者。
chown <用户名> <文件> #修改文件所有者(上一个操作)
chown <用户名>:<用户组> <文件> #同时修改文件的所有者和所有组
选项: -R 如果是目录,则递归使其包含文件和子目录都修改
10 修改文件/目录所有组——子文件
修改目录下的所有子文件、子目录
chgrp -R <用户组> <文件/目录>