IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux实操篇 - 10.组管理和权限管理 -> 正文阅读

[系统运维]Linux实操篇 - 10.组管理和权限管理

连接视频


Linux组基本介绍

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中的每个文件有所有者、所在组、其它组的概念。

  1. 所有者
  2. 所在组
  3. 其它组
  4. 改变用户所在的组

示意图:
在这里插入图片描述


文件/目录 所有者

一般文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。

  • 查看文件的所有者
    指令ls -ahl

  • 修改文件所有者
    指令chown 用户名 文件名

  • 应用案例
    要求:使用root创建一个文件apple.txt,然后将其所有者修改成 tom

    ls -ahl
    在这里插入图片描述
    在这里插入图片描述
    chown tom applt.txt
    在这里插入图片描述


组的创建

  • 基本指令
    groupadd 组名

  • 应用实例
    创建一个组,monster
    groupadd monster
    创建一个用户 fox,并放入到 monster组中
    useradd -g monster fox

    在这里插入图片描述


文件/目录 所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。

  • 查看文件/目录所在组
    基本命令ls -ahl 或者 ll
    应用实例,使用 fox 来创建一个文件,看看该文件属于哪个组?

    ll
    在这里插入图片描述

  • 修改文件所在组
    基本命令chgrp 组名 文件名
    应用实例:使用root创建文件 orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 fruit组。
    1、groupadd fruit
    2、touch orange.txt
    3、看看当前这个文件属于哪个组 -> root
    4、chgrp fruit orange.txt

    groupadd fruit
    在这里插入图片描述
    在这里插入图片描述
    chgrp fruit orange.txt
    在这里插入图片描述
    在这里插入图片描述


其它组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组


改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在组。

  • 改变用户所在组
    1、usermod -g 新组名 用户名
    2、usermod -d 目录名 用户名 改变该用户登陆的初始目录。-- 特别说明:用户需要有进入到新目录的权限

  • 应用实例
    将 zwj 这个用户从原来所在组,修改到 wudang 组。
    usermod -g wudang zwj

    usermod -g wudang zwj
    在这里插入图片描述



权限的基本介绍

ls -l 中显示的内容如下:

-rwxrw-r-- 1 tom root 0 x月 xx xx:xx applt.txt
-rwxrw-r– 有10位数 如下说明:

0-9位说明

  1. -:第0位确定文件类型(d, -, l, c, b
    l是链接,相当于windows的快捷方式
    d是目录,相当于windows的文件夹
    c字符设备文件,鼠标、键盘
    b是块设备,比如硬盘
    -是普通文件
  2. rwx:第1-3位确定所有者(该文件的所有者)拥有该文件的权限。 — User
  3. rw-:第4-6位确定所属组(同用户组的)拥有该文件权限。 – Group
  4. r--:第7-9位确定其他用户拥有该文件的权限。 – Other

rwx权限详解

  • rwx作用到文件
  1. [r]代表可读(read):可以读取,查看
  2. [w]代表可写(write):可以修改,但不代表可以删除该文件,删除一个文件的前提条件是对该文件所在目录有写权限,才能删除
  3. [x]代表可执行(execute):可以被执行
  • rwx作用到目录
  1. [r]代表可读(read):可以读取,ls查看目录内容
  2. [w]代表可写(write):可以修改,对目录内创建+删除+重命名目录
  3. [x]代表可执行(execute):可以进入该目录

文件及目录权限实际案例

  • ls -l 显示的内容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户类型能对文件干什么:
第一个字符代表文件类型:- l d c b
其余字符每3个一组(rwx)读(r) 写(w) 执行(x)
第一组rwx:文件拥有者的权限是读、写和执行
第二组rw-:与文件拥有者同一组的用户权限是读、写但不能执行
第三组r--:不与文件拥有者同组的其他拥有权限是读不能写和执行

可用数字表示为:r=4,w=2,x=1 因此 rwx=4+2+1=7

  • 其它说明:
    1 文件:硬连接数或 目录:子目录数
    root 用户
    root
    1213 文件大小(字节),如果是文件夹,显示 4096字节
    Feb 2 09:39 最后修改日期
    abc 文件名

修改权限-chmod

  • 基本说明
    通过chmod指令,可以修改文件或者目录的权限

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。
在这里插入图片描述
只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。

在这里插入图片描述

  • 第一种方式:+、-、= 变更权限
    u:所有者 g:所有组 o:其他人 a:所有人(u、g、o的总和)
    1)chmod u=rwx,g=rx,o=x 文件/目录名
    2)chmod o+w 文件/目录名
    3)chmod a-x 文件/目录名
    案例演示:
    1、给abc文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
    chomd u=rwx,g=rx.o=rx abc
    2、给abc文件的所有者除去执行的权限,增加组写权限
    chmod u-x,g+w abc
    3、给abc文件的所有用户组添加读的权限
    chmod a+r abc

    在这里插入图片描述

  • 第二种方式:通过数字变更权限

    r=4 w=2 x=1 rwx=4+2+1=7
    chmod u=rwx,g=rx,o=x 文件/目录名
    相当于
    chmod 751 文件/目录名

    案例演示:
    要求:将 /home/abc.txt 文件的权限修改成 rwxr-xr-x,使用给数字的方式实现:
    指令:chmod 755 /home/abc.txt


