Linux 实操篇-组管理和权限管理

news2024/11/19 7:40:51

Linux 实操篇-组管理和权限管理

Linux 组基本介绍

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

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

文件/目录所有者

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

查看文件的所有者

指令:ls –ahl

应用实例

image.png

改文件所有者

指令:chown 用户名文件名

应用案例

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

chown tom apple.txt

组的创建

基本指令

groupadd 组名

应用实例

创建一个组, ,monster

groupadd monster

创建一个用户fox ,并放入到monster 组中

useradd -g monster fox

文件/目录所在组

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

查看文件/目录所在组

基本指令

ls –ahl

应用实例, 使用fox 来创建一个文件,看看该文件属于哪个组?

-rw-r–r–. 1 fox 0 11 月5 12:50 ok.txt

修改文件/目录所在的组

基本指令

chgrp 组名文件名

应用实例

使用root 用户创建文件orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到fruit 组。

  1. groupadd fruit
  2. touch orange.txt
  3. 看看当前这个文件属于哪个组-> root 组
  4. chgrp fruit orange.txt

其它组

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

改变用户所在组

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

改变用户所在组

usermod –g 新组名用户名

usermod –d 目录名用户名改变该用户登陆的初始目录。特别说明:用户需要有进入到新目录的权限。

应用实例

将zwj 这个用户从原来所在组,修改到wudang 组

usermod -g wudang zwj

权限的基本介绍

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

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

-rwx-(rw-)(r–) 1 root root 1213 Feb 2 09:39 abc

0-9 位说明

  1. 第0 位确定文件类型(d, - , l , c , b)
  2. -是普通文件
  3. l 是链接,相当于windows 的快捷方式
  4. d 是目录,相当于windows 的文件夹
  5. c 是字符设备文件,鼠标,键盘
  6. b 是块设备,比如硬盘
  7. 第1-3 位确定所有者(该文件的所有者)拥有该文件的权限。—User
  8. 第4-6 位确定所属组(同用户组的)拥有该文件的权限,—Group
  9. 第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) 读® 写(w) 执行(x)

第一组rwx : 文件拥有者的权限是读、写和执行

第二组rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行

第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行

  1. 可用数字表示为: r=4,w=2,x=1 因此rwx=4+2+1=7 , 数字可以进行组合

  2. 其它说明

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

修改权限-chmod

基本说明:

通过chmod 指令,可以修改文件或者目录的权限。

第一种方式:+ 、-、= 变更权限

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 文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。

    chmod 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

修改文件所有者-chown

基本介绍

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

案例演示

  1. 请将/home/abc.txt 文件的所有者修改成tom

    chown tom /home/abc.txt

  2. 请将/home/test 目录下所有的文件和目录的所有者都修改成tom

    chown -R tom /home/test

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

基本介绍

chgrp newgroup 文件/目录【改变所在组】

案例演示

  1. 请将/home/abc .txt 文件的所在组修改成shaolin (少林)

    groupadd shaolin

    chgrp shaolin /home/abc.txt

  2. 请将/home/test 目录下所有的文件和目录的所在组都修改成shaolin(少林)

    chgrp -R shaolin /home/test

最佳实践-警察和土匪游戏

police , bandit
jack, jerry: 警察
xh, xq: 土匪

  1. 创建组groupadd police ; groupadd bandit

  2. 创建用户

    useradd -g police jack ; useradd -g police jerry

    useradd -g bandit xh; useradd -g bandit xq

jack 创建一个文件,自己可以读r 写w,本组人可以读,其它组没人任何权限

  1. 首先jack 登录; vim jack.txt ; chmod 640 jack.txt

  2. jack 修改该文件,让其它组人可以读, 本组人可以读写

    chmod o=r,g=r jack.txt

  3. xh 投靠警察,看看是否可以读写.

    usermod -g police xh

测试,看看xh 是否可以读写,xq 是否可以,

小结论,就是如果要对目录内的文件进行操作,需要要有对该目录的相应权限

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/603977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

First Order Motion Model for Image Animation 笔记

First Order Motion Model for Image Animation 摘要 Image animation consists of generating a video sequence so that an object in a source image is animated according to the motion of a driving video. Our framework addresses this problem without using any a…

表情识别(从原理到代码安装)

1. 项目介绍 面青识别(face_classification )是一个基于深度学习的面部表情识别项目,它使用 Keras 和 TensorFlow 框架来实现模型的训练和预测。该项目的主要目标是在图像或视频中检测并识别人脸表情,并将其分类为七种不同的情绪类别:生气、厌恶、害怕、高兴、平静、伤心…

JVM学习笔记(完结)

类加载与字节码技术 1、类文件结构 通过 javac 类名.java 编译 java 文件后,会生成一个 .class 的文件! 以下是字节码文件: 0000000 ca fe ba be 00 00 00 34 00 23 0a 00 06 00 15 09 0000020 00 16 00 17 08 00 18 0a 00 19 00 1a 07 00…

全面大涨原因!多家基金解读

周五!大涨! 6月2日,A股以强势反弹结束本周的交易,整体全面上行,几乎所有主流指数都收涨。沪指高开高走,深成指、创业板指涨超1%。总体来看,个股涨多跌少,两市超3300股处于上涨状态。…

Linux4.4网页与安全优化

