新秀篇 ##Linux文件的属性查看与权限管理##

1.文件属性查看

          ls   -l    文件名称

-      rw-r--r--    1     root     root     0     Apr 12 05:11   nba
[1]    [2]           [3]      [4]        [5]     [6]              [7]              [8]

[1]        ##文件类型
-        #普通文件
d        #目录
s        #socket套接子
l        #软链接
p        #管道
c        #字符设备
b        #块设备

[2]        ##读写权限
rw-|rw-|r--
 @   $   *                   @        #文件拥有者对文件能做的动作
                                  $        #文件所在组的组成员能对文件做的动作
                                   *        #其他人对与文件能做的动作

[3]        #文件内容被系统记录的次数
[4]        #文件拥有者
[5]        #文件所在组
[6]        #文件大小
[7]        #文件最后一次被更改的时进
[8]        #文件名称

2.查看目录属性

                ls   -ld     目录名称  

  d     rwxr-xr-x     2        root   root    6          Apr 12 05:19      NBA
[1]           [2]         [3]        [4]      [5]     [6]                [7]                  [8]

[1]        ##类型(同文件)
[2]        ##权限
[3]        ##子目录个数
[4]        ##目录拥有者
[5]        ##目录所在组
[6]        ##目录中内容的属性的大小
[7]        ##目录中文件增加或减少或被更名的时间
[8]        ##目录名称

3.文件用户组的更改
chown     用户名称    文件    ##更改文件所有人
chgrp        组名称        文件    ##更改文件所有组

chown -R 用户        目录    ##更改目录本身以及目录中的子文件的所有人
chgrp -R 组名        目录    ##更改目录本身以及目录中的子文件的所有组

4.权限的识别
ls -l 中2-10字符为文件权限
rwx           r-x                r-x
用户权限(u)     组成员权限(g)      其他用户权限(o)

###权限的种类###

r
r权限针对文件,表示可以查看文件内容
r权限针对目录,表示可以ls 查看目录中存在的文件名称

w
w权限针对文件,表示可以更改文件的内容
w权限针对目录,表示是否可以删除目录中的子文件或者子目录

x
x权限对于文件,表示是否可以开启文件当中记录的程序
x权限对于目录,表示是否可以进入目录中

chmod    ugo+-=rwx    ##改权限

  (ugo表示人对文件的读写权限,rwx是可以读写执行的命令,把它用加减等与赋给ugo)

实验:

       第一步:建立三个文件,用监控命令监控权限变化 

第二步:改变文件与目录的权限

##在程序中rwx也可以用二进制计算结果来表示##

u=rwx=7    |g=rwx=7  |o=rwx=7
   
  u=rw-=6 g=r--=4 o=r--=4   644
  r=4    w=2    x=1      -=0

   7=rwx,6=rw-,5=r-x,4=r--,3=-wx,2=-w-,1=--x,0=---


5.文件的默认权限

##默认权限里没有x,即文件最大的默认权限是666(-rw-rw-rw)

##由于进入目录与目录的x权限有关,所以目录的最大默认权限是777(drwx-rwx-rwx)

umask    ##显示系统预留权限值
umask 077    ##临时修改umask值

##这个umask命令只是临时的把文件默认权限改为077,关闭终端再打开的时候unask的权限依然是022##

##永久修改
vim /etc/bashrc        71行是普通用户的更改,73是超级用户的更改
vim /etc/profile    60行是普通用户的更改,62是超级用户的更改

source /etc/bashrc     ##刷新bash配置
source /etc/profile     ##刷新系统配置

##修改前##

##修改后##

###用vim永久修改完后,必须用source刷新配置,否则umask的值不变###

6.特殊权限
1)stickyid    ###强制位
      o+t    ###之针对目录,当一个目录上有t权限时,这个目录中的文件只能被文件拥有者删除
      t=1
      chmod o+t  directroy
      chmod 1777 directory

注意:我们在超级用户下建立一个目录赋予满权限,随后用两个普通用户登陆在这个目录里创建文件。然后重新登陆一个用户,可以对刚才用户建立的文件进行删除,这对我们的文件是不安全的



注意:用chomd o+t 的命令给所建立的目录赋予权限,别的用户是没有权限删除另一个用户的文件的,大大提高了文件的安全性

2)sgid        ###粘制位
         g+s        ##针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的
         chmod g+s file|directory
         chmod 2777 file|directory

3)suid        ###冒险位
              u+s        ###针对文件,文件记录动作在执行时是一文件所有人身份执行的,与是谁发起的无关
             chmod u+s file
             chmod 4777 fileg+s

7.权限列表
acl    ##指定特定的用户对特定的文件拥有特殊权力

-rw-rwx---+ 1 root root 0 Mar 28 02:39 file
      ^
    权限列表开启

那么这个文件的普通权限也在权限列表中识别,ls -l 看到的权限是不准确的

#查看
getfacl   /mnt/file

#内容如下:

file: mnt/file        #文件名称
# owner: root        #文件的拥有者
# group: root        #文件的组
user::rw-        #文件拥有者的权限
user:westos:rw-        #特殊指定用户的权限
group::---        #文件组的权限
group:student:rwx    #特殊指定组的权限
mask::rwx        #权限最大值
other::---        #其他人的权限

##设定
setfacl -m u:lee:rwx /mnt/file        #设定lee用户对file文件可以读写执行
setfacl -m g:student:rwx  /mnt/file    #设定student组对文件可以读写执行

setfacl -x u:lee /mnt/file        #在权限列表中删除用户lee的信息

setfacl -x g:student    /mnt/file    #在权限列表中删除student组的信息


setfacl -b   /mnt/file            #关闭权限列表那么,"+"消失

##mask值

#mask值是能够赋予用户权限的最大值
#当设定acl列表后,如果用chmod命令缩小文件的权限,那么mask值会被更改
#
chmod 600 /mnt/file        #做这样的动作mask值会发生改变
#####在更改前#####
file: mnt/file
owner: root
# group: root
user::rw-
user:lee:rwx
group::---
mask::rwx
other::---

#####更改后######
file: mnt/file
owner: root
# group: root
user::rw-
user:lee:rwx            #effective:---   此位置表示有效的权力
group::---
mask::---
other::--


###恢复###
setfacl -m m:rwx /mnt/file        #用此命令可以恢复mask的值

####acl列表的默认权限#####
#权限针对与目录生效
#当对目录设定普通的权限列表后,是不能取定特定用户对在目录中新建的文件由指定权限的
#如果需要权限自动添加到新建文件上那么要设定目录的默认权限

setfacl -m d:u:student:rwx /mnt/westos    ##设定在westos目录中
                      ##新建文件对student用户有rwx权限
                      ##对已经存在的文件无效
                      ##对目录本身无效





猜你喜欢

转载自blog.csdn.net/china_zgd/article/details/79916903