修改文件所有者-chmod

  • 基本介绍
    chown newowner 文件/目录名 改变所有者
    chown newowner:newgroup 文件/目录名 改变所有者和所在组
    -R 如果是目录 则使其所有子文件或者目录递归生效

  • 案例演示
    1、将 /home/abc.txt 文件的所有者修改成 tom
    chown tom /home/abc.txt
    2、将 /home/test 目录下所有的文件和目录的所有者都修改成tom
    chown -R tom /home/kk

    chown tom /home/abc.txt
    在这里插入图片描述
    chown -R tom /home/kk
    在这里插入图片描述
    在这里插入图片描述


修改文件/目录所在组-chgrp

  • 基本介绍
    chgrp newgroup 文件/目录 改变所在组

  • 案例演示
    1、将/home/abc.txt 文件的所在组修改成 shaolin
    指令1:groupadd shaolin
    指令2:chgrp shaolin /home/abc.txt
    2、将 /home/test 目录下所有的文件和目录的所在组都修改成 shaolin
    指令:chgrp -R shaolin /home/test



权限管理应用实例

1、 警察和土匪游戏
police,bandit
jack,jerry:警察
xh,xq:土匪
1、创建组
指令1:groupadd police
指令2:groupadd bandit
2、创建用户
指令1:useradd -g police jack
指令2:useradd -g police jerry
指令3:useradd -g bandit xh
指令4:useradd -g bandit xq
3、jack 创建一个文件,自己可以读写,本组可以读,其它组没有任何权限
首先 jack 登录;
指令1:vim jack.txt
指令2:chmod 640 jack.txt 【相当于:chmod u=rw,g=r,o= jack.txt
4、jack 修改该文件,让其他它组人可以读,本组人可以读写
指令1:chmod 644 jack.txt 或者 chmod g=r,o=r jack.txt
5、xh 投靠 警察,看看是否可以读写
指令1:usermod -g police xh 【root权限执行】

在这里插入图片描述

小结论:就是如果要对目录内容的文件进操作,需要要有对该目录的相应权限
使用root或者jack用户,进行修改目录权限:
指令:chmod 770 /home/jack 【相关于:chmod u=rwx,g=rwx,o= /home/jack
在这里插入图片描述
在这里插入图片描述


2、文件权限管理,完成如下操作:

  1. 建立两个组(神仙:sx 妖怪:yg)
    groupadd sx
    groupadd yg

  2. 建立四个用户(唐僧、悟空、八戒、沙僧)
    useradd ts
    useradd wk
    useradd bj
    useradd ss

  3. 设置密码
    passwd ts
    ...

  4. 把悟空、八戒放入妖怪组,唐僧和沙僧 在神仙组
    usermod -g yg wu
    usermod -g yg bj
    usermod -g sx ts
    usermod -g sx ss

  5. 用悟空建立一个文件(monkey.java 该文件要输出 i am monkey)
    vim monkey.java

  6. 给八戒一个可以 r w 的权限
    chmod g+w monkey.java

  7. 八戒修改monkey.java 加入一句话(i am pig)
    chmod g+r+w+x wk 【root或者wk用户操作】
    vim monkey.java

  8. 唐僧 沙僧 对该文件没有权限
    chmod o= wk

  9. 把 沙僧 放入妖怪组
    usermod -g yg ss 【重新登陆,更新沙僧用户权限】

  10. 让 沙僧 修改该文件 monkey,加入一句话(“我是沙僧,我是妖怪!”)
    vim monkey.java 【或者使用 echo "我是沙僧,我是妖怪" >> /home/wu/monkey.java

  11. 对文件夹 rwx 详细说明:
    x:表示可以进入该目录,比如:cd
    r:表示可以ls,将目录内容显示出来
    w:表示可以在该目录,删除或者创建文件


3、完成如下操作:

  1. 用root登录,建立用户mycentos,自己设置密码
    useradd mycentos
    passwd mycentos
  2. 用mycentos登录,在主目录建立目录 test/t11/t1
    mkdir -p /home/mycentos/test/t11/t1
  3. 在 t1 中建立一个文本文件 aa,用 vi 编译其内容 ls -al
    vim aa
  4. 改变 aa 的权限为可执行文件【可以将当前日期追加到一个文件】,运行该文件 ./aa
    chmod u+x aa
    echo date >> aa
    ./aa
  5. 删除新建立的目录 test/t11/t1
    rm -rf /home/mycentos/test/t11/t1
  6. 删除用户mycentos及其主目录下的内容
    userdel -r mycentos
  7. 将linux设置成进入图形界面的
    systemctl set-default TARGET.targe
  8. 重新启动linux或者关机
    reboot
    shutdown -h now
    halt
    init 0
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:50:00  更:2022-04-24 09:51:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:44:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码