从零开始学习Linux运维,成为IT领域翘楚(二)

news2024/11/27 22:27:20

文章目录

    • 🔥Linux系统目录结构
    • 🔥Linux用户和用户组
    • 🔥Linux用户管理

🔥Linux系统目录结构

在这里插入图片描述

文件系统组织结构

⭐	/lib
系统开机所需要最基本的动态链接共享库,其作用类似于Windows里的DLL文件。
几乎所有的应用程序都需要用到这些共享库。

⭐	/lost+found
一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

⭐	/etc
所有系统管理所需要的配置文件和子目录 my.conf

⭐	/usr
用户的很多应用程序和文件都放在这个目录下。

⭐	/bin
是Binary的缩写,这个目录存放着经常使用的命令

⭐	/sbin (usr/sbin、/usr/local/sbin)
sbin就是per user的意思,这里存放的是系统管理员使用的系统管理程序

⭐	/home
存放普通用户的主目录,在Linux中的每个用户都有一个自己的目录,
一般该目录一用户的账号名命名

⭐	/root
该目录为系统管理员,超级权限者的用户目录

⭐	/boot
存放的启动Linux时使用的一些核心文件,包括一些链接文件和镜像文件

⭐	/proc
虚拟目录,是系统内存的映射,访问这个目录来获取系统信息。

⭐	/srv
service 的缩写,该目录是存放一些服务启动之后需要提取的数据

⭐	/sys
Linux2.6内核的一个很大变化,该目录安装了2.6内核中新出现的一个文件系统

⭐	/tmp
存放临时文件

⭐	/dev
类似于 windows的设备管理器,把所有的硬件用文件的形式存储

⭐	/media
Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

⭐	/mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上
然后进入该目录就可以查看里的内容了。d:/ myshare

⭐	/opt
这是给主机额外安装软件所摆放的目录。如安装 ORACLE数据库就可放到该目录下。
默认为空。

⭐	/usr/local
这是另个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。

⭐	/var
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。
包括各种日志文件。

⭐	/selinux [security-enhanced linux] 类似 360
Selinux是一种安全子系统,它能控制程序只能访同特定文件。

登录系统后,在当前命令窗口下输入命令:

ls /
在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

🌙	/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

🌙	/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。

值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 使用的指令。

🌙	/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,
具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

🔥Linux用户和用户组

在这里插入图片描述

用户管理概述

Linux是一个多用户、多任务的操作系统。
在这里插入图片描述

用户账号和用户组
在这里插入图片描述

用户概念

Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(user)

用户组概念

   用户组(group)就是具有相同特征的用户(user)的集合体;比如有时我们要让多个用户具有相同的权限,比如查看、修改某一文件或执行某个命令,这时我们需要用户组,我们把用户都定义到同一用户组,我们通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限,这是我们通过定义组和修改文件的权限来实现的;

Linux用户和组的关系

用户和用户组的对应关系有以下 4 种:

⭐一对一:一个用户可以存在一个组中,是组中的唯一成员;

⭐一对多:一个用户可以存在多个用户组中,此用户具有这多个组的共同权限;

⭐多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限;

⭐多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。

🔥Linux用户管理

在这里插入图片描述
Linux 系统的管理员之所以是 root,是因为该用户的身份号码即UID的数值为 0,UID 就相当于我们的身份证号码一样具有唯一性,因此可通过用户的 UID 值来判断用户身份。

⭐ 管理员 UID 为 0:系统的管理员用户。

⭐ 系统用户 UID 为 1~999: Linux 系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。

⭐ 普通用户 UID 从 1000 开始:是由管理员创建的用于日常工作的用户。 需要注意的是,UID 是不能冲突的,而且管理员创建的普通用户的 UID 默认是从 1000 开始的(即使前面有闲置的号码)。

添加用户 useradd

语法:

useradd (选项)(参数)

选项:

🐟	-d 指定用户的家目录(默认为/home/username)

🐟	-e 账户的到期时间,格式为 YYYY-MM-DD.

🐟	-u 指定该用户的默认 UID

🐟	-g 指定一个初始的用户基本组(必须已存在)

🐟	-G 指定一个或多个扩展用户组

🐟	-N 不创建与用户同名的基本用户组

