文章目录
-
- 1 Linux 组基本介绍
- 2 文件/目录 所有者
-
- 2.1 查看文件的所有者
- 2.2 修改文件所有者【change own】
- 3 组的创建
- 4 文件/目录 所在组
-
- 4.1 查看文件/目录 所在组
- 4.2 修改文件所在的组
- 5 其他组
- 6 改变用户所在组
- 7 权限的基本介绍
- 8 rwx权限详解,难点
-
- 8.1 rwx作用到文件
- 8.2 rwx作用到目录
- 9 文件及目录权限实际案例
- 10 修改权限 -chmod
-
- 10.1 第一种方式:+、-、= 变更权限
- 10.2 第二种方式:通过数字变更权限
- 11 修改文件所有者-chown
- 12 修改文件/目录所在组-chgrp
- 13 最佳实践-警察和土匪游戏
- 14 课堂练习
- 15 课堂练习2,完成如下操作
1 Linux 组基本介绍 在 Linux 中的每个用户必须属于一个组,不能独立于组外。
在Linux 中每个文件有所有者、所在组、其他组的概念。
- 所有者
- 所在组
- 其他组
- 改变用户所在的组
文章图片
2 文件/目录 所有者 一般为文件的创建者,谁创建了该文件,就自然的成为了该文件的所有者。
2.1 查看文件的所有者
- 指令:
ls -ahl
- 应用实例:
文章图片
2.2 修改文件所有者【change own】
- 指令:
chown 用户名 文件名
- 应用实例:
- 要求:使用 root 创建一个文件 apple.txt ,然后将其所有者修改成 tom
chown tom apple.txt
文章图片
文章图片
3 组的创建
- 基本指令:
groupadd 组名
- 应用实例:
- 创建一个组 monster
groupadd monster
- 创建一个用户 fox ,并放入到 monster 组中
useradd -g monster fox
文章图片
4 文件/目录 所在组 当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
4.1 查看文件/目录 所在组
- 基本指令:
ls -ahl
- 应用实例:
- 使用 fox 创建一个文件,看看这个文件属于哪个组
文章图片
文章图片
4.2 修改文件所在的组
- 基本指令:
chgrp 组名 文件名
- 应用实例:
使用root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 fruit 组
- 先创建 fruit 组 =>
groupadd fruit
- 使用root登录,创建文件 =>
touch orange.txt
- 看看当前这个文件属于哪个组 -> root组
- 修改文件所在组 =>
chgrp fruit orange.txt
- 先创建 fruit 组 =>
文章图片
文章图片
5 其他组 除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
6 改变用户所在组 在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root 的管理权限也可以改变某个用户所在的组
- 指令:
usermod -g 新组名 用户名
改变用户所在组usermod -d 目录名 用户名
改变该用户登录的初始目录,特别说明:用户需要有进入到新目录的权限
- 应用实例:
将 swk 这个用户从原来所在组,修改到 huaguoshan 组
文章图片
7 权限的基本介绍
ls -l
中显示的内容如下:=> 视频链接-rw-r--r--.1 tomroot0 6月24 17:28 apple.txt
文章图片
文章图片
文章图片
0-9位说明:
- 第 0 位确定文件类型 (d, -, l, c, b)
- l 是链接,相当于Windows的快捷方式
- d 是目录,相当于Windows的文件夹
- c 是字符设备文件,鼠标,键盘
- b 是块设备,比如硬盘
- - 表示普通文件
- 第 1-3 位确定所有者 (该文件的所有者) 拥有该文件的权限
- 第 4-6 位确定所属组 (同用户组的) 拥有该文件的权限
- 第 7-9 位确定其他用户拥有该文件的权限
- r:代表可读(read)可以读取,查看
- w:代表可写(write)可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件
- x:代表可执行(execute)可以被执行
- 【r】代表可读(read)可以读取,
ls
查看目录内容 - 【w】代表可写(write)可以修改,对目录的内 创建+删除+重命名目录
- 【x】代表可执行(execute)可以进入该目录
ls -l
中显示的内容如下:-rw-r--r--.1 tomroot7 6月25 10:01 apple.txt
文章图片
- 10 个字符确定不同用户能对文件干什么
- 第 1 个字符代表文件类型:- l b c d
- 其余字符每 3 个一组(r w x)
- 第一组 :文件拥有者的权限是读、写不能执行
- 第二组:与文件拥有者同一组的用户的权限是读,不能写和执行
- 第三组:不与文件拥有者同组的其他用户的权限是读,不能写和执行
- 可用数字表示:
- r=4 ,w=2 ,x=1
- 因此:rwx = 4+2+1 = 7
- 其他说明:
- 1 :文件:硬连接数;目录:子目录数
- tom :文件所有者
- root :文件所在组
- 7 :文件大小(字节)如果是文件夹,显示 4096 字节
- 6月 25 10:01 :最后的修改日期
- apple.txt :文件名
- 基本说明:通过 chmod指令,可以修改文件或目录的权限
u:所有者 g:所在组 o:其他组 a:所有人(u、g、o 的总和)
(1)
chmod u=rwx,g=rx,o=x 文件名/目录名
(2)
chmod o+w 文件名。目录名
(3)
chmod a-x 文件/目录名
- 案例演示
- 给abc文件 的所有者读写执行的权限,给所在组读执行权限,给其他组执行权限
==>chmod u=rwx,g=rx,o=x abc
- 给abc文件的所有者除去执行的权限,增加组写的权限
==>chmod u-x,g+w abc
- 给abc文件的所有用户添加读的权限
==>chmod a+r abc
- 给abc文件 的所有者读写执行的权限,给所在组读执行权限,给其他组执行权限
r=4 w=2 x=1rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件名/目录名
- 相当于 =>
chmod 751 文件名/目录名
- 案例演示:要求:将 /home/abc.txt 文件的权限修改成
rwxr-xr-x
,使用给数字的方式实现 =>chmod 755 /home/abc.txt
- 基本介绍:
chown newowner 文件/目录
改变所有者chown newowner:newgroup 文件/目录
改变所有者和所在组-R
如果是目录,则使其下所有子文件或目录递归生效
- 案例演示:
- 请将 /home/abc.txt 文件的所有者修改成 tom
==>chown tom /home/abc.txt
- 请将 /home/kkk 目录下所有文件和目录的所有者都修改成 tom
==>chown -R tom /home/kkk
- 请将 /home/abc.txt 文件的所有者修改成 tom
- 基本介绍:
chgrp newgroup 文件/目录
改变文件所在组
- 案例演示:
- 请将 /home/abc.txt 文件的所在组修改成 shaolin (少林)
=>groupadd shaolin
--先创建组
=>chgrp shaolin /home/abc.txt
- 请将 /home/kkk 目录下所有的文件和目录的所在组都修改成 shaolin (少林)
=>chgrp -R shaolin /home/kkk
- 基本介绍:
- 现在有两个组:police,bandit
- 目前有四个用户:
- 警察:jack,jerry
- 土匪:abcd,xyzw
- 游戏演示:
- 创建组
=>groupadd police
;groupadd bandit
- 创建用户
=>useradd -g police jack
;useradd -g police jerry
=>useradd -g bandit abcd
;useradd -g bandit xyzw
- jack 创建一个文件,自己可以读写,本组人可以读,其他组没有任何权限
=> 首先jack登录;vim jack.txt
;chmod 640 jack.txt
- jack 修改该文件,让其他组可以读,本组人可以读写
=>chmod 644 jack.txt
或者chmod o+r,g+w jack.txt
- abcd 投靠警察,看看是否可以读写
=>usermod -g police abcd
—这条指令需要root用户执行 - 测试看看 abcd是否可以读写,xyzw是否可以读写。小结论:如果需要对目录内的文件进行操作,需要先对该目录有相应权限
- 建立两个组:神仙(sx),妖怪(yg)
- 建立四个用户 (唐僧,悟空,八戒,沙僧)
- 设置密码
- 把悟空,八戒放入妖怪组,唐僧,沙僧 在神仙组
- 用悟空建立一个文件(monkey.java 该文件要输出 i am monkey)
- 给八戒一个可以 读、写 的权限
- 八戒修改 monkey.java,加入一句话(i am pig)
- 唐僧 沙僧 对该文件没有权限
- 把 沙僧 放入妖怪组
- 让沙僧 修改 该monkey.java文件,加入一句话(“我是沙僧,我是妖怪!”)
- 对文件夹 rwx 的细节讨论和测试
==> 点击查看视频
(1)x:表示是否有权限进入该目录,(如执行cd指令
)
(2)r:表示是否可以将目录的内容显示处理 (如执行ls指令
)
(3)w:表示是否有权限在该目录 创建或者删除 文件 (如执行touch指令
)
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
15 课堂练习2,完成如下操作
- 用 root 登录,建立用户 mycentos,自己设置密码
- 用 mycentos 登录,在主目录下建立目录 test/t11/t1
- 在 t1 中建立一个文本文件 aa ,用 vi 编辑其内容为 ls -al
- 改变 aa 的权限为可执行文件【可以将当前日期追加到一个文件】,运行该文件
- 删除新建立的目录 test/t11/t1
- 删除用户 mycentos 及其主目录的内容
- 将 Linux 设置成进入图形界面
- 重新启动 Linux 或关机
推荐阅读
- ORACLE|How to install oracle19c in Centos8
- linux工作中常用之必备基础命令
- 运维工程师必须知道的 11 个 Linux 网络命令
- Linux系统中ls命令用法详解
- redis|Redis集群之哨兵模式
- Docker运维技术最佳实践|08-Docker 镜像安装实践(MySql数据库,Redis数据库,Nginx代理,Nacos组件)
- 机器学习和深度学习|GPU的租用Pycharm连接远程GPU服务器跑深度学习
- 服务器|腾讯云轻量应用服务器CentOS系统使用docker安装tomcat,MySQL 并发布SSM maven项目
- nginx|CentOS 8.2安装nginx教程