文件属性查看 所有人所有组管理 权限管理 访问控制

文件属性查看
ls -l filename
-      rw-      rw-     r--      1     kiosk     kiosk     0   Oct 2 17:05     file
[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]        #文件名称

例如下图创建文件file

对file进行ls -l 命令    显示如下


读写权限分别为读r写w记录x

”1”:
对文件:文件内容被系统记录的次数

对目录:目录中文件属性的字节数(子目录的个数)

第一个root

文件所有人

第二个root

文件所有组

0

文件内容的大小

Apr 10 10:13

文件最后一次被修改的时间

file

文件名

查看目录属性

ls -ld    directoy


d   rwxr-xr-x     3     kiosk kiosk  33     Aug 27 09:47         directory
[1]    [2]           [3]        [4]    [5]      [6]                [7]                  [8]

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

[8]        ##目录名称






文件用户组的更改

chown    user name                     file|dir      ##更改文件所有人

chgrp    组名称        文件    ##更改文件所有组

chown     username.groupname        file|dir     ##更改所有人所有组
chown -R 用户        目录    ##更改目录本身以及目录中的子文件的所有人

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



此处运用一个监视命令,可以更清楚看到文件用户组的更改

watch  -n 2 ls -lR 目录/文件


chown    user name                     file|dir      ##更改文件所有人


chown     username.groupname        file|dir     ##更改所有人所有组



通过上述可以发现,用户及组必须存在方可更改



权限的识别

rwx                             r-x                      r-x
用户权限(u)     组成员权限(g)      其他用户权限(o)

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

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

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

x权限对于目录,表示是否可以进入目录中



例如 rwx                             r-x                      r-x

rwx代表文件所有人对文件可进行读写开启记录/进入目录操作

r-x代表文件组成员对文件进行读开启记录/进入目录操作

r -x代表其他成员对文件可进行读开启记录/进入目录操作

      


chmod    ugo+-=rwx    ##改权限

chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir   
chmod u+x file         ##file拥有者加上x权限

chmod g+w file         ##file拥有组添加w权限


 chmod u-x,g+w file     ##file拥有者去掉x权,file1拥有组添加w权限

 chmod ugo-r file       ##file的用户组其他人去掉r权限

 chmod ug+x,o-r file   ##file用户和组添加x权限,其他人去掉r权限
 


u=rwx=7    |g=rwx=7|o=rwx=7
  421
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=---

rw-|r--|r--
 u   g   o
u=rw-=4+2+0=6
g=r--=4+0+0=4
o=r--=4+0+0=4
所以文件权限表示为644
chmod   修改后权限值  file
chmod   777 file

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



用字符方式修改权限如上图


系统默认权限的设定
从系统存在角度来说,开放权力越大,系统存在意义越高;从系统安全角度来说,开放权力越少,系统安全性越高。所以系统设定新建文件或目录会去掉一些权限。

设定方式:
umask ##查看系统保留权限默认为022
umask 077 ##修改该系统保留权限为077,此设定为临时设定,只当前shell中生效

如下图所示,直接输入umask可查看系统保留权限,umask 077则修改该系统保留权限为077


以上为临时修改,要想永久修改,可用下属方法

执行 vim /etc/profile,进入文件进行修改,如下图所示


vim /etc/bashrc        71行是普通用户的更改,73是超级用户的更改

然后

vim /etc/profile    60行是普通用户的更改,62是超级用户的更改

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

以上两个文件umask设定值必须保持一致

设定刷新完成立即生效


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

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


suid        ###冒险位

u+s        ###针对文件,文件记录动作在执行时是一文件所有人身份执行的,与是谁发起的无关

设定方式

chmod u+s file

chmod 4xxx file




文件的访问控制(acl列表)
(1)acl定义
acl = access control

指定特殊用户对特殊文件有特殊权限

drwxrwx---+ 2 root root 17 Jul 18 01:39 /westos/
      ^
表示/westos目录时有权限列表

getfacl  /westos/
file: westos/       ##文件名称
owner: root         ##文件所有人
group: root         ##文件所有组
user::rwx           ##拥有者权限
user:student:rwx    ##特殊用户权限
group::---          ##组权限
mask::rwx           ##权限掩码
other::---          ##其他人权限

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

#查看

getfacl   file



#内容如下:

file: file        #文件名称
# owner: root        #文件的拥有者
# group: root        #文件的组
user::rwx   #文件拥有者的权限
group::rwx        #文件组的权限

mask::rwx        #权限最大值

other::rwx        #其他人的权限


##设定
设定acl列表
设定方法为:

setfacl -m <u|g>:<username|groupname>:权限    文件|目录
-m    #设定
u     #用户
g     #组
d     ##默认设定权限,只对该目录内新建的文件和目录有效,对本目录及目录内原有的文件和目录无效。
  • 1
  • 2
  • 3
  • 4
  • 5

如下图所示,setfacl这只acl列表后,ls -l 查询文件权限,权限中带有+,此时应使用getfacl 文件名,可查看文件详细完整的权限(ls -l

查询的权限是不完整的)。


删除列表中的用户或者组

setfacl -x <u|g>:<username|groupname>   文件|目lu





删除列表中的用户,在使用getfacl查看就发现列表中没之前添加的用户了。如上图所示。

关闭列表

setfacl -b 文件|目录

如下图所示

6.acl mask值
(1)mask 权限掩码
mask用来标实能够赋予用户最大权限
当用chmod改变文件普通权限时可能会被破坏

修复

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


用户westos的权限是rwx,设定mask为rw,getfacl则提示westos的有效权限为rw。如下图所示

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

setfacl -m d:u:student:rwx /mnt/westos    ##设定在westos目录中

注意:
默认权限只对目录中新建立的文件或者目录生效,对已经建立的文件无效,对于目录本身也无效

如下图所示,对目录linux设置默认权限后,切换到hello用户,删除linux中原有的文件时,系统报错:无权限



猜你喜欢

转载自blog.csdn.net/awoyaoc/article/details/79889147