🐟	-s 指定该用户的默认 Shell 解释器

参数

用户名:要创建的用户名。

示例 1

   下面我们创建一个普通用户并指定家目录的路径、用户的 UID 以及
Shell 解释器。在下面的命令中,请注意/sbin/nologin,它是终端解释器中的一员,与 Bash 解释器有着天壤之别。 一旦用户的解释器被设置为 nologin,则代表该用户不能登录到系统中:

[root ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin linuxprobe
[root ~]# id linuxprobe
uid=8888(linuxprobe) gid=8888(linuxprobe)
groups=8888(linuxprobe)

修改用户 usermod

   有些时候不小心在useradd的时候加入了错误的设定数据,此时我们当然可以直接到/etc/passwd或/etc/shadow中去修改相对应字段的数据。

语法

usermod (选项) (参数)

选项:

🐟	-c<备注>:修改用户帐号的备注文字;

🐟	-d<登入目录>:修改用户登入时的目录;

🐟	-e<有效期限>:修改帐号的有效期限;

🐟	-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;

🐟	-g<群组>:修改用户所属的群组;

🐟	-G<群组>;修改用户所属的附加群组;

🐟	-l<帐号名称>:修改用户帐号名称;

🐟	-L:锁定用户密码,使密码无效;

🐟	-s:修改用户登入后所使用的shell;

示例1

来看一下账户 linuxprobe 的默认信息:

id linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe)
groups=1000(linuxprobe)

然后将用户 linuxprobe 加入到 root 用户组中,这样扩展组列表中则会出现 root 用户组的 字样,而基本组不会受到影响:

[root ~]# usermod -G root
linuxprobe
[root ~]# id linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe)
groups=1000(linuxp

再来试试用-u 参数修改 linuxprobe 用户的UID 号码值。除此之外,我们还可以用-g 参数 修改用户的基本组 ID,用-G 参数修改用
户扩展组 ID。

[root@linuxprobe ~]# usermod -u 8888
linuxprobe
[root@linuxprobe ~]# id linuxprobe
uid=8888(linuxprobe) gid=1000(linuxprobe)
groups=1000(linuxprobe),0(root)

用户账号口令管理

passwd 命令用于修改用户密码、过期时间、认证信息等。

语法

passwd (选项) (参数)

选项:

🐟	-d:删除密码,仅有系统管理者才能使用;

🐟	-f:强制执行;

🐟	-k:设置只有在密码过期失效后,方能更新;

🐟	-l:锁住密码;

🐟	-s:列出密码的相关信息,仅有系统管理者才能使用;

🐟	-u:解开已上锁的帐号。

示例1

用root帮linuxpro修改密码

 passwd linuxpro

示例2

假设您有位同事正在度假,而且假期很长,那么可以使用 passwd命令禁止该用户登录系统,等假期结束回归工作岗位时,再使用该
命令允许用户登录系统,而不是将其删除。 这样既保证了这段时间内系统的安全,也避免了频繁添加、删除用户带来的麻烦。

[root ~]# passwd -l linuxprobe Locking password for user linuxprobe.
passwd: Success
[root ~]# passwd -S linuxprobe linuxprobe LK 2017-12-26 0 99999 7 -1
(Password locked.)
[root ~]# passwd -u linuxprobe Unlocking password for user linuxprobe.
passwd: Success
[root ~]# passwd -S linuxprobe
linuxprobe PS 2017-12-26 0 99999 7 -1
(Password set, SHA512 crypt.)

删除用户 userdel

userdel 命令用于删除用户

语法:

userdel [选项] 用户名

选项:

🐟	-f 强制删除用户

🐟	-r 同时删除用户及用户家目录

这个命令的目的删除用户,与它相关的文件有:
🐟	/etc/passwd
🐟	/etc/shadow
🐟	/home/username

语法:

[root@localhost~]#userdel [-r] username

参数:

-r : 连同用户的家目录也一起删除。

示例1

下面使用 userdel 命令将 linuxprobe 用户删除,其操作如下:

[root ~]# id linuxprobe
uid=8888(linuxprobe) gid=1000(linuxprobe)
groups=1000(linuxprobe),0(root)
[root ~]# userdel -r linuxprobe
[root ~]# id linuxprobe
id: linuxprobe: no such user

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

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

相关文章

PACS系统源码,大型医院PACS源码集成三维重建

PACS系统为医院提供包括放射、超声、核医学、病理、内窥镜、心电图室在内的所有影像检查数字化的一体化解决方案。 它涵盖了传统PACS和RIS系统的所有功能&#xff0c;以构建全数字化影像科为目标&#xff0c;致力于实现对医院所有影像数据的统一管理、影像检查工作流的自动化&a…

POJ3704 括号匹配问题 递归方法

目录 题目 算法 完整代码 题目 参考 递归: https://blog.csdn.net/qq_45272251/article/details/103257953 利用了递归, 但思路稍复杂了 循环: https://blog.csdn.net/weixin_50340097/article/details/114579805 (看起来是递归其实是循环. 每次递归其实是循环内一次迭…

牛客网Python入门103题练习|【07--循环语句(2)】

⭐NP55 2的次方数 描述 在Python中&#xff0c; * 代表乘法运算&#xff0c; ** 代表次方运算。 请创建一个空列表my_list&#xff0c;使用for循环、range()函数和append()函数令列表my_list包含底数2的 [1, 10] 次方&#xff0c;再使用一个 for 循环将这些次方数都打印出来…

【Linux问题合集001】Linux中如何将用户添加到sudo组中的步骤

看教程的前提我的linux当前用户是zhou&#xff0c;看以下步骤时将zhou看做你的liunx当前用户就行了&#xff1a; 一、 以root用户登录到系统。 在Linux系统中&#xff0c;root用户是具有完全系统管理权限的超级用户。要以root用户身份登录到系统&#xff0c;您可>以使用以下…

继续打脸水货教程:关于可变对象与不可变对象

入门教程、案例源码、学习资料、读者群 请访问&#xff1a; python666.cn 大家好&#xff0c;欢迎来到 Crossin的编程教室 &#xff01; 今天这篇我要继续来打脸互联网上各种以讹传讹的水货教程。 前阵子我们聊了下Python中有关函数参数传递以及变量赋值的一些内容&#xff1a;…

LeetCode0014.最长公共前缀 Go语言AC笔记

时间复杂度&#xff1a;O(n) 解题思路 纵向扫描法。先扫描所有字符串的第一个字符&#xff0c;如果都相同就再次扫描所有字符串的第二个字符&#xff0c;直到某一字符串被扫描完或者出现了不相同的字符&#xff0c;此时就返回该字符串该字符的前缀。 为了确定所有字符是否相同…

【flask】三种路由和各自的比较配置文件所有的字母必须大写if __name__的作用核心对象循环引用的几种解决方式--难

三种路由 方法1&#xff1a;装饰器 python C#, java 都可以用这种方式 from flask import Flask app Flask(__name__)app.route(/hello) def hello():return Hello world!app.run(debugTrue)方法2: 注册路由 php python from flask import Flask app Flask(__name__)//app…

Java IO流第一章

Java IO流第一章 &#xff08;一&#xff09;简介 本文主要是从最基础的BIO式通信开始介绍到NIO , AIO&#xff0c;读者可以清晰的了解到阻塞、同步、异步的现象、概念和特征以及优缺点。 通信技术整体解决的问题 局域网内的通信要求。多系统间的底层消息传递机制。高并发下…

如何自制云平台,并实现远程访问控制?

除了阿里、腾讯各种云&#xff0c;计算机大神们都想自己搭建IoT云平台。今天小编跟大家分享一种用UbuntuEMQXNode-RED方式自制IoT云平台的方法&#xff0c;并实现无公网IP随时访问远程数据&#xff01; 第一步 Step1搭建EMQX服务器 1.搭建IoT平台需要一个服务器&#xff0c;这…

windows安装rocketmq

windows安装rocketmq 问题背景操作步骤Lyric&#xff1a; 请再给我 一个理由 问题背景 最近有使用rocketmq&#xff0c;为测试方便&#xff0c;在本地安装rocketmq 注意事项&#xff1a; 默认已安装java1.8&#xff0c;启动mq必须是1.8版本&#xff0c;我之前使用11版本&…

命令行 控制 易微联 wifi通断器

有个设备需要远程控制开关&#xff0c;最简单的方式就是通过一直在线运行的 Pi&#xff0c;进行命令行控制智能开关。 1、材料准备 找个最便宜的智能开关&#xff0c;话说易微联的做的真是便宜&#xff0c;销售量也很大。 这种 网上叫 Wifi通断器&#xff0c;或者智能开关&a…

使用ALLpairs完成正交表测试法练习题

该实验报告需要完成如下三个正交表测试法练习题 1、为了测试一个游戏软件的安装过程&#xff0c;需要考虑如下因素&#xff1a; (1) 操作系统: win2008、win7、win10、RedHat、Linux (2) 杀毒软件:瑞星、卡巴斯基、诺顿、江民、360 杀毒 (3) 数据库: oracle10g、SQLServer200…

五一劳动节前 特辑 ,路上那些车不能碰 你赔不起系列

相信明天大家4月29日都上了高速&#xff0c;都奔赴自己今年第一个想去的地方&#xff0c;那么上了高速&#xff0c;见的车辆就多了&#xff0c;哪些车辆我们要明白&#xff0c;尽量不要去碰&#xff0c;或者看见进行 技术性躲避&#xff0c;因为碰一下&#xff0c;半套房没了&a…

Pytorch2 如何通过算子融合和 CPU/GPU 代码生成加速深度学习

动动发财的小手&#xff0c;点个赞吧&#xff01; PyTorch 中用于图形捕获、中间表示、运算符融合以及优化的 C 和 GPU 代码生成的深度学习编译器技术入门 计算机编程是神奇的。我们用人类可读的语言编写代码&#xff0c;就像变魔术一样&#xff0c;它通过硅晶体管转化为电流&a…

大二一个学期学这么点内容,没有概念,只有实操

如何查看所有的数据库&#xff1a; Show databases; 如何进入某个数据库&#xff1a; use xxx; 如何新进数据库&#xff1a; Create database jx; 如何删除数据库&#xff1a; Drop database jx; 如何查看所有的表格&#xff1a; Show tables; 如何创建数据表&#xf…

Segmentation of retinal vessels based on MRANet

随手把一篇论文的创新部分抽取出来 MLF 为了更好地聚合每一层的上采样特征信息和MSR块的信息&#xff0c;在解码路径中使用了MLF块&#xff0c;这允许最大限度地重用功能&#xff0c;从而减少细节的损失。MLF块的结构如图2所示。 如图2所示&#xff0c;有两种输入:input1和inp…

直接攻击,越狱攻击,道德攻击……这样做,ChatGPT 就会泄漏你的隐私

夕小瑶科技说 原创作者 | 小戏 大模型的出现让我们的隐私比以往任何时候都危险。 一个很直观的例子&#xff0c;在大模型向黑洞一样不断吞噬现有网络中的文本数据之时&#xff0c;伴随着模型训练的文本数量从 GPT-2 的 40GB 文本到 GPT-3 的 45TB 文本&#xff0c;我们可以非常…

郑哲:学习、应用初探与探索创新 | 提升之路系列(四)

导读 为了发挥清华大学多学科优势&#xff0c;搭建跨学科交叉融合平台&#xff0c;创新跨学科交叉培养模式&#xff0c;培养具有大数据思维和应用创新的“π”型人才&#xff0c;由清华大学研究生院、清华大学大数据研究中心及相关院系共同设计组织的“清华大学大数据能力提升项…

python中snap-stanford指导手册(主要用于做图网络)

文章目录 RequirementSnap操作手册Basic TypesVector TypesHash Table TypesPair TypesGraph and Networks Types&#xff08;graph和network类型&#xff09;Node and Edge Operation Requirement 需要提前安装用于操作图网络的snap库&#xff0c;这个库中有很多现成的图数据…

物联网平台:一文读懂什么是物模型

文章目录 一、什么是物模型二、标准参数&#xff08;1&#xff09;标准参数的意义 三、物模型字段详细说明&#xff08;1&#xff09;物模型的每个属性包含以下字段&#xff08;2&#xff09;物模型的每个方法包含以下字段&#xff08;3&#xff09;物模型的每个事件包含以下字…