文章目录 计算机系统5G云计算第一章 LINUX Apache网页与安全优化一、网页压缩1.检查是否安装 mod_deflate 模块2.如果没有安装mod_deflate 模块,重新编译安装 Apache 添加 mod_deflate 模块3.配置 mod_deflate 模块启用4.检查安装情况,启动服务5.测试 mo…

redis第三章-redis集群redisCluster

1.redis集群模式比较 (1)哨兵模式 哨兵模式是利用哨兵来做主从切换的,当主节点发生故障的时候,通过哨兵去选取出一个从节点作为主节点,但本身哨兵的配置还是有些麻烦,并且实际上哨兵的性能和高可用性一般…

chatgpt赋能python:使用Python创建结构体:完全指南

使用Python创建结构体:完全指南 在Python编程领域,结构体是一种非常方便和有用的数据类型,用于存储和组织相关变量。在本篇文章中,我们将讨论如何使用Python创建结构体。让我们开始吧! 什么是结构体? 结…

shell学习

1、/etc/hosts的作用 Windows下的目录C:\Windows\System32\drivers\etc\hosts Linux下目录/etc/hosts 如 我们在/etc/hosts文件中添加一行 39.156.66.10 taobao.com 原理是,我们在浏览器输入 taobao.com,那么网站就可以打开百度的网站 但是现实是网…

7大常用ES6特性,助力你写出更现代化的JavaScript

文章目录 1. 模板字符串2. 箭头函数3. let 和 const4. 解构赋值5. 函数默认参数6. 模块化7. Promise 1. 模板字符串 模板字符串是一种新的字符串类型,它允许你在字符串中插入变量,方便了JavaScript开发者的开发体验。 ES6的模板字符串(Templa…

demo:搜索帮助出口

写报表,用到搜索帮助,太久不写了,忘了,然后简单测了下。 当然方法很多,我只是突然想起这个东西来了,就测了下,条条大路通北京,想咋实现就咋实现吧,实现了就得了~ 代码很简…

chatgpt赋能python:Python代码教你删除空文件夹——让你的电脑系统更健康

Python代码教你删除空文件夹——让你的电脑系统更健康 作为一名有着10年python编程经验的工程师,我发现在电脑里存储着太多的空文件夹时会对电脑系统造成负面影响。空文件夹占用了硬盘空间,这可能导致你的电脑运行缓慢或者存储空间不足。因此&#xff0…

Qt下使用Sqlite数据库实现图像的读写显示

系列文章目录 提示:这里是该系列文章的所有文章的目录 第一章: Qt连接Sqlite3并使用Qtableview实时显示数据,重写QSqlQueryModel实现文本居中 第二章: Qt下使用Sqlite数据库实现图片的读写显示 文章目录 系列文章目录前言一、初始…

python3.10在centos下安装以及配置

python在centos下安装以及配置 1.背景 centos下默认的都是python2.7下载需要更换为3.x使用,目前大部分应用都是基于pyhton3了 具体步骤: 先按装openssh 不安装会报错 而且要安装高版本 要不然不兼容 报错如: WARNING: pip is configured …

chatgpt赋能python:Python创建程序的SEO指南

Python创建程序的SEO指南 Python是一种流行的高级编程语言,被广泛用于开发Web应用程序、人工智能、数据分析和科学计算等领域。在创建Python程序时,也要考虑SEO因素,以优化网页在搜索引擎结果中的排名。本文将介绍如何创建具有SEO友好性的Py…

软考A计划-电子商务设计师-电子商务系统开发知识

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

【深入浅出 Spring Security(四)】登录用户数据的获取,超详细的源码分析

登录用户数据的获取 一、SecurityContextHolder 源码分析ListeningSecurityContextHolderStrategy 使用案例SecurityContextPersistenceFilter 说明 二、登录用户数据的获取三、总结 在【深入浅出Spring Security(一)】Spring Security的整体架构 中叙述…

Gradle 介绍,根据 Gradle 官方文档整理

这部分内容主要根据 Gradle 官方文档整理,做了对应的删减,主要保留比较重要的部分,不涉及实战,主要是一些重要概念的介绍。 Gradle 这部分内容属于可选内容,可以根据自身需求决定是否学习,目前国内还是使用…

回调函数与钩子函数的区别,另QT中connect函数的实现,lambda的使用

1、钩子函数是回调函数的一种 广泛来说两者都是一样的 严格来说 钩子函数的函数名早已被定义好,只是函数内部需要用户在应用层来定义, 1)可以完全通过宏来实现系统是否调用该函数(底层不封闭,修改宏的参数实现是否编…

chatgpt赋能python:Python动态分配内存:了解它的工作原理

Python动态分配内存:了解它的工作原理 Python是一种高级编程语言,它在处理内存和垃圾回收方面具有独特的方式。在Python中,内存分配和释放是动态的,并且由解释器自动完成。这意味着,Python程序员无需手动管理内存&…

C/C++/Qt 文件操作 效率比较

C/C/Qt 文件操作 & 效率比较 1 介绍2 比较结果2.1 Linux平台上运行程序普遍比Windows上快;Windows下VC编译的程序一般运行比MINGW(MINimal Gcc for Windows)快2.2 二进制文件的操作要快于文本文件;写文件的操作要快于读文件&a…