免费php网站模板,网络服务网络推广,天津小型企业网站设计,海南省海口市建设厅网站任务要求
1. 在跳板机上为开发部门专门创建一个目录#xff0c;只允许开发部门所有员工使用该目录
2. 其他人员不能进入和查看该目录里的内容
任务分解
1. 在跳板机给开发部门创建目录
2. 对该目录做好权限的管控工作
只允许开发部门的所有人使用#xff0c;创建、删除…任务要求
1. 在跳板机上为开发部门专门创建一个目录只允许开发部门所有员工使用该目录
2. 其他人员不能进入和查看该目录里的内容
任务分解
1. 在跳板机给开发部门创建目录
2. 对该目录做好权限的管控工作
只允许开发部门的所有人使用创建、删除等操作
不允许其他人员进入并且查看该目录里所有内容
只能自己管理自己不能删除别人的文件
理论储备
一、权限概述
㈠ 什么是权限
权限在计算机系统中权限是指某个计算机用户具有使用软件资源的权利。
思考计算机资源分为哪两部分
硬件资源 硬盘、CPU、内存、网卡等物理硬件资源
软件资源
软件操作系统(特殊的软件)、应用程序。只要不启动这些软件就是一堆静态的文件并且静静的躺在我们计 算机的磁盘中。
软件资源Linux系统中一切皆文件SO这里的软件资源就是文件资源。
总结
我们今天所讲的权限指的就是文件资源所拥有的相关权限即文件权限。
㈡ 权限设置目的
文件权限的设置目的是想让某个用户Linux操作系统中的用户有权利操作文件
㈢ 文件权限的分类
普通权限
用户正常情况去操作文件所具有的权限
高级权限
用户对某个文件操作有特殊需求而普通权限不能满足需要给文件设置高级权限
默认权限
用户在系统中创建一个文件该文件默认都会有一个权限该权限是默认有的
注意
权限是设置在文件上的而不是用户设置权限目的是让相应的人用户去操作相应的文件
二、普通权限(重点)
㈠ 理解普通权限rwx含义
1、读权限—r(read)
针对目录
一个目录拥有r权限说明可以查看该目录里的内容ls命令列出
针对普通文件
一个普通文件拥有r权限说明可以查看该文件的内容(cat/head/tail/less/more等命令查看)
读权限rread用数字表示是4
2、写权限—w(write)
针对目录 一个目录拥有w权限说明可以在该目录里创建、删除、重命名等操作mkdir/touch/mv/rm等
针对普通文件
一个普通文件拥有w权限说明可以修改该文件的内容vi/vim编辑器编辑文件
写权限wwrite用数字表示是2
3、执行权限—x(execute)
针对目录 一个目录拥有x权限说明可以进入或切换到该目录里cd命令
针对普通文件
一个普通文件拥有x权限说明可以执行该文件一般程序文件、脚本文件、命令都需要执行权限
执行权限xexecute用数字表示是1
4、没有权限—横杠
没有任何权限用横杠-表示数字表示是0
㈡ 理解UGO的含义
1、UGO指的是什么 UGO指的是用户身份每个字母代表不同的用户身份。
Uthe user who owns it
文件的拥有者(owner)或者创建者
Gother users in the file’s group
在文件的所属组默认是创建文件的用户的主组里的用户
Oother users not in the file’s group
既不是文件的创建者也不在文件属组里的用户称为其他人
注意
除了上面ugo以外还有一个字母aall users,表示所有用户包含ugo
2、如何判断不同身份的用户对文件的权限
查看文件详细信息包含权限信息
[rootlocalhost ~]# ls -l
total 144
-rw-r--r--. 1 root root 9 Mar 2 20:38 1.sh
-rw-------. 1 root root 1651 Feb 28 11:00 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Mar 6 18:34 Desktop
drwxr-xr-x. 2 root root 4096 Feb 28 14:12 dir1㈢ 修改文件普通权限(chmod)
1、chmod命令用法
u:表示文件拥有者
g:表示文件属组里的用户
o:表示其他人即不是文件的创建者也不在文件属组里
a:表示所有人环境准备
[rootheima ~]# mkdir /tmp/dir1
[rootheima ~]# touch /tmp/dir1/file{1..5}
[rootheima ~]# touch /tmp/test{1..3}
[rootheima ~]# ll /tmp/ -R使用字母形式修改文件权限
[rootheima tmp]# pwd
/tmp
[rootheima tmp]# ll test1
-rw-r--r--. 1 root root 0 Mar 6 20:45 test1
[rootheima tmp]# chmod ux test1
[rootheima tmp]# ll test1
-rwxr--r--. 1 root root 0 Mar 6 20:45 test1
[rootheima tmp]# chmod gw test1
[rootheima tmp]# ll test1
-rwxrw-r--. 1 root root 0 Mar 6 20:45 test1
[rootheima tmp]# chmod o-r test1
[rootheima tmp]# ll test1
-rwxrw----. 1 root root 0 Mar 6 20:45 test1
[rootheima tmp]# ll test2
-rw-r--r--. 1 root root 0 Mar 6 20:45 test2
[rootheima tmp]# chmod ax test2
[rootheima tmp]# ll test2
-rwxr-xr-x. 1 root root 0 Mar 6 20:45 test2
[rootheima tmp]# ll test3
-rw-r--r--. 1 root root 0 Mar 6 20:45 test3
[rootheima tmp]# chmod ux,gw,o-r test3
[rootheima tmp]# ll test3
-rwxrw----. 1 root root 0 Mar 6 20:45 test3
[rootheima tmp]# chmod urw,grx,or test3
[rootheima tmp]# ll test3
-rw-r-xr--. 1 root root 0 Mar 6 20:45 test3修改目录的权限
[rootheima tmp]# ll -d dir1/
drwxr-xr-x. 2 root root 4096 Mar 6 20:45 dir1/
[rootheima tmp]# ll dir1/
total 0
-rw-r--r--. 1 root root 0 Mar 6 20:45 file1
-rw-r--r--. 1 root root 0 Mar 6 20:45 file2
-rw-r--r--. 1 root root 0 Mar 6 20:45 file3
-rw-r--r--. 1 root root 0 Mar 6 20:45 file4
-rw-r--r--. 1 root root 0 Mar 6 20:45 file5
1.只修改目录本身的权限
[rootheima tmp]# chmod gw dir1/
[rootheima tmp]# ll -d dir1/
drwxrwxr-x. 2 root root 4096 Mar 6 20:45 dir1/
[rootheima tmp]# ll dir1/
total 0
-rw-r--r--. 1 root root 0 Mar 6 20:45 file1
-rw-r--r--. 1 root root 0 Mar 6 20:45 file2
-rw-r--r--. 1 root root 0 Mar 6 20:45 file3
-rw-r--r--. 1 root root 0 Mar 6 20:45 file4-rw-r--r--. 1 root root 0 Mar 6 20:45 file5
说明目录下面文件的权限并没有修改
2.修改目录以及目录里所有文件的权限递归修改使用-R参数
[rootheima tmp]# chmod -R ow dir1/
[rootheima tmp]# ll -d dir1/
drwxrwxrwx. 2 root root 4096 Mar 6 20:45 dir1/
[rootheima tmp]# ll dir1/
total 0
-rw-r--rw-. 1 root root 0 Mar 6 20:45 file1
-rw-r--rw-. 1 root root 0 Mar 6 20:45 file2
-rw-r--rw-. 1 root root 0 Mar 6 20:45 file3
-rw-r--rw-. 1 root root 0 Mar 6 20:45 file4
-rw-r--rw-. 1 root root 0 Mar 6 20:45 file5② 通过数字形式更改文件权限
学会用数字表示权限
字母和数字对应关系
r——4
w——2
x——1
-——0
rw- r-x r-- 用数字表示就是654
rwx rw- --- 用数字表示就是760
755 用字母表示就是rwx r-x r-x
644 用字母表示就是rw- r-- r--使用数字形式修改文件权限
# chmod 644 file1 rw-r--r--
# chmod 700 file2
# chmod -R 755 dir1
总结
1. 普通权限当中rwx含义
目录rls列出目录内容w创建、删除、重命名等操作xcd进入目录
文件rcat等相关工具查看文件内容w修改文件内容x可执行程序脚本文件等 2. 理解用户身份UGO
U文件的拥有者创建
G文件所属组里成员
O陌生人其他人
3. 如何设置文件的权限——chmod命令
用字母形式
chmod ux,grw,o-x filename数字形式
r——4
w——2
x——1
-——0
rw- r-x r-- 654
chmod 755 filename rwx r-x r-x
4. 是否可以在目录里创建或删除文件看当前目录本身是否有w权限
5. 对于正常操作目录而言一般都会具有r和x权限
3、课堂练习
1. 创建5个用户user01~user05和一个admin组
2. 将user01~user03用户加入到admin组里
3. user01用户在其家目录里创建file1~file3三个文件
4. user02用户编辑/home/user01/file1文件的内容good good study,day day up!
5. user05用户往/home/user01/file1文件里追加内容I known
6. user04用删除/home/user01家目录的所有文件
三、文件的属主和属组
㈠ 如何查看文件的属主和属组 ㈡ 如何修改文件的属主和属组
1、chown命令修改
chown 命令既可以修改文件的属主也可以修改文件的属组
只修改文件的属主
# chown 用户名 文件名
修改文件的属主和属组
# chown 用户名.组名 文件名
# chown 用户名:组名 文件名
# chown 用户名. 文件名 //没有指定组名默认是用户的主组
只修改文件的属组
# chown .组名 文件名
# chown :组名 文件名
可以加-R选项表示递归修改
2、chgrp命令修改
chgrp 命令只能修改文件的属组。
# chgrp 组名 文件名任务实施
一、创建目录在跳板机
[rootheima ~]# mkdir /data/code -p
二、目录做好权限管控
1、该目录只给开发人员使用
[rootheima ~]# ll -d /data/code/
drwxrwx---. 2 root coding 58 8月 1 22:18 /data/code/
2、开发所有人只能自己管理自己
测试结果
开发部门的人可以删除其他人的文件不满足需求怎么办
普通权限无法满足我们的需求尝试使用高级权限解决
chmod ot /data/code
扩展补充
一、高级权限(了解)
㈠ 高级权限有哪些
李大毛file1——》属主和属组是李大毛
王二狗使用vim编辑器修改李大毛的文件file1
1、冒险位(SETUID)
冒险位指文件操作者(用户)临时拥有文件拥有者的权限
冒险位一般针对的是命令或者脚本文件
冒险位用字母表示是s或S数字表示是4
冒险位的设置 chmod us 文件名 或者 chmod 4xxx 文件名
2、强制位(SETGID)
强制位一般针对的是目录 如果一个目录拥有强制位那么任何用户在该目录里所创建的任何文件的属组都会继承该目录的属组。/dir1---- admin yunwei---/dir1/file1
强制位用字母表示是s或S数字表示是2
强制位的设置 chmod gs 文件名 或者 chmod 2xxx 文件名
3、粘滞位(STICKY)
粘滞位一般针对的是公共目录 如果一个公共目录拥有粘滞位那么该目录下的文件只有root和文件的创建者可以删除其他人只能自己管 理自己。A用户不能删除B用户创建的文件
控制删除针对公共目录——》任何人都可以使用
粘滞位用字母表示是t或T数字表示是1
粘滞位的设置 chmod ot 文件名 或者 chmod 1xxx 文件名
㈡ 高级权限设置
1、冒险位举例
需求
给一个vim命令设置冒险位目的是任何人拿vim去修改文件可以临时获得文件拥有者的权限
[rootheima tmp]# which vim
/usr/bin/vim
[rootheima tmp]# ll /usr/bin/vim
-rwxr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
[rootheima tmp]# chmod us /usr/bin/vim
或者
[rootheima tmp]# chmod 4755 /usr/bin/vim
[rootheima tmp]# ll /usr/bin/vim
-rwsr-xr-x. 1 root root 2324712 Dec 22 2016 /usr/bin/vim
测试验证普通用户使用vim修改一个本没有权限修改的文件
[rootheima tmp]# ll /etc/passwd
-rw-r--r--. 1 root root 1650 Mar 5 20:39 /etc/passwd
[rootheima tmp]# su - user01
[user01localhost ~]$ vim /etc/passwd
验证是否可以修改成功如果可以说明user01用户临时拥有了/etc/passwd文件拥有者的权限
2、强制位举例
需求
给目录dir2设置一个强制位测试是否任何人在该目录里创建的文件属组都是该目录的属组
[rootheima tmp]# ll -d dir2
drwxr-xr-x. 2 root root 4096 Mar 6 13:42 dir2
给dir2增加强制位
[rootheima tmp]# chmod gs dir2
给dir2目录设置权限让其他人可以写
[rootheima tmp]# chmod ow dir2
[rootheima tmp]# ll -d dir2
drwxr-srwx. 2 root root 4096 Mar 6 13:42 dir2
测试普通用户user01在dir2目录里创建文件的属组是否是dir2的属组
[rootheima tmp]# su - user01
[user01localhost ~]$ touch /tmp/dir2/file1
[user01localhost ~]$ ll /tmp/dir2/file1
-rw-rw-r--. 1 user01 root 0 Mar 6 13:44 /tmp/dir2/file1
3、粘滞位举例
需求
在创建一个公共目录/tmp/dir3,要求所有人都可以在该公共目录里创建、删除文件但是只能自己管理自己不能删除别人
的文件
[rootlocalhost ~]# mkdir /tmp/dir3
[rootlocalhost ~]# chmod 777 /tmp/dir3
[rootlocalhost ~]# chmod ot /tmp/dir3
或者一步到位
[rootlocalhost ~]# chmod 1777 /tmp/dir3
[rootlocalhost ~]# ll -d /tmp/dir3
drwxrwxrwt. 2 root root 4096 Mar 6 13:52 /tmp/dir3
测试验证
自己完成
㈢ 总结
高级权限分类
冒险位——针对命令 s/S 4 chmod us 命令文件
强制位——针对目录 s/S 2 chmod gs 目录
粘滞位——针对公共目录 t/T 1 chmod ot 公共目录
高级权限设置
chmod 4xxx 文件名
chmod 2xxx 目录名
chmod 1777 公共目录
二、默认权限(了解)
㈠ 什么是文件的默认权限
所谓文件的默认权限(遮罩权限)是指用户创建文件后文件天生就有的权限不需要设置。
㈡ 文件默认权限由谁控制
文件默认权限由一个叫做umask的东西来控制。
㈢ umask如何控制文件默认权限
1、临时控制 什么是临时控制
临时控制指的是用命令 umask 临时设置只在当前终端当前进程中生效。
查看当前用户的umask
[rootlocalhost ~]# umask
0022
[rootlocalhost ~]# su - user01
[user01localhost ~]$ umask
0002
注意
1. 管理员和普通用户的umask不同就表示管理员和普通用户创建的文件的默认权限不同
2. 第1位数字表示高级权限后面3位数字表示普通权限如何临时设置用户的umask
写在前面
Linux系统中默认创建目录的最大权限是0777文件的最大权限是0666
[rootlocalhost ~]# umask 0007 临时设置root用户的umask为0007
问umask0007那么在当前终端上root用户所创建目录和普通文件的权限分别是什么呢
计算过程如下
umask文件的最大权限-文件的默认权限
目录
目录的默认权限0777-umask0777-00070770 rwxrwx---
普通文件
文件的默认权限0666-umask0666-00070660 rw-rw----
说明
1.权限用数字表示时没有负数所以最小就是0
2.默认权限规则遵循Linux系统中权限最小化原则
$ stu1 umask 0003
目录0777-00030774 rwxrwxr--
文件0666-00030663 rw-rw--wx 实际权限rw-rw-r--
$ user01 umask 0005
文件0666-00050661 rw-rw---x 实际权限:rw-rw--w
2、永久控制
什么是永久设置
永久设置指的是通过修改配置文件设置对用户的所有终端所有进程生效
修改哪个配置文件呢
1. 相关配置文件介绍
全局配置文件针对所有用户所有进程
/etc/profile
系统和用户的环境变量信息当用户第一次登录时,该文件被读取
/etc/bashrc
每个运行的bash信息系统别名、函数及默认权限的定义当bash被打开时,该文件被读取
局部配置文件针对某个特定用户以及用户的所有进程
~/.bashrc
当前用户的bash信息当用户登录和每次打开新的shell时该文件被读取
~/.bash_profile
当前用户的环境变量当用户登录时该文件被读取
~/.bash_history
保存当前用户历史命令的文件
~/.bash_logout
当用户退出bash或者终端时会首先执行该文件里的代码然后再退出2. 如何永久设置用户的umask
1.针对所有用户生效
# vim /etc/bashrc
在该文件的最后增加以下内容
umask 0007
重新读取该配置文件让其立马生效
# source /etc/bashrc
或者
# . /etc/bashrc
2.针对某个用户生效
比如只针对user01用户生效
[user01localhost ~]$ vim ~/.bashrc
在该文件的最后增加以下内容
umask 0007总结
1. 配置文件分为全局配置和局部配置
2. 全局和局部配置冲突一般情况下以局部配置为准二般情况看情况
㈣ 默认权限总结
1. 什么是文件的默认权限
文件被用户创建出来后天生自带的权限
2. 文件的默认权限由谁来控制
由umask的值来控制文件的默认权限
umask值针对的用户
3. 如何去更改或设置用户的umask呢
1临时设置
umask 007 只针对当前用户在当前终端生效
2永久设置
针对所有人生效——/etc/bashrc重新读取生效
针对某个人生效——~/.bashrc重新读取生效
三、ACL访问控制策略(扩展)
㈠ ACL能做什么
1. ACL访问控制策略可以作为前面所讲权限的补充更加细的来控制文件的权限
2. ACL策略可以只针对某个用户在文件上有相应权限
3. ACL策略也可以只针对多个用户或者一个组里的所有用户在文件上有相应权限
㈡ 如何设置文件的ACL策略
1、设置ACL策略(setfacl)
常用选项
-m 修改或者设置ACL策略
-R 递归授权对目录下已存在的目录或文件有acl策略但新建的文件没有
-x 去掉某个用户或者某个组的ACL策略
-b 删除所有的acl策略
-d 默认ACL策略只针对目录该目录下新建的目录和文件都会继承acl策略
mask: 定义除其他人和所有者外的最大权限
重点掌握
setfacl -m u:用户:rwx /home/redhat/file1 给单个用户单独加权限
setfacl -m g:组名:rwx /home/redhat/file1 给单个组单独加权限
setfacl -x u:用户 /home/redhat/file1 去掉某个用户的权限
setfacl -x g:组名 /home/redhat/file1 去掉某个组的acl策略
setfacl -b /home/redhat/file1 删除文件上所有的acl策略
# setfacl -m u:user01:rw file1 针对于单个用户给可读可写权限
# setfacl -m g:sysadmin:rw file1 针对于单个组给可读可写权限
2、查看ACL策略(getfacl
# getfacl 文件名
㈢ 课堂练习
1. 删除当前系统中的所有普通用户后再创建5个用户stu1~stu5和一个组admin
2. 将stu1~stu3加入到admin组中
3. stu1用户在自己的家目录里创建3个文件file1~file3
4. 只允许stu4用户修改file1文件
5. 同时允许admin组的所有成员修改file2文件的内容
任务总结
今日目标打卡
理解rwx分别对于普通文件和目录的不同含义
能够使用chmod命令的数字、字母形式修改文件的权限
能够使用chown命令更改文件的拥有者和所属组
了解高级权限中粘滞位的含义
能够使用setfacl命令针对某个用户在指定文件上有相应权限
能够使用setfacl命令针对某个组成员在指定文件上有相应权限
课后实战
作业1
1. root用户新建目录 /tmp/dir1要求目录的所属组是tom
2. 创建tom用户tom用户是否允许在/tmp/dir1下建立文件tomfile如果不允许如何让tom用户在/tmp/dir1 目录里创建文件tomfile?
3. 用户jack如果想修改tom用户创建的tomfile文件怎么做
作业2
以普通用户user01身份登录新建公共目录/shared/sysadmin并且属于sysadmin组
1. 要求组成员有读写访问的权限其他成员没有任何权限
2. 要求任何人在/shared/sysadmin面创建的文件全部属于sysadmin组
3. 要求harry可写natasha不能读写 4. 要求该目录下的文件只有root和文件创建者可以删其他人不能删除别人的文件
综合练习
1. 使用普通用户stu1登录系统并在/u01/STU1目录下创建一个文件zhangsan内容为我是某某某我要努力 学习我一定能行的加油I am jack, I want to study hard,I can do it,come on
2. 使用stu2用户登录系统并修改stu1用户刚刚创建的文件zhangsan增加内容我要和你挑战I want to challenge you并在相同的目录下创建一个自己的文件lisi内容同上
3. stu3用户同时可以查看stu1和stu2两个用户的文件但是不能做任何修改