组基本介绍
在linux系统中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组和其他组的概念。
文件/目录所有者
一般为文件的创建者,谁创建了该文件,就自然的称为该文件的所有者。
1,查看文件的所有者
指令:ls -ahl
1)创建一个组police,再创建一个用户tom,再将tom放到police组,然后使用tom来创建一个文件hello.txt。
2,修改文件的所有者
指令:chown 用户名 文件名
1)用root创建一个文件,并将这个文件的所有者改为tom
组的创建
指令:groupadd 组名
1)创建一个组monster,创建一个用户fox,并放到monster组中。
文件/目录所在组
当某个用户创建了一个文件后,默认这个文件的所在组的就是该用户所在的组。
1,查看文件/目录所在组
指令:ls -ahl
1)查看文件所在组
2,修改文件所在的组
指令:chgrp 组名 文件名
1)使用root用户创建orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组修改为police组。
其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
1,改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。
指令:usermod -g 组名 用户名
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
rwx权限详解
1,rwx作用到文件
- r 代表可读(read):可以读取,查看
- w 代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件时对该文件所在的目录有写权限,才能删除该文件。
- x 代表可执行(execute):可以被执行。
2,rwx作用到目录
- r 代表可读(read):可以读取,ls查看目录内容。
- w 代表可写(write):可以修改,目录内创建+删除+重命名目录。
- x 代表可执行(execute):可以进入该目录。
文件及目录权限实际分析
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
前十个字符分析:
- 第一个字符代表文件类型:文件(-),目录(d),链接(l)
- 第二至第四个字符(rwx):文件拥有者的权限是读(r)、写(w)和执行(x)。
- 第五至第七个字符(rw-):与文件拥有者同一组的用户的权限是读(r)、写(w)但不能执行。
- 第八至第十个字符(r--):不与文件拥有者同组的其他用户的权限是读(r)不能写和执行。
- 1:如果是文件,就是硬连接数;如果是目录,就是子目录数。
- root : 用户
- root : 组
- 1213:文件大小(字节),如果是文件夹,显示4096字节。
- Feb 2 09:39 :最后修改日期
- abc : 文件名
修改权限
通过chmod指令,可以修改文件或者目录的权限。
第一种方式:+、-、=变更权限
- u :所有者
- g :所有组
- o :其他人
- a :所有人(u、g、o的总和)
# 使用= 赋权 chmod u=rwx,g=rx,o=x 文件目录名 # 使用+ 增加权限 chmod o+w 文件目录名 # 使用- 减少权限 chmod a-x 文件目录名
1)给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
2)给abc文件的所有者除去执行的权限,增加组写的权限。
3)给abc文件的所有用户添加读的权限
第二种方式:通过数字变更权限
规则:r=4;w=2;x=1。rwx=4+2+1=7
# chmod u=rwx,g=rx,o=x 文件目录名 chmod 751 文件目录名
1)将/home/abc.txt文件的权限修改成rwxr-xr-x,使用数字实现。
修改文件所有者
#改变文件的所有者 chown newowner file #改变文件的所有者和所有组 chown newowner:newgroup file
-R 如果是目录,则使其下所有子文件或目录递归生效。
1)将/home/abc.txt 文件的所有者修改成tom
2)将/home/cat 目录下的所有文件和目录的所有者都修改成tom
修改文件所在组
#改变文件的所有组 chgrp newgroup file
1)将/home/abc.txt文件的所在组修改成police组
2)将/home/cat 目录下所有文件和目录的所在组都修改成police