Linux【实操篇】—— 组管理、权限管理、定时任务调度

简介: Linux【实操篇】—— 组管理、权限管理、定时任务调度

一、组管理

       在 Linux 操作系统中,每个用户都属于一个组,可以切换组但必须属于一个组,除此之外每个文件也与组有着一些联系。Linux 组相关概念有 所有者、所在组、其他组。


1. 所有者

所有者就是文件的创建者,用户创建了一个文件,这个文件的所有者就是该用户。


查看文件的所有者使用指令:ls -ahl(提示:查看目录下的文件时,白色代表文件,蓝色代表目录,红色代表压缩文件)


举例:进入 home 目录,查看 home 下所有文件的所有者分别是谁。如下,标红的一列即为目录或者文件的所有者。

image.png


修改所有者使用指令 chown;


chown 新所有者 文件/目录  //修改文件或目录的所有者

chown 新所有者:新组 文件/目录  //改变文件的所有者和所在组

chown -R 新所有者 目录  //将目录下的所有文件和目录的所有者都改为新所有者(递归)

举例:文件 xiaoma 的所有者是 xiaoma,我们将它修改为 zhangsan;

image.png


2. 所在组

当用户创建了一个文件,那么用户所属的组就是这个文件的所在组,所在组内的所有用户对该文件都会有一定的管理权限。


查看文件所在组使用指令 ls -ahl,与查看所有者相同;


举例:为了便于操作,我们先创建一个组 master,然后创建一个用户 ma 并将其放入 master 组,如下;

image.png



使用用户 ma 进行登录;新建一个文件 a.txt;

image.png


此时我们查看 a.txt 的所在组,标红的一列即为所在组名,可以看到,文件 a.txt 的所有者为 ma,所在组是 master。这是因为用户 ma 是在组 master 中创建的,那么用户 ma 创建的文件 a.txt 的所在组就是 master;

image.png


修改文件所在组使用指令:chgrp ;


chgrp 新组 文件/目录  //修改文件或目录的所在组

chgrp -R 新组 目录  //将目录下的所有文件和目录的所在组都改为新组(递归)

举例:root 用户下新建文件 b.txt,如下文件 b.txt 的所有者和所在组都是 root;

image.png


接下来我们将 b.txt 切换至 master 组中,现在 b.txt 的所有者为 root,所在组为 master;

image.png


3. 其他组

除了文件所在组,其他的组就称为其他组,其他组的用户对于所在组内的文件也具有一定的管理权限。


在添加用户时,可以指定将用户添加到某个组,也可以使用 root 管理权限改变用户的所在组;


改变用户所在组使用指令:usermod -g 组名 用户名,也可使用指令 usermod -d 目录名 用户名 改变用户登录时的初始目录,前提是该用户必须要有进入新目录的权限。


二、权限管理

1. 文件/目录详细信息的字段含义

       我们使用 ls -l 命令查看当前路径下所有文件或目录的详细信息时,会显示如下格式的数据;

image.png


接下来我们从左到右按照位数对该信息进行介绍:


drwxr-xr-x. 2 root root 6 3月 4 17:23 公共


第 0 位:也就是第一列中的第一个字符,它代表文件类型;

- 代表普通文件

b 代表快设备,如硬盘

c 代表设备文件,入鼠标、键盘等

d 代表目录,相当于 Windows 中的文件夹

l 代表链接,相当于 Windows 中的快捷方式

第 1~3 位:文件的所有者对该文件的权限,如  rwx 就代表读、写、执行的权限;

第 4~6 位:文件所在组中的用户对该文件的权限;

第 7~9 位:其他组用户对该文件的权限;

第 10 位:文件的硬连接数或者目录的子目录数;

第 10 位之后分别位所有者、所在组、文件大小、最后修改日期、文件名;


2. rwx 权限详解

rwx 作用于文件和目录时,代表的权限并不相同;当作用于文件时:


r(read)可读取,查看

w(write)可修改,但不可以删除,只有对该文件所在目录有写权限时才能删除文件

x(execute)可执行该文件,前提该文件是可执行文件


当 rwx 作用于目录时:


r(read)可读取,ls 查看目录内容

w(write)可修改,对目录进行创建、删除、重命名等

x(execute)可进入该目录


便于理解,请看如下案例:

image.png



3. 修改权限-chmod

       通过指令 chmod 可以修改文件或者目录的权限;第一种方式是通过符号 “+”、“-”、“=” 来变更权限;修改权限之前我们需要先知道所有者、所在组、其他组等分别表示的字母含义:


       u 所有者、g 所在组、o 其他人、a 所有人(u g o 的总和),如下命令:


chmod u=rwx,g=rw,o=x 文件/目录名   //为文件或目录的所有者赋予读、写、执行的权限、为所在组赋予读、写权限、为其他人赋予执行的权限;

chmod o+w 文件/目录名  //为文件或目录的其他人赋予写权限;

chmod a-x 文件/目录名  //为文件或目录的所有人去掉执行权限;


       第二种方式是通过数字来变更权限,r(读)权限为 4,w(写)权限为 2,x(执行)权限为 1,为文件或者目录设置权限时根据需要使用数字之和即可,如下两条命令等同:


chmod u=rwx,g=rw,o=x 文件/目录名  

chmod 761 文件/目录名  


三、定时任务调度

1. 任务调度 crond

       任务调度是指系统在某个时间执行的特定程序或命令,它是一个后台程序,所以一直在运行。使用指令 crontab 可进行定时任务调度的设置:


