Linux实操-组管理和权限管理
[TOC]
Linux实操-组管理和权限管理 ※
Linux组基本介绍
在linux中的每个用户必须属于一个组,不能独立于组外。
在linux中每个文件有所有者、所在组、其它组的概念。
1) 所有者
2) 所在组
3) 其它组
4) 改变用户所在的组
文件/目录所有者问题
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
查看文件的所有者
指令
应用实例
创建一个组police
,再创建一个用户tom
,将tom
放在police
组 ,然后使用tom
来创建一个文件ok.txt
,看看情况如何。
1 2
| groupadd police useradd -g police tom
|
修改文件所有者
指令
应用案例
使用root
创建一个文件apple.txt
,然后将其所有者修改成tom
。
1 2 3 4
| touch apple.txt ls -ahl chown tom apple.txt ls -ahl
|
组的创建
基本指令
应用实例
文件/目录所在组
当某个用户创建了一个文件后,默认情况下,这个文件的所在组就是该用户所在的组。
查看文件/目录所在组
基本指令
修改文件所在的组
基本指令
应用实例
- 使用
root
用户创建文件orange.txt
,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到police
组。
1 2
| touch orange.txt chgrp police orange.txt
|
其他组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root
的管理权限可以改变某个用户所在的组。
基本指令
应用实例
创建一个土匪组bandit
将tom
这个用户从原来所在的police
组,修改到bandit
组。
权限的基本介绍
指文件目录的权限
中显示的内容如下:
1
| -rw-r--r--. 1 tom police 0 5月 15 20:58 ok.txt
|
1
| 文件类型(1) 所有者权限(3) 所在组权限(3) 其他用户权限(3). 硬链接与目录数目 文件拥有者名 文件所在组名 文件大小 最后修改时间 文件名
|
- rw- r-- r--
0-9位说明
-
:普通文件
d
:目录
l
:连接文件
c
:字符设备文件[键盘,鼠标]
b
:块设备文件[硬盘]
- 第1-3位
rw-
确定所有者
(该文件的所有者)拥有该文件的权限。
r
:读
w
:写权限
x
:执行权限
-
:没有权限
- 第4-6位
r--
确定所属组
(同用户组的)拥有该文件的权限
只有读的权限。
1
如果是文件,表示硬链接的数目
如果是目录,则表示有多少个子目录
0
表示文件大小
如果是目录,则统一为4096
rwx权限详解
rwx作用到文件※
可以读取,查看。
可以修改,但是不代表可以删除该文件。
删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
可以被执行
rwx作用到目录※
可以读取,ls
查看目录内容
可以修改,目录内创建+删除+重命名目录
可以进入该目录
文件及目录权限实际案例
ls -l
中显示的内容如下
1
| drwx------. 4 admin admin 4096 5月 9 05:36 admin
|
10个字符确定不同用户能对文件干什么
第一个字符代表文件类
-
:文件
d
:目录
l
:链接
其余字符每3个一组
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 文件名
修改权限
通过chmod
指令,可以修改文件或者目录的权限。
第一种方式:+ 、-、= 变更权限
u
:所有者
g
:所有组
o
:其他人
a
:所有人(u、g、o的总和)
- 给所有者rwx, 给所在组的用户rx, 给其他人x
1
| chmod u=rwx,g=rx,o=x 文件、目录
|
案例演示
- 给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
1
| chmod u=rwx,g=rx,o=rx abc
|
- 给abc文件的所有者除去执行的权限,增加组写的权限。
第二种方式:通过数字变更权限
r=4,w=2,x=1
rwx=4+2+1=7
1
| chmod u=rwx,g=rx,o=x 文件、目录
|
相当于
案例演示
- 将
/home/abc.txt
文件的权限修改成rwxr-xr-x
,使用给数字的方式实现。
1 2
| chmod u=rwx,g=xr,o=x /home/abc.txt chmod 751 /home/abc.txt
|
修改文件所有者
基本介绍
1
| chown newowner:newgroup file
|
案例演示
- 将
/home/abc.txt
文件的所有者修改成tom。
- 将
/home/kkk
目录下所有的文件和目录的所有者都修改成tom
需要root
权限
- home下的所有文件和目录的所有者都改成 tom,将所在组改成police
1
| chown –R tom:police /home/
|
改变文件所在组
基本介绍
案例演示
- 将
/home/abc.txt
文件的所在组修改成shaolin
1
| chgrp shaolin /home/abc.txt
|
- 将
/home/kkk
目录下所有的文件和目录的所在组都修改成shaolin
1
| chgrp -R shaolin /home/kkk
|
权限实践-警察土匪游戏
police,bandit
jack,jerry:警察
xh,xq:土匪
1 2
| groupadd police groupadd bandit
|
1 2 3 4
| useradd -g police jack useradd -g police jerry useradd -g bandit xh useradd -g bandit xq
|
- jack 创建一个文件,自己可以读写,本组人可以读,其它组没人任何权限。
要给用户提前指定密码。
1 2 3 4
| su - jack vim jack1.txt ~hello jack1 chmod 640 jack1.txt
|
- jack 修改该文件,让其它组人可以读, 本组人可以读写。
1
| chmod o=r,g=rw jack1.txt
|
1 2 3
| su - xh cd /home/jack/ ~权限不够
|
使用root修改xh所在组
1 2 3
| su usermod -g police xh id xh
|
xh用户可以进入jack目录并且可以修改文件
1 2 3 4 5 6
| su - jack chmod g=rw jack/
su - xh cd /home/jack //可以进入 vim jack1.txt //可以写
|
xq用户没有权限进行修改
课后练习1
1 2
| groupadd shenxian groupadd yaoguai
|
1 2 3 4
| useradd tangseng useradd wukong useradd bajie useradd shaseng
|
设置密码
把悟空
,八戒
放入妖怪
组;唐僧
、沙僧
放入神仙
组
1 2 3 4
| usermod -g yaoguai wukong usermod -g yaoguai bajie usermod -g shenxian tangseng usermod -g shenxian shaseng
|
- 用
悟空
建立一个文件monkey.go
该文件要输出i am monkey
wukong
用户登录
1 2 3
| vim monkey.go ~i am monkey ~:wq
|
wukong
用户登录
八戒
修改monkey.go
加入一句话i am pig
bajie
用户登录
1 2 3 4
| cd /home/wukong/ vim monkey.go ~i am pig ~:wq
|
wukong
用户登录
root
用户登录
1
| usermod -g yaoguai shaseng
|
- 让
沙僧
修改该文件monkey.go
,加入一句话`我是沙僧,我是妖怪!
shaseng
用户登录
1 2 3 4
| cd /home/wukong vim monkey.go ~我是沙僧,我是妖怪! ~:wq
|