Linux系统下的组管理和权限管理
组管理
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。
对于一个文件而言,有以下几种说法:1)所有者;2)所在组;3)其它组;4)改变用户所在的组。
-
文件/目录所有者: 一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
ls -ahl
:查看文件的所有者chown [用户名] [文件名]
:修改文件所有者,chown(change owner)
Eg:
使用root创建一个文件hello.txt,然后将其所有者修改成tom
-
文件/目录所在组::当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
ls -ahl
查看文件/目录所在组chgrp group file
修改文件所在的组
Eg:
使用root用户创建文件orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到fruit组,步骤如下:groupadd fruit
,创建新的组touch orange.txt
,创建文件- 看看当前这个文件属于哪个组-> root组
chgrp fruit orange.txt
,修改文件所在组
-
修改用户所在组::除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组.
usermod -g 新组名 用户名
:改变用户所在组usermod -d 目录名 用户名
:改变该用户登陆的 ,初始目录。特别说明:用户需要有进入到新目录的权限。
Eg:
将tom这个用户从原来所在组,修改到king组,如图所示
权限管理(重点)
首先,我们在任一目录下敲入 ls -ahl
或者 ll
命令,如下图所示,左边第一块的内容便是权限
权限说明
对于任一文件,0-9位说明
- 第0位确定文件类型(d,-,l,c,b)
l
是链接(link),相当于windows的快捷方式d
是目录(directory),相当于windows的文件夹c
是字符设备文件(char),鼠标,键盘b
是块设备(block),比如硬盘-
是普通文件
- 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—User
- 第4-6位确定所属组(同用户组的)拥有该文件的权限,—Group
- 第7-9位确定其他用户拥有该文件的权限—Other
rwx作用到文件
- [r]代表可读(read):可以读取,查看
- [w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
- [x]代表可执行(execute):可以被执行
rwx作用到目录
- [r]代表可读(read):可以读取,ls查看目录内容
- [w]代表可写(write):可以修改,对目录内创建+删除+重命名目录
- [x]代表可执行(execute):可以进入该目录
Eg:
drwxr-xr-x. 2 root root 93 12月 26 22:04 mubai
上面这行表示mubai是一个目录(d),剩余内容为 rwxr-xr-x ,说明所有者对其拥有全部权限(rwx);同组的用户对其拥有读和执行的权限(rx),没有写的权限;其它用户拥有读和执行的权限(rx),没有写的权限。
可用数字表示为: r=4,w=2,x=1,因此rwx=4+2+1=7。
那么其它表示什么含义呢?
- 2:对于文件是硬连接数,对于目录是子目录数
- root:用户
- root:组
- 93:文件大小(字节),如果是文件夹,显示4096字节
- 12月 26 22:04:最后修改日期
- mubai:文件名
修改权限
chmod指令(change mode):修改文件或者目录的权
-
第一种方式:+、-、=变更权限
u:所有者;g:所有组;o:其他人;a:所有人(u、g、o的总和)- chmod u=rwx,g=rx,o=x 文件/自录名
- chmod o+w 文件/目录名
- chmod a-x 文件/目录名案例演示
Eg:
chmod u=rwx,g=rx,o=rx abc
:给abc文件的所有者读弓执行的权限,给所在组读执行权限,给其它组读执行权限。
chmod u-x,g+w abc
:给abc文件的所有者除去执行的权限,增加组写的权限
chmod a+r abc
:给abc文件的所有用户添加读的权限 -
第二种方式:通过数字变更权限
r=4 w=2 x=1,rwx=4+2+1=7
因此,chmod u=rwx,g=rx,o=x 文件目录名
相当于chmod 751 文件目录名
修改文件
chown-修改文件所有者,基本语法如下:
chown newowner 文件/目录
改变所有者chown newowner:newgroup 文件/自录
改变所有者和所在组R
:如果是目录则使其下所有子文件或目录递归生效
Eg:
chown tom /home/abc.txt
:将/home/abc.txt文件的所有者修改成 tom
chown -R tom /home/test
:将/home/test目录下所有的文件和目录的所有者都修改成tom