Linux组管理和权限管理

Linux组管理和权限管理

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

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

文件/目录 所有者

查看文件的所有者

指令:ls –ahl

修改文件所有者

指令:chown 用户名 文件名

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

组的创建

基本指令
groupadd 组名

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

文件/目录 所在组

查看文件/目录所在组

基本指令
ls –ahl

修改文件/目录所在的组

基本指令

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

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

可用数字表示为: r=4,w=2,x=1 因此 rwx=4+2+1=7 , 数字可以进行组合
其它说明
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 文件/目录
改变所在组

请将 /home/abc .txt 文件的所在组修改成 shaolin (少林)
groupadd shaolin
chgrp shaolin /home/abc.txt
请将 /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
  3. jack 创建一个文件,自己可以读 r 写 w,本组人可以读,其它组没人任何权限
    首先 jack 登录 ; vim jack.txt ; chmod 640 jack.txt
  4. jack 修改该文件,让其它组人可以读, 本组人可以读写
    chmod o=r,g=r jack.txt
  5. xh 投靠 警察,看看是否可以读写.
    usermod -g police xh
  6. 测试,看看 xh 是否可以读写,xq 是否可以, 小结论,就是如果要对目录内的文件进行操作,需要要有对该目录的相应权限

测试

例一

练习文件权限管理[课堂练习], 完成如下操作.

  1. 建立两个组(神仙(sx),妖怪(yg))
  2. 建立四个用户(唐僧,悟空,八戒,沙僧)
  3. 设置密码
  4. 把悟空,八戒放入妖怪 唐僧 沙僧 在神仙
  5. 用悟空建立一个文件 (monkey.java 该文件要输出 i am monkey)
  6. 给八戒一个可以 r w 的权限
  7. 八戒修改 monkey.java 加入一句话( i am pig)
  8. 唐僧 沙僧 对该文件没有权限
  9. 把 沙僧 放入妖怪组
  10. 让沙僧 修改 该文件 monkey, 加入一句话 (“我是沙僧,我是妖怪!”);
  11. 对文件夹 rwx 的细节讨论和测试!!!
    x: 表示可以进入到该目录, 比如 cd
    r: 表示可以 ls , 将目录的内容显示
    w: 表示可以在该目录,删除或者创建文件

2,完成如下操作

  1. 用 root 登录,建立用户 mycentos,自己设定密码
  2. 用 mycentos 登录,在主目录下建立目录 test/t11/t1
  3. 在 t1 中建立一个文本文件 aa,用 vi 编辑其内容为 ls –al
  4. 改变 aa 的权限为可执行文件[可以将当前日期追加到一个文件],运行该文件./aa
  5. 删除新建立的目录 test/t11/t1
  6. 删除用户 mycentos 及其主目录中的内容
  7. 将 linux 设置成进入到图形界面的
  8. 重新启动 linux 或关机

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

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

相关文章

C++函数对象-运算符函数对象 - 旧式绑定器与适配器 - 与适配器兼容的一元函数基类(std::unary_function)

任何定义了函数调用操作符的对象都是函数对象。C 支持创建、操作新的函数对象,同时也提供了许多内置的函数对象。 运算符函数对象 C 针对常用的算术和逻辑运算定义了很多函数对象: 旧式绑定器与适配器 早期提供功能支持的几个工具在 C11 中弃用&#x…

人工智能专题:基础设施行业智能化的基础设施,自智网络双价值分析

今天分享的是人工智能系列深度研究报告:《人工智能专题:基础设施行业智能化的基础设施,自智网络双价值分析》。 (报告出品方:埃森哲) 报告共计:32页 自智网络驱动的电信产业变革 经过多年的…

电商小程序08调用缓存

目录 1 将信息存入缓存中2 获取登录信息3 退出登录4 发布预览总结 小程序的登录功能里,如果只是将登录信息保存到全局变量中,存在的问题是如果小程序重新打开,用户的登录状态就丢失了。为了解决这个问题,我们需要用到微搭的缓存的…

云计算基础-快照与克隆

快照及克隆 什么是快照 快照是数据存储的某一时刻的状态记录,也就是把虚拟机当前的状态保存下来(快照不是备份,快照保存的是状态,备份保存的是副本) 快照优点 速度快,占用空间小 快照工作原理 在了解快照原理前,…

文生图提示词:天气条件

天气和气候 --天气条件 Weather Conditions 涵盖了从基本的天气类型到复杂的气象现象,为描述不同的天气和气候条件提供了丰富的词汇。 Sunny 晴朗 Cloudy 多云 Overcast 阴天 Partly Cloudy 局部多云 Clear 清晰 Foggy 雾 Misty 薄雾 Hazy 朦胧 Rainy 下雨 Showers …

【C++】实现Date类的各种运算符重载

上一篇文章只实现了operator操作符重载&#xff0c;由于运算符较多&#xff0c;该篇文章单独实现剩余所有的运算符重载。继续以Date类为例&#xff0c;实现运算符重载&#xff1a; 1.Date.h #pragma once#include <iostream> #include <assert.h>using namespace …

