前言
前面的文章中提到:Linux在管理用户权限时,既是面向用户的,又是面向组的,通过管理用户的权限规定了其对所拥有的文件的权限(读、改、执行),通过管理组的权限而规定了该组中用户对于某一文件的权限。在Linux中的每一个用户必须必须属于一个组,不能独立于组外,在Linux中每个文件都有所有者、所在组、其他组的概念。
以下这些概念是面向文件的:
1)所有者:文件的所有者往往具有很高的权限,一般为文件的创建者(当然也可以修改文件所有者)。比如我用hadoop1用户登陆后创建了一个xxx.txt文件,那么这个文件的所有者就是hadoop1。
2)所在组:默认为文件创建者的所在组,当文件创建者发生改变时,所在组不会随之变化,文件所在组也需要给定指令才能修改。
3)其他组:所在组以外的组。
1)文件/目录 所有者
① 查看文件的所有者
ls -ahl 文件名
② 修改文件所有者
chown 用户名 文件名
注意:在文件被创建时,文件所在组为所有者(文件创建者)的所在组,但是当文件所有者发生修改时,文件的所在组并不会随之改变。
③、组的创建和修改用户所在组
在添加用户时直接指定用户所属的组:useradd -g Hadoop hadoop2
也可以改变一个已经创建好的用户的坐在组(需要使用root权限):
2)权限的基本介绍
当使用ls -l或者其他以列表格式显示目录内容的时候,会看到这样的内容:
①、rwx权限详解【重点】
A)rwx作用到文件
a) 【r】:代表可读权限,可以使用cat/vim等指令查看文件内容。
b) 【w】:代表可修改,但不代表可以删除此文件,删除一个文件的前提是当前用户对此文件所在目录拥有 w 权限,才能删除该文件。
c) 【x】:代表可执行
B)rwx作用到目录
a) 【r】:代表可读权限,可以使用ls等命令查看目录内容。
b) 【w】:代表可修改,可以在此目录下删除、创建文件,也可以重命名目录,但如果想要删除此目录,还需要其上级目录的修改权限。
c) 【x】:代表可以进入该目录
②、修改权限【重点】
chmod指令,可以修改文件或者目录的权限
A)第一种修改方式:+、-、=,变更权限
u :所有者 g:所有者 o:其他人 a:所有人(即u、g、o的并集)
例:chmod u=rwx,g=rx,o=x 文件名
chmod o+x 文件目录名
chmod a-x 文件目录名
B)第二种方式:通过数字修改权限【建议使用】
规则:r=4 w=2 x=1 rw=6 rx=5 rwx=7
chmod u=rwx,g=rx,o=x 文件名 相当于 chmod 751 文件目录名
案例:
chmod 755 cat.txt
3)修改文件所有者
① 、基本介绍
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变文件的所有者和所在组
②、案例演示:
递归的将某目录下所有文件和子目录改回root(需使用选项 -R )
4)改变用户所在组
①、介绍
chgrp 新的组名 文件名 改变文件的所在组
②、案例
学习笔记,如有错误,欢迎指正