Linux中对于文件属性、权限的设定以及和用户的联系
在对文件或者目录进行操作之前,首先要知道文件或者目录的类型和属性,更方便读者向文件或者目录进行编辑操作。
1.文件属性查看
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] #文件名称
2.查看目录属性
ls -ld directoy
d rwxr-xr-x 3 kioskkiosk 33 Aug 27 09:47 directory
[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 ##改权限
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=---
umask ##显示系统预留权限值
umask 077 ##临时修改umask值
##永久修改
vim /etc/bashrc 71行是普通用户的更改,73是超级用户的更改
vim /etc/profile 60行是普通用户的更改,62是超级用户的更改
source /etc/bashrc ##刷新bash配置
source /etc/profile ##刷新系统配置
6.特殊权限
stickyid ###强制位
o+t ###之针对目录,当一个目录上有t权限时,这个目录中的文件只能被文件拥有者删除
t=1
chmod o+t directroy
chmod 1777 directory
g+s ##针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的
chmod g+s file|directory
chmod 2777 file|directory
suid ###冒险位
u+s ###针对文件,文件记录动作在执行时是一文件所有人身份执行的,与是谁发起的无关chmod u+s file
chmod 4777 fileg+s
7.对特殊用户进行权限设定
示例:getfacl -m u:westos :rwx /mnt/file 特殊设定westos用户对于mnt下的file文件具有读写功能。
使用getfacl /mnt/file进行文件权限所有人查询,查询结果如下
file: mnt/file 文件名称
owner: root 文件拥有者
group: root 文件的组
user::rw- 文件拥有者的权限
user:westos:rw- 特殊置顶用户对文件的权限
group::--- 文件所属组的权限
group:student:rwx 特殊指定组对于文件的权限
mask::rwx 权限的最大值
other::--- 其他人的权限
注释:在使用chmod进行权限修改时会发生改变
对于特殊用户特殊组对于文件权限的设定以及清除
setfacl -m u:westos:rwx /mnt/file 设定westos用户对于file文件有读写权限
setfacl -m g:rwx:student:rwx /mnt/file 设定student组对文件有读写权限
setfacl -m d:u:westos:rwx /mnt/directory 设定在westos用户在directory目录中新出现的文件有读写权限
setfacl -x u:westos /mnt/file 删除用户westos对文件的权限
setfacl -x g:stusent /mnt/file 删除student组对于文件的权限
setfacl -b /mnt/file 关闭权限列表。“+”消失
注释:这里的“+”是使用ls -l 对文件进行普通权限的查询。其中+表示特殊权限开启。