=====================================================
df -Th 查看内存的使用情况
df -Th >a.txt 将内存的使用情况填入a.txt内
权限对象:
属主: u
属组: g
其他人: o
基本权限类型:
读:r 4
写:w 2
执行: x
rwx rw- r-- alice hr file1.txt
属主(所有者)权限 属组权限 其他人权限 属主/所有者 属组 文件名
一 alice对file1.txt文件有什么权限?
a. alice是所有者吗? 是,rwx
二 jack对file1.txt文件有什么权限? 前提:jack属于hr组
a. jack是所有者吗?
b. jack属于hr组吗? 是,rw
三 tom对file1.txt文件有什么权限?
a. tom是所有者吗?
b. tom属于hr组吗?
c. tom为其他人 r
更改文件的属主(所有者)、属组 (所属组)
chown 更改属组、属主 change owner
chgrp 更改属组 change group
chown:
[root@youngfit ~]# chown alice.hr file1 //改属主、属组 使用:也可以
[root@cuichengjie home]# chown user01.hr qf.txt
[root@cuichengjie home]# ll -a //查看发现已经改变
-rw-r--r--. 1 user01 hr 0 Dec 26 14:59 qf.txt
[root@youngfit ~]# chown alice file1 //只改属主
[root@youngfit ~]# chown .hr file1 //只改属组
[root@youngfit ~]# chown -R zhouchen.hr dir1 //递归修改,包括文件夹内的所有文件
[root@cuichengjie home]# mkdir -p qf/qf.txt 用递归创建qf文件夹以及里面的qf文件
[root@cuichengjie home]# chown -R cuichengjie1.hr qf 对qf进行修改
drwxr-xr-x. 2 cuichengjie1 hr 6 Dec 26 15:02 .
drwxr-xr-x. 3 cuichengjie1 hr 20 Dec 26 15:02 qf 如图 连同文件一同被修改
chgrp:
[root@youngfit ~]# chgrp it file1 //改文件属组
[root@cuichengjie home]# chgrp user01 qf.txt //将原先的hr改成了user01 属组
-rw-r--r--. 1 user01 user01 0 Dec 26 14:59 qf.txt
[root@youngfit ~]# chgrp -R it dir1 //改目录属组 (-R包含目录下内容),效果同chown
对象 赋值符 权限类型
u 所有者 + r
chmod g 所属组 - w file1
o 其他人 = x
a 所有
[root@youngfit ~]# chmod u+x file1 //属主增加执行权限 所有者增加执行权限
-rw-r--r--. 1 user01 user01 0 Dec 26 14:59 qf.txt 更改后
-rwxr--r--. 1 user01 user01 0 Dec 26 14:59 qf.txt 更改前
[root@youngfit ~]# chmod g+x file1 //属组增加执行权限
[root@youngfit ~]# chmod u+x,g+x file1 //所有者增加执行权限,属组增加执行权限
======================================================================================
[root@youngfit ~]# chmod u-x file1 //所有者减去执行权限
-rwxr--r--. 1 user01 user01 0 Dec 26 14:59 qf.txt 更改前
-rw-r--r--. 1 user01 user01 0 Dec 26 14:59 qf.txt 更改后
[root@youngfit ~]# chmod g-x file1 //属组减去执行权限
[root@youngfit ~]# chmod u-x,g-x file1 //所有者减少执行权限,属组减少执行权限
=======================================================================================
[root@youngfit ~]# chmod a=rwx file1 //所有人等于读写执行权限
[root@youngfit ~]# chmod a=- file1 //所有人没有权限
[root@cuichengjie home]# chmod a=r-x qf.txt
-r--r--r--. 1 user01 user01 0 Dec 26 14:59 qf.txt
[root@cuichengjie home]# chmod a=-wx qf.txt
----------. 1 user01 user01 0 Dec 26 14:59 qf.txt
[root@cuichengjie home]# chmod a=rw- qf.txt //从以上例子可以看出,使用a=时,遇见“-”便结束
-rw-rw-rw-. 1 user01 user01 0 Dec 26 14:59 qf.txt
[root@youngfit ~]# chmod ug=rw,o=r file1 //属主属组等于读写,其他人只读
[root@youngfit ~]# ll file1 //以长模式方式查看文件权限
-rw-rw-r-- 1 alice it 17 10-25 16:45 file1 //显示的结果
[root@youngfit ~]# chmod 644 file1 r=4 w=2 x=1 664 所有者rw 属组r 其他用户r
[root@youngfit ~]# ll file1
-rw-r--r-- 1 alice it 17 10-25 16:45 file11
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FUMXdSu9-1584535283172)(D:\Desktop\千峰培训课程\第一阶段\第三、四、五天\image\权限1.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X1ZiZHbt-1584535283173)(D:\Desktop\千峰培训课程\第一阶段\第三、四、五天\image\权限3.png)]
======================================================
针对hr部门的访问目录/home/hr设置权限,要求如下:
root用户和hr组的员工可以读、写、执行
其他用户没有任何权限
[root@youngfit ~]# groupadd hr //创建一个用户组
[root@youngfit ~]# useradd ehome01 -G hr //创建hr01用户添加到hr组里
[root@youngfit ~]# useradd ehome02 -G hr //创建hr02用户添加到hr组里
[root@youngfit ~]# mkdir /home/hr //在/home创建一个hr目录
[root@youngfit ~]# chgrp hr /home/hr //将/home/hr目录的所属组设置为hr
[root@youngfit ~]# chmod 770 /home/hr //将/home/hr目录的权限设置为770
[root@youngfit ~]# ll -d /home/hr/ //查看/home/hr目录本身的权限
drwxrwx---. 2 root hr 4096 3月 13 14:26 /home/hr/
=======================================================================================
测试其他人权限
[root@youngfit home]# su - user05
Last login: Wed Dec 25 14:28:08 CST 2019 on pts/0
[user05@youngfit ~]$ cd /home/hr/
-bash: cd: /home/hr/: Permission denied
========================================================================================
测试所属组用户权限
[root@qianfeng home]# su - ehome01
Last login: Wed Dec 25 19:31:06 CST 2019 on pts/0
[ehome01@qianfeng ~]$ cd /home/hr/
[ehome01@qianfeng hr]$ touch a.txt
[ehome01@qianfeng hr]$ ls
a.txt
[ehome01@qianfeng hr]$ rm -rf a.txt
组中的成员能够用cd切入此案例中的文件夹,而非本组成员则不能
******重要: r、w、x权限对文件和目录的意义
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uyyYhidu-1584535283173)(D:\Desktop\千峰培训课程\第一阶段\第三、四、五天\image\权限4.png)]
实战案例1:rwx对文件的影响
date 查看日期时间
[root@youngfit ~]# vim /home/file1
date
[root@youngfit ~]# ll /home/file1
-rw-r--r-- 1 root root 5 7月 26 14:43 /home/file1
[root@youngfit ~]# su - alice
[alice@youngfit ~]cat /home/file1 //测试读
date
============================================================================
没加执行权限之前
[alice@youngfit ~]$ /home/file1 //测试执行
-bash: /home/file1: Permission denied
[root@youngfit ~]# chmod o+x /home/file1
加执行权限之后
[alice@youngfit ~]$ /home/file1
Wed Dec 25 19:58:19 CST 201
=============================================================================
[root@qianfeng ~]# su - user09
Last login: Wed Dec 25 19:55:52 CST 2019 on pts/0
[user09@qianfeng ~]$ vim /home/file1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gq3D7hxl-1584535283174)(assets/1577275271767.png)]
[root@youngfit ~]# chmod o+w /home/file1
[alice@youngfit ~]$ vim /home/file1 //测试写
date
ls
:wq保存并退出成功。
实战案例2:对目录没有w,对文件有rwx
[root@youngfit ~]# mkdir /dir10
[root@youngfit ~]# touch /dir10/file1
[root@youngfit ~]# chmod 777 /dir10/file1
[root@youngfit ~]# ll -d /dir10/
drwxr-xr-x. 2 root root 4096 3月 11 18:37 /dir10/
[root@youngfit ~]# ll /dir10/file1
-rwxrwxrwx. 1 root root 0 3月 11 18:37 /dir10/file1
[root@youngfit ~]# vim /dir10/file1
jack
[root@youngfit ~]# su - alice
[alice@youngfit ~]$ cat /dir10/file1
jack
[alice@youngfit ~]$ rm -rf /dir10/file1
rm: cannot remove ‘/dir10/file1’: Permission denied //权限不够
[alice@youngfit ~]$ touch /dir10/file2
touch: cannot touch ‘dir10/file2’: Permission denied //权限不够
实战案例3:对目录有w,对文件没有任何权限
[root@youngfit ~]# chmod 777 /dir10/
[root@youngfit ~]# chmod 000 /dir10/file1
[root@youngfit ~]# ll -d /dir10/
drwxrwxrwx. 2 root root 4096 3月 11 18:37 /dir10/
[root@youngfit ~]# ll /dir10/file1
----------. 1 root root 0 3月 11 18:37 /dir10/file1
[root@youngfit ~]# su - alice //切换到alice用户
[alice@youngfit ~]$ cat /dir10/file1
不能查看,权限不够
[alice@youngfit ~]$ rm -rf /dir10/file1 //可以删除
[alice@youngfit ~]$ touch /dir10/file2 //可以创建
小结:
对目录有w权限,可以在目录中创建新文件,可以删除目录中的文件(跟文件权限无关)
注意事项
文件: x 权限小心给予
目录: w 权限小心给予
再次认识一下文件和目录:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rhu4uw1Z-1584535283174)(D:\Desktop\千峰培训课程\第一阶段\第三、四、五天\image\权限5.png)]
====================================================
文件权限管理之: ACL设置基本权限(r、w、x) 。
UGO设置基本权限: 只能针对一个用户,一个组和其他人 。
本身没有权限,为其他用户增加权限
使用格式为
setfacl -m 类型:用户名:权限类型 文件路径
所增加路径为acl路径
设置方法:
[root@youngfit ~]# touch /home/test.txt
[root@youngfit ~]# ll /home/test.txt
-rw-r--r-- 1 root root 0 10-26 13:59 /home/test.txt
[root@youngfit ~]# getfacl /home/test.txt
getfacl: Removing leading '/' from absolute path names
# file: home/test.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--
[root@youngfit ~]# setfacl -m u:alice:rw /home/test.txt //增加用户alice权限
[root@cuichengjie ~]# setfacl -m u:tom:rwx /home/test.txt /增加权限
[root@cuichengjie ~]# getfacl /home/test.txt
getfacl: Removing leading '/' from absolute path names
# file: home/test.txt
# owner: root
# group: root
user::rw-
user:tom:rwx 此为帮Tom增加的权限
group::r--
mask::rwx
other::r--
[root@youngfit ~]# setfacl -m u:jack:- /home/test.txt //增加用户jack权限 设置为-
[root@youngfit ~]# setfacl -m g:hr:r /home/test.txt //增加组hr的权限 读取权限
[root@youngfit ~]# setfacl -m o::rw /home/test.txt //增加所有用户的写入读取权限
格式:
查看:getfacl 所需查看文件路径
删除:setfacl -x 类型:用户名 文件路径 所删除路径为acl路径
[root@youngfit ~]# ll /home/test.txt
-rw-rw-r--+ 1 root root 0 10-26 13:59 /home/test.txt
[root@youngfit ~]# getfacl /home/test.txt
[root@youngfit ~]# setfacl -x u:alice /home/test.txt //删除用户alice的acl权限
[root@youngfit ~]# setfacl -x g:hr /home/test.txt //删除组hr的acl权限
[root@youngfit ~]# setfacl -b /home/test.txt //删除所有acl权限
[root@cuichengjie ~]# getfacl /home/test.txt
getfacl: Removing leading '/' from absolute path names
# file: home/test.txt
# owner: root
# group: root
user::rw-
user:tom:---
group::r--
mask::r--
other::r--
[root@cuichengjie ~]# getfacl /home/test.txt
getfacl: Removing leading '/' from absolute path names
# file: home/test.txt
# owner: root
# group: root
user::rw-
user:tom:---
group::r--
mask::r--
other::r--
[root@cuichengjie ~]# setfacl -x u:tom /home/test.txt //使用该语句删除用户权限,查看后user权限消失
[root@cuichengjie ~]# getfacl /home/test.txt
getfacl: Removing leading '/' from absolute path names
# file: home/test.txt
# owner: root
# group: root
user::rw-
group::r--
mask::r--
other::r--
[root@youngfit ~]# man setfacl /EXAMPLES
[root@youngfit ~]# getfacl file1 |setfacl --set-file=- file2 //复制file1的ACL权限给file2
需要进入再进行导入
[root@youngfit ~]# chmod a-x /usr/bin/chmod 如何添加x权限???