10-1、Linux 组基本介绍
在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件有所有者、所在组、其它组的概念。
10-2、文件/目录 所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
10-2-1、查看文件的所有者
1) 指令:ls -ahl
2) 应用案例-创建一个组 police,再创建一个用户 tom,将 tom 放在 police 组,然后使用 tom 来创建一个文件 ok.txt
groupadd police
useradd -g police tom
passwd tom
su tom
touch.txt
10-2-2、修改文件所有者
1) 指令:chown 用户名 文件名
2) 应用案例-使用 root 创建一个文件 apple.txt,然后将其所有者修改成 tom
chown tom apple.txt
10-3、组的创建
1) 指令:groupadd 组 名
2) 应用案例-创建一个组 monster,创建一个用户 fox,并放入到 monster 组中
groupadd monster
useradd -g monster fox
id fox
10-4、文件/目录 所在组
当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组
10-4-1、查看文件/目录所在组
1) 指令:ls –ahl
10-4-2、修改文件所在的组
1) 指令:chgrp 组名 文件名
2) 应用案例-使用 root 用户创建文件 orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 police 组
chgrp orange.txt police
10-5、其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
10-6、改变用户所在组
用 root 的管理权限可以改变某个用户所在的组
1) 指令
usermod –g 组名 用户名
usermod –d 目录名 用户名 改变该用户登陆的初始目录
2) 应用案例-将 tom 修改到 bandit 组
usermod -g bandit tom
10-7、权限的基本介绍
ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0-9 位说明:
1) 第 0 位确定文件类型(d, - , l , c , b)
2) 第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限 --- User
3) 第 4-6 位确定所属组(同用户组的)拥有该文件的权限 --- Group
4) 第 7-9 位确定其他用户拥有该文件的权限 --- Other
10-8、rwx 权限详解
10-8-1、rwx 作用到文件
1) [r]代表可读(read): 可以读取,查看
2) [w]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
3) [x]代表可执行(execute): 可以被执行
10-8-2、rwx 作用到目录
1) [r]代表可读(read): 可以读取,ls 查看目录内容
2) [w]代表可写(write): 可以修改,目录内创建+删除+重命名目录
3) [x]代表可执行(execute): 可以进入该目录
10-9、文件及目录权限实际案例
ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
第一个字符代表文件类型:文件(-),目录(d),链接(l)
其余字符每 3 个一组(rwx) 读(r) 写(w) 执行(x)
第一组 rwx:文件拥有者的权限是读、写和执行
第二组 rw-:与文件拥有者同一组的用户的权限是读、写但不能执行
第三组 r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行可用数字表示为: r=4,w=2,x=1 因此 rwx=4+2+1=7
1:硬连接数/目录/子目录数
root:用户
root:组
1213:文件大小(字节),如果是文件夹,显示 4096 字节
Feb 2 09:39:最后修改日期
abc:文件名
10-10、修改权限-chmod
通过 chmod 指令,可以修改文件或者目录的权限
1) 第一种方式:+ 、-、= 变更权限
hmod u=rwx,g=rx,o=x 文件目录名
chmod o+w 文件目录名
chmod a-x 文件目录名
2) 第二种方式:通过数字变更权
规则:r=4 w=2 x=1,rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名
相当于:chmod 751 文件目录名
10-11、修改文件所有者-chown
1) 改变文件的所有者
chown newowner file
2) 改变文件的所有者和所有组
chown newowner:newgroup file
-R 如果是目录,则使其下所有子文件或目录递归生效
10-12、修改文件所在组-chgrp
1) 改变文件的所有组
chgrp newgroup file
10-13、最佳实践-警察和土匪游戏:略