Linux文件权限的基本介绍

权限的基本介绍

ls  -l 中显示的内容如下:

-rwxrw-r-- 1 root police 1213 Feb 2 09:39 abc.txt

说明

1) 第0位确定文件类型(说明: -:普通文件, d:目录,l : 连接文件, c: 字符设备文件[键盘,鼠标] b: 块设备文件[硬盘] ) 。

2) 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。 R: 读 , w : 写权限 x:  执行权限   (-表示没有)

3) 第4-6位确定所属组(同用户组的)拥有该文件的权限 。

4) 第7-9位确定其他用户拥有该文件的权限 。

5) 1: 如果是文件,表示硬链接的数目, 如果是目录,则表示有多少个子目录 。

8) root : 文件或者目录所有者。

8) police : 文件或者目录所在的组。

8) 1213 : 表示文件大小,如果是目录,则统一为 4096 。

9) Feb 2 09:39 文件最后修改的时间。

 


rwx权限详解

rwx作用到文件(重要)

1) [ r ]代表可读(read): 可以读取,查看

2) [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。 

3) [ x ]代表可执行(execute):可以被执行          

rwx作用到目录(重要)

1) [ r ]代表可读(read): 可以读取,ls查看目录内容

2) [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录

3) [ x ]代表可执行(execute):可以进入该目录    


文件及目录权限实际案例

ls  -l 中显示的内容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户能对文件干什么

第一个字符代表文件类型: 文件 (-),目录(d),链接(l)  

其余字符每3个一组(rwx) 读(r) 写(w) 执行(x execute)  

第一组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[change ...]

基本说明:

通过chmod指令,可以修改文件或者目录的权限。

第一种方式:+ 、-、= 变更权限  

u:所有者(user)  g:所有组(group)  o:其他人(other)  a:所有人(u、g、o的总和)(all)  

1) chmod   u=rwx,g=rx,o=x     文件、目录 【表示:给所有者rwx, 给所在组的用户 rx, 给其他人 x】  

2) chmod   o+w                文件、目录 【表示:给其它用户增加w 的权限】  

3) chmod   a-x                文件、目录    【表示:给所有用户 去掉 x权限】  

案例演示  

1) 给abc文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限chmod  u=rwx, g=rx ,o=rx   abc  (,之间不能有空格)

2) 给abc文件的所有者除去执行的权限增加组写的权限 chmod  u-x, g+w abc

 3) 给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  文件、目录  ( 7(rwx)5(rx)1(x)  )

案例演示

要求:将 /home/abc.txt 文件的权限修改成  rwxr-xr-x

rwx = 4+2+1 = 7

r+x = 4+1 = 5

r+x = 4+1 = 5

+ 、-、= 变更权限的方式实现: chmod  u=rwx, g=xr, o=x  /home/abc.txt

使用给数字的方式实现:              chmod 751 /home/abc.txt

 


修改文件所有者-chown

基本介绍

chown  newowner  file  改变文件的所有者 

chown  newowner:newgroup  file  改变用户的所有者和所有组 

-R  如果是目录 则使其下所有子文件或目录递归生效 

案例演示:

1) 请将 /home/abc.txt 文件的所有者修改成 tom chown   tom  /home/abc.txt

2) 请将 /home/kkk 目录下所有的文件和目录的所有者修改成tom   chown –R tom  /home/kkk

 

3) 将home下的所有文件和目录的所有者都改成 tom,将所在组改成police   chown –R  tom:police   /home/


修改文件所在组-chgrp

基本介绍

chgrp newgroup file  改变文件的所有组 

案例演示:

1)  请将 /home/abc .txt 文件的所在组修改成 shaolin (少林) chgrp  shaolin  /home/abc.txt

1)  请将 /home/kkk 目录下所有的文件和目录的所在组都修改成 shaolin(少林) chgrp  -R  shaolin  /home/kkk

 



课后练习

最佳实践-警察和土匪游戏

police , bandit : 组

jack, jerry: 警察

xh, xq: 土匪

1、创建组

bash>groupadd police

bash>groupadd bandit

2、创建用户

useradd -g police jack
useradd -g police jerry
useradd -g bandit xh
useradd -g bandit xq

3、 jack 创建一个文件,自己可以读写,本组人可以读,其它组没人任何权限

touch  jack01.txt
chmod 640 jack01.txt 

4、jack 修改该文件,让其它组人可以读, 本组人可以读写  

 chmod o=r,g=rw jack01.txt 

5、xh 投靠 警察,看看否可以读写

i)  用root把xh加入police组  usermod -g police xh

ii) 切换到jack,给他的家目录 /home/jack 的所在组一个rx权限  chmod g=rx jack/

ii) xh需要重新注销再到 jack 目录就可以操作jack文件。

 先删除者两个组

 


练习文件权限管理   

建立两个组(神仙 shenxian ,妖怪 yaoguai)     

      groupadd shenxian 

      groupadd yaoguai

建立四个用户(唐僧 tangseng,悟空wukong,八戒bajie,沙僧shaseng)   

        useradd tangseng

        useradd wukong

       useradd bajie

       useradd shaseng

设置密码     

        passwd tangseng

        passwd wukong

       passwd bajie

       passwd shaseng

把悟空,八戒放入妖怪  唐僧 沙僧 在神仙          

       usermod -g yaoguai wukong

       usermod -g yaoguai bajie

       usermod -g shenxian  shaseng

       usermod -g shenxian  tangseng

用悟空建立一个文件 (monkey.go该文件要输出 i am monkey)     

       su - wukong                   //切换目录

       touch monkey.go           //创建文件  /home/wukong/monkey.go

       vim monkey.go             //打开文件写入i am monkey

给八戒一个可以 rw 的权限     (悟空八戒在妖怪组,设置八戒的组权限为rw)

         chmod   -R g=rwx  /home/wukong/ (想改文件权限 同组的可以读写)

         chgrp -R yaoguai /home/wukong(!wukong他所在的组还是在最开始默认的那个组也就是wukong,但是wukong和bajie都在yaoguai组里面,我需要把wukong加入yaoguai组

八戒修改monkey.go 加入一句话( i am pig)     

        su - bajie                   //切换目录

                   vim monkey.go

                    i am pig

唐僧 沙僧 对该文件没有权限     

把 沙僧 放入妖怪组     

      su - root                               //切换目录

     usermod -g yaoguai shaseng            

让沙僧  修改 该文件 monkey, 加入一句话 ("我是沙僧,我是妖怪!");

         su - shaseng                        //切换目录

        cd ..                                       //回到上机目录

        cd wukong/                            //打开文件

        vim monkey.go 

 


课后练习

1、用root登录,建立用户mycentos,自己设定密码

          adduser mycentos

         passwd 

2、用mycentos登录,在主目录下建立目录test/t11/t1

             su - mycentos

             mkdir -p test/t11/t1

3、在t1中建立一个文本文件aa,用vi编辑其内容为ls –al

              cd /home/mycentos/test/t11

              touch aa

               ls -al >> aa

4、改变aa的权限为可执行文件[可以将当前日期追加到一个文件],运行该文件./aa

                         chmod u+x,g+x,o+x aa

                         date >> /home/mycentos/test/t11/aa

                          

5、删除新建立的目录test/t11/t1

             rm -rf  /home/mycentos/test

6、删除用户mycentos及其主目录中的内容

             su - root

             rm -rf  /home/mycentos

7、将linux设置成进入到图形界面的

           init 5

8、重新启动linux或关机

             reboot



猜你喜欢

转载自blog.csdn.net/qq_40794973/article/details/86508772