文件权限

文件权限

 

1.文件权限存在的意义

          系统最底层安全设定方法之一,保证文件可以被可用的用户作相应操作。

2.文件权限的查看

在这里我们用ls -l filename命令来查看文件的属性

ls -l file 即就是ls -l命令可以简写为ll
ls -ld dir  (ll -d dir)

-

3.文件权限的读取

-    |  rw-rw-r-- |  1  | kiosk |kiosk | 0 | Jul 21 09:18 | file
[1]        [2]        [3]       [4]     [5]     [6]          [7]           [8]

[1]文件的类型
-       ##空文件,或者文本
d      ##目录
l       ##软链接 (给一个文件创建一个快捷方式,内容一样称为其软链接,例如给file创建一个软链接westos,ln -s file westos,再ls -lwestos一下,可以看到最前面出现了l,打开文件实际打开的是源文件)
##ln命令:ln命令用来为文件创建链接,链接类型分为软链接和硬链接,默认的链接类型是硬链接,如果要创建符号连接必须使用-s选项,如果使用-s选项创建符号连接,则源文件可以使文件或者目录,创建硬链接时,则源文件参数只能是文件。
s     ##socket 套结字   程序是封闭的,套接字就是程序对外交互的接口
b     ##block 块设备    外界设备插入后
c      ##字符设备

[2]
文件的权限
rw-|rw-|r--
1    2   3
1.[u]  文件拥有者对文件能做什么操作
2.[g]  文件所有组对文件能做什么操作
3.[o]  其他人对文件能做什么操作

[3]
对文件:文件硬链接个数(文件内容被记录的次数)
对目录:目录中子目录的个数

[4]
文件所有人

[5]
文件所有组

[6]
对文件:文件大小
对目录:目录中子文件元数据(matedate可以理解为文件的属性)大小;元数据是文件的属性  ###每个字符是一个字节,文件名一个字符是一个字节###

[7]
文件的内容最后一次被修改的时间
[8]
文件的名称

4.如何改变文件的所有人和所有组

chown|chgrp

chown      username    file|dir                               ###更改文件或目录的所有者
chown      user.group   file|dir  (eg:chown westos.stude注意:nt /mnt/westos/)         ###更改文件或目录的所有者和所有组

rwx
210
r=4
w=2
x=1

r-x|r--|--x

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


chown   -R   user.group  dir    (改变文件夹里面所有的)     ###递归更改所有者和所有组,即当对目录进行该操作时,将更改目录下包括子目录内所有文件的所有者和所有组


chgrp        group       file|dir        ###更改文件或目录的所有组###         
chgrp   -R   group       dir             ###递归更改文件的所有组,即当对目录进行该操作时,将更改该目录和所有子目录的所有组

先在/mnt/中建立文件

先对其实时监控,以方便查看变化

chgrp   -R   group       dir 小更改目目录本身及里面所有内容的所有组

注意:若改变目录所有人时不写 -R ,则只会改变目录的所有人,不能改变目录中文件的所有人

5.如何改变文件的权限

(1)对权限的理解
r
      对文件:是否可以查看文件中的内容   ----> cat file
      对目录:是否可以查看目录中有什么子文件或者子目录----->ls dir
w
      
      对文件:是否可以改变文件里面记录的字符
      对目录:是否可以对目录中子目录或许子目录或者子文件的元数据进行更改
X
      对文件:是否可以通过文件名称调用文件内记录的程序
      对目录:是否可以进入目录

(2)更改方式suid   
chmod <u|g|o><+|-|-><<r|w|x>   file|dir
chmod u+x   /mnt/file1       ###添加所有人的x权限###
chmod g-r   /mnt/file2       ###删除所有组的x权限###
chmod ug-r  /mnt/file3       ###删除所有人和所有组的r权限###
chmod u-r,g+x  /mnt/file4    ###删除所有人的r权限,添加所有组的x权限###
chmod -r      /mnt/file5     ###删除所有的r权限###
chmod o=r-x   /mnt/file6    (不说往哪加默认为加在u上)
chmod     -w    /mnt/file7    ###只删除所有人的w权限
chmod    -x    /mnt/file8    ###删除所有的x权限###
chmod     +r/w/x    /mnt/file9    ###单独加一个权限时默认是加在所有者上的###
                ###g或者o使用=r-x是加不上去的,出于安全因素的考虑,r-x表示只加rx权限不加w权限,但是u使用该命令是可以的###

### chmod u=rx /mnt/file   可以加r和x权限,而u=r-x只能加r权限 ###