crontab  //设置定时任务

crontab -e  //编辑 crontab 定时任务

crontab -l  //查询 crontab 定时任务

crontab -r  //删除当前用户所有的 crontab 定时任务

service crond restart  //重启任务调度

如下我们设置并编辑一个定时任务,输入语句 */1 * * * * ls-l;

image.png


注意该语句含义:*/1 * * * * ls-l,每过一分钟执行一次 ls -l 指令;


image.png

输入结束后 wq 保存即创建了新的定时任务;

image.png


任务调度 crond 其他特俗符号含义如下:


【*】:任何时间

【,】:不连续时间,例如  [0 8,10,14 * * * 指令] 代表每天的 8:00、10:00、14:00 都执行一次命令

【-】:连续时间,例如 [20 16 * * 1-5 指令] 代表每周的周一到周五的 16:20 都执行一次该指令

【*/n】:每隔多久执行一次,例如 [*/5 * * * * 指令] 代表每隔 5 分钟执行一次指令


2. 一次性定时任务 at

       通常的定时任务调度是按照周期反复执行的,如果我们希望某个定时任务是一次性的,也就是只在规定的时间执行一次,那么就需要用到定时任务 at。


设置一次性定时任务使用指令 at 选项 时间 ,输入后两次按下 Ctrl+D 结束输入。at 命令各选项如下:

image.png

at 命令时间的指定格式如下:


使用小时:分钟式指定时间,如 06:00 代表今天的凌晨六点支持,如果此时间已过去,则放到第二天;

使用英文单词指定,比如 noon(中午)、teatime(下午茶时间,下午4点)、midnight(半夜)等,时间表示比较模糊;

使用 12 小时进制,然后再在时间后面加上 pm(下午)、am(上午)来说明一天的时间,例如 6am 就是早上六点;

使用标准时间格式,如 mm/dd/yy、dd.mm.yy、或者 12:00 2022-04-04;

使用相对计时法,now 表示现在,然后在 now 后加上需要的时间以及单位,例如 now+5hours 表示距现在五小时后,还有其他单位如 minutes(分钟)、days(天)、weeks(星期);

直接使用 today(今天)、tomorrow(明天)来指定。

原理:定时任务 at 拥有守护进程 atd,守护进程会每 60 秒检查任务队列,如果该任务的运行时间与设置的时间匹配,则运行此任务,否则停止任务。


使用 at 指令的前提是 atd 进程已启动,可使用指令 ps -ef | grep atd 检测当前正在运行的进程。如下说明 atd 进程已启动。

image.png


举例:两天后的上午 7 点执行命令 ls /home;

image.png


如上图信息,第一列为进程编号,删除进程时使用指令 atrm 编号 即可;

image.png



相关文章
|
2月前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
52 2
|
7天前
|
安全 Linux 数据安全/隐私保护
深入Linux操作系统:文件系统和权限管理
在数字世界的海洋中,操作系统是连接用户与硬件的桥梁,而Linux作为其中的佼佼者,其文件系统和权限管理则是这座桥梁上不可或缺的结构。本文将带你探索Linux的文件系统结构,理解文件权限的重要性,并通过实际案例揭示如何有效地管理和控制这些权限。我们将一起航行在Linux的命令行海洋中,解锁文件系统的奥秘,并学习如何保护你的数据免受不必要的访问。
|
1月前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
43 1
linux特殊权限!!
|
1月前
|
Linux 数据安全/隐私保护
linux权限管理
本文介绍了Linux系统中的权限管理,包括权限的概念、用户和用户组与权限的关系、文件权限位的说明以及rwx权限的具体含义。同时,详细讲解了如何使用`chmod`和`chown`命令更改文件和目录的权限,并通过多个实验演示了不同权限组合对文件和目录的实际影响。最后,总结了文件和目录权限的一些重要知识点,帮助读者更好地理解和应用Linux权限管理。
56 1
linux权限管理
|
1月前
|
监控 Unix Linux
|
1月前
|
人工智能 算法 大数据
Linux内核中的调度算法演变:从O(1)到CFS的优化之旅###
本文深入探讨了Linux操作系统内核中进程调度算法的发展历程,聚焦于O(1)调度器向完全公平调度器(CFS)的转变。不同于传统摘要对研究背景、方法、结果和结论的概述,本文创新性地采用“技术演进时间线”的形式,简明扼要地勾勒出这一转变背后的关键技术里程碑,旨在为读者提供一个清晰的历史脉络,引领其深入了解Linux调度机制的革新之路。 ###
|
1月前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
69 4
|
1月前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
14天前
|
缓存 算法 Linux
Linux内核中的调度策略优化分析####
本文深入探讨了Linux操作系统内核中调度策略的工作原理,分析了不同调度算法(如CFS、实时调度)在多核处理器环境下的性能表现,并提出了针对高并发场景下调度策略的优化建议。通过对比测试数据,展示了调度策略调整对于系统响应时间及吞吐量的影响,为系统管理员和开发者提供了性能调优的参考方向。 ####
|
2月前
|
Linux
Linux Crontab 查看定时任务启动没
【10月更文挑战第20天】在Linux系统中,crontab用于设置周期性执行的任务。查看当前用户的Crontab任务列表,使用`crontab -l`;查看所有用户任务,使用`sudo crontab -l`或指定用户`sudo crontab -u username -l`。
71 5