文章目录
9.Linux组管理和权限管理
9.1.Linux组基本介绍
在Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中每个文件都有所有者、所在组、其他组的概念
所有者
所在组
其它组
改变用户所在组
9.2文件/目录的所有者
一般是文件的创建者,谁创建了该文件,谁就是该文件的所有者
9.2.1.查看的文件所有者
指令
ls -ahl
应用实例
创建一个组police,再创建一个用户tom,然后将tom放入police组中,使用tom来创建一个文件,查看情况如何
9.2.2.修改文件的所有者
指令
chown 用户名 文件名
应用实例
使用root创建一个文件apple.txt,然后将其所有者改为tom
9.3.组的创建
基本指令
groupadd 组名
应用实例
创建一个组monster
创建一个用户fox,将其放到组monster组中
9.4.文件/目录所在组
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
9.4.1.查看文件/目录所在组
基本指令
ls -ahl
应用实例
使用root用户创建文件orange1.txt,看看当前这个文件属于哪个组
9.4.2.修改文件所在组
基本指令
chgrp 组名 文件名
应用实例
使用root用户创建文件orange2.txt,看看当前这个文件属于哪个组,然后将这个文件的所在组修改为police
9.5.其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
9.6.改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组,同样的用root的管理权限可以改变某个用户所在的组
基本语法
usermod -g 组名 用户名
usermod -d 目录名 用户名 改变该用户登录的初始目录
应用实例
创建一个people组,将tom从所在的police组修改到people组
9.7.权限的基本介绍
9.7.1.ls -l显示的内容如下
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0-9位的说明
第0位表示的是文件的类型(d,l,c,b)
第1-3位表示的是文件的所有者拥有该文件的权限 -User
第4-6位表示的是文件所属组拥有该文件的权限 -group
第7-9位确定其他用户拥有该文件的权限 -other
9.8.rwx权限详解
9.8.1.rwx作用到文件
【r】表示【read】:可读取,查看
【w】表示【write】:可修改,但不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限。
【x】表示【execute】:可以执行
9.8.2.rwx作用到目录
【r】表示【read】:可以读取,查看目录内容
【w】表示【write】:可以修改目录中的内容,在目录中创建、删除、重命名目录
【x】表示【execute】:可以进入该目录
9.9.文件及目录权限实际案例
9.9.1.ls -l中显示的内容如下
-rwxrw-r-- 1 root root 1213 Fed 2 09:39 abc
10个字符确定不同用户能对文件做什么
第一个字符代表文件类型:文件【-】,目录【d】,链接【l】
其余字符每3个一组【rwx】
第一组rwx:文件拥有者的权限是读写和执行
第二组rw-:与文件拥有者同一组的用户的权限是读、写,但是不能执行
第三组r–:不与文件拥有者同一组的用户的权限是只读
可用数字表示为:r=4、w=2、x=1、因此rwx = 4+2+1=7
分析完前10个字符后再向后看
字符(串) | 表示 |
---|---|
1 | 在文件中表示硬件链接。 在目录中表示子目录数 |
root | 用户 |
root | 组 |
1213 | 文件大小【字节】。 如果是文件夹,则显示4096字节 |
Fed 2 09:39 | 最后修改日期 |
abc | 文件名 |
9.10.修改权限 -chmod
9.10.1.基本说明
通过chmod指令可以修改文件或目录的权限
9.10.2.第一种方式:+、-、=变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
chmod u=rwx,g=rx,o=x 文件名
chmod o+w 文件目录名
(给其他用户都增加写的权限)
chmod a-x 文件目录名
(给所有用户都减去执行的权限)
9.10.3.案例演示
给abc文件的所有者读写执行的权限,给所在组读执行的权限,给其他组的用户读执行的权限
给abc文件所有者除去执行的权限,增加所在组写的权限
给abc文件的所有用户添加读的权限
9.10.4.第二种方式:通过数字变更权限
r=4 w=2 x=1,rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件目录名
9.10.5.案例演示
将/home/abc文件的权限修改成为rwxr-xr-x
9.11.修改文件所有者 -chown
9.11.1.基本介绍
chown newowner file
改变文件所有者
chown newowner:newgroup file
改变文件的所有者和所有组
- R :如果操作对象是目录,则使其下的所有子文件或目录递归生效
9.11.2.案例演示
将/home/abc文件的所有者修改为tom
当前/home/abc文件的所有者是root
修改chown tom abc
将/home/kkk目录下的所有文件和目录的所有者修改为tom
在/home目录下新建kkk目录并在kkk下创建a.txt,b.txt文件和a文件夹
9.12.修改文件所在组-chgrp
9.12.1.基本介绍
chgrp newgroup file
改变文件的所有组
9.12.2.案例演示
将/home/abc.txt文件所在组改为police
将/home/kkk/目录下的所有的文件和目录的所有组都修改为police
9.13.实践 - 警察和土匪的游戏
创建组:police、bandit
创建用户:警察jack、jerry 土匪xm、xh
9.13.1.创建组
groupadd police
groupadd bandit
9.13.2.创建用户并指定组
useradd -g police jack
useradd -g police jerry
useradd -g bandit zs
useradd -g bandit ls
指定密码
passwd xxx
9.13.3.测试
jack创建一个文件,自己拥有读写的权限,本组的人可以读,其他人没有任何权限
先使用Jack账户创建jack.txt文件
设置权限
jack修改文件权限,让其他组的人可读,本组的人可读写
zs投靠police组,看看是否可读写
登录zs用户,尝试访问/home/jack目录,发现权限不够
jack目录的权限
改变zs组为police,还是不能访问/jack
开放/jack目录给所在组的用户
zs进入/jack目录(不能进的话注销用户重新登陆)
zs用户修改jack.txt文件
成功