在Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中每个文件有所有者、所在组、其他组的概念。
- 所有者
- 所在组
- 其他组
-
文件/目录 所有者
一般为文件的创建者,谁创建了改文件,谁就称为该文件的所有者。
查看文件的所有者
修改文件所有者
指令:chown 用户名 文件名
使用 root 创建一个文件 apple.txt,然后将其所有者修改为 tom
组的创建
基本语法:groupadd 组名
创建一个组 monster
groupadd monster 1
创建一个用户 fox,并放入到 monster 组中
useradd -g monster fox
文件/目录 所在组
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组(默认)
查看文件/目录所在的组
修改文件/目录所在的组
基本指令: charp 组名 文件名
使用 root 用户创建文件 orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 fruit 组
groupadd fruit
touch orange.txt
charp fruit orange.txt
其他组
除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组。
改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。
基本语法:
usermod -g 新组名 用户名
usermod -d 目录名 用户名 改变该用户登录的初始目录。特别说明:用户需要有进入到新目录的权限。
将 zwj 这个用户从原来所在组,修改到 wudang 组
usermod -g wudang zwj
权限的基本介绍
我们使用 ls -l 指令查看
0-9位说明:
第 0 位确定文件类型(d,-,l,c,b)
l 是链接,相当于 windows 的快捷方式
d 是目录,相当于 windows 的文件夹
c 是字符设备文件,鼠标键盘等
b 是块设备,比如硬盘
第1-3位确定所有者(改文件的所有者)拥有该文件的权限。 User
第4-6位确定所属组(同用户组的)拥有该文件的权限。 Group
第7-9位确定其他用户拥有该文件的权限。 Other
rwx权限
rwx作用到文件
- r 代表可读 read:可以读取,查看
- w 代表可写 write:可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
-
rwx作用到目录
r 代表可读 read:可以读取,ls查看目录内容
- w 代表可写 write:可以修改,对目录内创建+删除+重命名目录
- x 代表可以执行 execute: 可以进入该目录
实例
-rwxrw-r— 1 root root 1213 Feb 2 09:39 abc
1
例如上述显示内容:10个字符确定不同用户能对文件干什么
第一个字符代表文件类型: - l d c b
其余字符3个一组(rwx) 读® 写(w) 执行(x)
第一组 rwx:文件拥有者的权限是 读、写和执行
第二组 rw-:与文件拥有者同一组的用户权限是读、写,但是不能执行
第三组 r–:不与文件拥有者同组的其他用户的权限是读,不能写和执行
1 :文件:硬连接数 或者 目录:子目录数
root: 用户
root: 组
1213:文件大小(字节),如果是文件夹,显示 4096字节
Feb 2 09:39 :最后修改日期
abc:文件名
可用数字表示:r=4,w=2,x=2,因此rwx=4+2+1=7
修改权限
第一种方式修改权限
第一种方式:+、-、= 变更权限
- u:所有者
- g:所有组
- o:其他人
- a:所有人(u,g,o的总和)
基本语法:
chomod u=rwx,g=rx,o=x 文件/目录名 功能描述(使文件/目录的所有者拥有rwx的权限,使文件/目录的所有组的权限为 rx,使文件/目录的其他人的权限为 x)
chmod o+w 文件/目录名 功能描述(使文件/目录的其他人的权限增加 w)
chmod a-x 文件/目录名 功能描述(使文件/目录的所有人的权限x去掉)
给 abc 文件的所有者读写执行的权限,给所在组读执行权限,给其他组读执行权限。
chmod u=rwx,g=rx,o=rx abc
给 abc 文件的所有者除去执行的权限,增加组写的权限
chmod u-x,g+w abc
给 abc 文件的所有用户添加读的权限
chmod a+r abc
第二章方式修改权限
第二种方式是通过数字变更权限
r = 4,w = 2,x = 1,rwx =4+2+1=7
基本语法:
chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件目录名
将 /home/abc.txt 文件的权限修改成 rwxr-xr-x,使用数字方式实现
chmod 755 /home/abc.txt
修改文件所有者
基本语法:
chown newowner 文件/目录改变所有者
chown newowner:newgroup 文件/目录 改变所有者和所在组
-R 如果是目录,则使其下所有子文件或目录递归生效
将 /home/abc.txt 文件的所有者修改成 tom
chown tom /home/abc.txt
将 /home/test 目录下所有的文件和目录的所有者都修改成 tom
chown -R tom /home/test
修改目录/文件所在组 chgrp
基本语法:
chgrp newgroup 文件/目录 改变所在组
将 /home/abc.txt 文件的所在组修改成 shaolin
groupadd shaolin
chgrp shaolin /home/abc.txt
将 /home/test 目录下所有的文件和目录的所在组都修改成 shaolin
chgrp -R shaolin /home/test
