1.linux组基本介绍
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念
2.文件/目录 所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
-
2.1查看文件的所有者
- 1)指令:ls -ahl
-
2)应用实例:创建一个组police,再创建一个用户tom,将tom放到police组中,然后使用tom创建一个ok.txt
-
2.2修改文件所有者
-
1)指令:chown 用户名 文件名
*2)应用案例:使用root创建一个文件apple.txt,然后将这个文件的所有者改成tom
-
3.组的创建
- 1)基本指令:groupadd 组名
-
2)案例:创建一个组fox,并放入moster组中
4.文件/目录 所在组
当某个用户创建了一个文件后,默认这个文件的所在组就是该用户的所在组。
-
4.1查看文件/目录 所在组
- 1):基本指令 ls -ahl
-
4.2修改文件所在组
- 1):基本指令 chgrp 组名 文件名
-
2):应用实例-使用root用户创建文件orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组修改到police组
5.其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其他组
6.改变用户所在组
在添加用户时,可以指定指定将用户添加到哪个组中,同样用root的管理权限可以改变某个用户的所在组
-
6.1改变用户所在组
- 1) useradd -g 组名 用户名
- 2)usermod -g 组名 用户名
-
6.2应用实例
创建一个土匪组(bandit)将tom这个用户从原来所在的police组,修改到bandit组
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
8.rwx权限详解
-
8.1 rwx作用到文件
- 1)[r]代表可读(read):可以读取,查看。
- 2)[w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前条件是对该文件所在目录有写权限,才能删除该文件。
- 3)[x]代表可执行(execute):可以被执行。
-
8.2rwx作用到目录
- 1)[r]代表可读(read):可以读取,ls查看目录内容。
- 2)[w]代表读取(write):可以修改,目录内创建+删除+重命名目录。
- 3)[x]代表可执行(execute):可以进入该目录。
9.文件及目录权限实际案例
ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
10个字符确定不同用户能对文件干什么
第一个字符代表文件类型:文件(-),目录(d),链接(l)
其余字符每三个一组(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.修改权限-chmod
-
10.1基本说明
通过chmod指令,可以修改文件或者目录的权限
-
10.2第一种方式:+、-、=变更权限
u:所有者 g:所属组 o:其它人 a:所有人(u、g、o的总和)
1)chmod u=rwx,g=rw,o=x 文件目录名
2)chmod o+w 文件目录名
3)chmod a-x 文件目录名
案例演示:
1)给abc文件的所有者读写执行的权限,给所有组读写执行的权限,给其它组读执行的权限
2)给abc文件的所有者除去执行的权限,增加组写的权限
3)给abc文件所有用户添加读的权限
-
10.3第二种方式:通过数字变更权限
规则:r=4 w=2 x=1 ,rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件目录名
案例演示:将 /home/abc文件的权限修改成 rwxr-xr-x,使用给数字的方式实现:
rwx = 4+2+1=7
r-x = 4+1 =5
r-x = 4+1 =5
指令:chmod 755 /home/abc
11.修改文件的所有者 chown
-
11.1基本介绍
chown newowner file 改变文件的所有者
chown newower:newgroup file 改变用户所有者和所有组
-R 如果是目录 则使其下所有的子文件或者目录递归生效
-
11.2案例演示
1)请将/home/abc 文件的所有者改成tom
chown tom /home/abc
2)请将/home/kkk 目录下的所有的文件和目录的所有者都修改成tom
chown -R tom /home/abc
12.修改文件的所在组 chgrp
-
12.1 基本介绍
chgrp newgroup file 改变文件的所在组
-R 如果是目录 则使其下所有的子文件或者目录递归生效
-
12.2案例演示
1)请将 /home/abc 文件的所在组修改成bandit
chgrp bandit /home/abc
2)请将/home/kkk 目录下所有者的文件和目录的所在组都修改成bandit
chgrp -R bandit /home/kkk
13.最佳实践-警察和土匪游戏
组:police ,bandit
police下的用户:jack, jerry;
bandit下的用户:xh, xq;
2)创建用户
3)jack创建一个文件,自己可以读写,本组人可以读,其它组没有任何权限
4)jack修改该文件,让其它组人可以读,本组人可以读写
5)xh投靠警察,看看是否可以读写
先用root用户,把xh的组改成police
给jack家目录添加所在组用户可读可执行的权限
14.最佳实践2
建立两个组(student,teacher)
建立四个用户(zhangsan , lisi , xiaoming , xiaohua)
设置密码
把 xiaoming , xiaohua放入student组
把 zhangsan , lisi 放入teacher组
用xiaoming创建一个文件(monkey.java 该文件要输出 i am xiaoming)
给 xiaohua 一个可以 rw 的权限
xiaohua 修改monkey.java 加入一句话(i am xiaohua)
lisi zhangsan 对该文件没有权限
把 lisi放入student组
让 lisi 修改该文件 monkey,加入一句话(“我是lisi,我是学生”)