Leecode之面试题消失的数字

一.题目及剖析 https://leetcode.cn/problems/missing-number-lcci/description/ 方法有很多,这里将两种时间复杂度为O(N)的方法 二.思路引入 第一种方法 先将0-n的总和求出来,在求出数组的总和,在做差就能得到消失的数字,不过要注意的是数据有可能溢出,这个方法很简单就不再…

【MySQL】Java的JDBC编程

数据库编程 1. 数据库编程的必备条件2. Java的数据库编程&#xff1a;JDBC3. JDBC工作原理4. JDBC使用4.1 JDBC开发案例4.2 JDBC使用步骤总结 5. JDBC常用接口和类5.1 JDBC API5.2 数据库连接Connection5.3 Statement对象5.4 ResultSet对象 面试问答&#xff1a; 1. 数据库编程…

腾讯云幻兽帕鲁服务器配置怎么选择合适?

腾讯云幻兽帕鲁服务器配置怎么选&#xff1f;根据玩家数量选择CPU内存配置&#xff0c;4到8人选择4核16G、10到20人玩家选择8核32G、2到4人选择4核8G、32人选择16核64G配置&#xff0c;腾讯云百科txybk.com来详细说下腾讯云幻兽帕鲁专用服务器CPU内存带宽配置选择方法&#xff…

如何在CSS中实现背景图片的渐变?

--引言 在CSS中&#xff0c;实现背景图片的渐变通常需要使用linear-gradient或者radial-gradient函数&#xff0c;这些函数可以与背景图像一起使用来创建渐变效果。然而&#xff0c;CSS的渐变并不直接支持使用图像作为渐变的颜色停止点。但你可以通过一些技巧来实现类似的效果…

MySQL篇----第十九篇

系列文章目录 文章目录 系列文章目录前言一、什么是存储过程?用什么来调用?二、如何通俗地理解三个范式?三、什么是基本表?什么是视图?四、试述视图的优点?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这…

Linux项目自动化构建工具-make/Makefile

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 背景 理解 实例代码 依赖关系 依赖方法 原理 项目清理 总结 前言 世上有两种耀眼的光芒&#xff0c;一种是正在升起的太阳&#xff0c;一种是正在努力学习编程…

Ansible fetch 模块 该模块用于从远程某主机获取(复制)文件到本地

这里写目录标题 参数实例查看返回结果在这里插入图片描述 参数 dest&#xff1a;用来存放文件的目录 src&#xff1a;在远程拉取的文件&#xff0c;并且必须是一个file&#xff0c;不能是**目录* 实例 ansible slave -m fetch -a src/data/hello.txt dest/data/可以看到一个…

Chat with RTX 安装

1、Chat With RTX 介绍 Chat With RTX 是一个 Demo&#xff0c;用来将您自己的资料&#xff08;文档、笔记、视频或其他数据&#xff09;与大语言模型建立连接&#xff0c;从而令 LLM 更具个性化。利用检索增强生成 (RAG)、TensorRT-LLM 和 RTX 加速&#xff0c;您可以与自定义…

力扣热题100_双指针_15_三数之和

文章目录 题目链接解题思路解题代码 题目链接 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&…

Node.js开发-path模块

path模块 path 模块提供了 操作路径 的功能&#xff0c;将介绍如下几个较为常用的几个 API&#xff1a; API说明path.resolve拼接规范的绝对路径 常用path.sep获取操作系统的路径分隔符path.parse解析路径并返回对象path.basename获取路径的基础名称path.dirname获取路径的目…

Docker 第十五章 : Docker 三剑客之 Compose(一)

第十五章 : Docker 三剑客之 Compose(一) 本章知识点: 介绍了Docker Compose是一个强大的工具,用于定义、管理和部署多个Docker容器化的应用程序,同时介绍了Docker Compose安装、卸载、以及如何使用Docker ComposeYAML模板文件来定义服务及其配置,使开发人员能够轻松地…

ChatGPT绘图指南:DALL.E3玩法大全(一)

一、 DALLE.3 模型介绍 1、什么是 DALLE.3 模型&#xff1f; DALLE-3模型&#xff0c;是一种由OpenAI研发的技术&#xff0c;它是一种先进的生成模型&#xff0c;可以将文字描述转化为清晰的图片。这种模型的名称"DALLE"实际上是"Deep Auto-regressive Latent …

让每次生成的随机数都相同np.random.seed()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 让每次生成的随机数都相同 np.random.seed() 选择题 关于以下代码输出的结果说法正确的是&#xff1f; import numpy as np np.random.seed(0) print(【执行】print(np.random.rand(3))) prin…

QT+OSG/osgEarth编译之九十一:osgdb_pnm+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_pnm)

文章目录 一、osgdb_pnm介绍二、文件分析三、pro文件四、编译实践一、osgdb_pnm介绍 osgDB_pnm是OpenSceneGraph(OSG)库中的一个插件,用于支持PNM图像格式的读取和写入。PNM(Portable Any Map)是一种简单的、无损的位图图像格式,用于存储灰度图像和彩色图像。 osgDB_pn…