从下图我们可以看到用chmod命令的一些常用操作。

数字表示:

r  w  x
2 1  0
r=4,w=2,x=1

r-x|r--|--x

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

chmod  755 组名/目录名/文件名

例题:

新建用户组,shengchan,caiwu,jishu

新建用户要求如下:

        1)tom是sehngchan组的附加用户

        2)harry是caiwu组的附加用户

       3)leo是jishu组的附加用户

       4)新建admin用户,此用户不属于以上提到的三个部门

新建目录要求如下:

      1)/pub目录为公共存储目录对所有用户可以读,写,执行

     2)/sc目录为生产部存储目录只能对生产部人员可以写入

     3)/cw目录为财务部存储目录只能对财务部人员可以写入

操作如下:

 

6.文件默认权限umask

umask   系统建立文件时默认保留的权力
umask  077    ##临时设定系统预留权限为077,只对当前shell有效。

临时更改   umask 077

永久更改    umask 077
vim /etc/profile   ##系统配置文件
59   if [$UID -gt 199 ]&&["'id -gn'"="'id -un'"]; then
60       umask 002     ##普通用户的umask
61     else
62          usmask 077   ##超级用户的umask##
63     fi
 注意:
vim /etc/bashrc    ##shell配置文件##

70   if [$UID -gt 199 ]&&["'id -gn'"="'id -un'"]; then
71       umask 002     ##普通用户的umask##
72     else
73          usmask 077    ###超级用户的umask###
74     fi

source /etc/profile      ##让更改立即生效,刷新bash配置
source /etc/bashrc     ##刷新系统配置

注意:系统默认保留权限022,内核默认保留权限111

7.特殊权限

(1)sticky       ###粘制位
作用:
     只针对与目录生效,当一个目录上有sticky权限时
     在这个目录中的文件只能被文件所有者删除
设定方式:
       chmod o+t
       chmod 1XXXX      ###xxx代表0~7的任意数字###

在未加粘制位之前,student是可以删除tom建立的文件的,那我们再来看看加了stick后吧。

我们可以看到删除文件被拒绝了。

"注意:如果要目录里的文件能删除,需要给目录777的最高权限,否则即使所有者也删除不了"


(2)sgid      ######强制位   
作用
       对文件: 只针对与二进制可执行文件,注意:
       当文件上有sgid时任何人执行此文件产生的进程都属于文件的组   
       对目录:  当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组。
设定方式
       chmod  g+s  file|dir
       chmod 2XXXX file|dir

退出tom到root用户上执行命令

我们可以看到加上sgid命令后,任何人执行此文件产生的进程都属于文件的组 。

 

(3)suid     ##冒险位

作用:
       只针对与2进制可执行文件,程序执行时以root身份运行。
       当文件上有suid时任何人执行这个文件中的程序产生的进程都属于文件的所有人
设定方式
       chmod u+s   file
       chmod 4XXX  file

注意:此权限设定后,不能使用数字方式取消此权限!

8.acl权限列表

acl=access contral

(1)作用
      让特定的用户对特定的文件拥有特定权限

(2)acl列表查看
      -rw-rwxr--+ 1 root root 0 Jul 21 15:45 file
                ^
             acl开启

      getfacl file         ##查看acl开启的文件的权限
      #file: file            ##文件名称
      #owner: root     ##文件拥有者
      #group: root     ##文件拥有组
      user::rw-           ##文件拥有人的权限
      user:kiosk:rwx  ##指定用户的权限
      group::r--          ##文件拥有组的权利
      mask::rwx        ##能赋予用户的最大权力伐值注意:
      other::r--           ##其他人的权限

注意:当文件上有权限列表时,ls -l能看到的权限是假的。


(3)acl列表的管理(有加号的不准确)
setfacl -m u:username:rwx file         ##设定username对file拥有rwx权限
setfacl -m g:group:rwx   file              ##设定group组成员对file拥有rwx权限
setfacl -x u:username file                  ##从acl列表中删除username
setfacl -b file                                      ##关闭file上的acl列表

 

(4)mask值
在权限列表中mask标示能生效的权力值

注意:当开启权限列表(acl)后,再次使用chmod缩小权限时,会改变mask值,此时出现的权限是虚假的

 

(5)acl的默认权限设定

  acl默认权限只针对目录设定
 “acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限”

setfacl -m d:u:student:rwx /mnt/westos

限制超级用户的权限:i权限
lsattr file
chattr +i/-i file注意:
查看:lsattr file

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值