Linux-用户管理与软件管理

用户授权

如果普通用户需要执行特殊操作,有两种方法

1、su - root          切换到root账号进行特殊操作,然后再返回到普通用户

2、sudo命令

命令:su

优点:使用简单

缺点:1、root密码容易泄露;2、普通用户执行操作不可控

命令:sudo

作用:给普通用户授权,让普通用户执行特定的操作

缺点:需要进行权限配置

优点:1、不需要切换到root用户(无需root密码);2、用户可执行预定的操作;3、可以记录每个用户执行过的命令

sudo使用

1、通过sudo配置文件为普通用户授权;2、普通用户执行特殊操作

sudo的配置文件:/etc/sudoers

格式

root         ALL=(ALL)        ALL

用户名      主机=(用户名)     全部命令

例:lisi      localhost=(lisi)      ALL

%aa      代表给aa组授权

ALL:全部命令

/usr/bin/touch:授权单个命令

/usr/bin/touch,/usr/bin/ls:授权多个命令,用,(逗号)作为分隔

/usr/bin/*:授权/usr/bin下的全部命令

修改配置文件

visudo

添加一行

lisi    ALL=(root)   /usr/bin/touch,/usr/bin/ls

命令:sed

格式:sed 选项 操作 目标文件

选项

-i:修改原始文件【如果不加-i,那就是仅仅修改内存中的文件副本】

案例:将文件中的a修改成b

sed -i "s/a/b/g" 文件名

注意点:/仅表示为分隔符,也可以用于其他符号,例:#、@、%等

命令:awk

作用:截取文件中的每行的指定的字段

格式:awk -F "分隔符" '{print $数字}' 文件名

$0:表示整条记录;$NF:输出最后一条字段

选项

-F "分隔符":用什么字段将内容分开成一段一段

软件管理

Linux的软件的安装与卸载

1、rpm包安装;2、yum安装;3、源码编译安装

yum的配置文件路径:/etc/yum.repos.d  以.repo结尾的文件

rpm安装

命令格式:rpm 选项 软件名

选项

-i:安装软件

-v:显示安装过程信息

-h:用#表示安装进程,一个#代表2%

-ivh:安装软件并显示安装过程

-e:卸载软件

-q:查看软件是否安装

-ql:查看安装文件生成文件列表

-qc:查看安装软件生成的配置文件

-qf:查看某个文件是哪个软件安装过程中生成的

--nodeps:强制安装忽略依赖关系

--replacepkgs:覆盖安装

第一步:挂载光盘

mount /dev/cdrom /mnt

第二步:查看/mnt

ls /mnt

第三步:切换到/mnt/Packages

cd /mnt/Packages

第四步:安装

rpm -ivh 软件名

注意点:rpm安装需要解决各种依赖

使用光盘作为yum源

第一步:挂载光盘

mount /dev/cdrom /mnt

检查挂载点

ls /mnt

第二步:修改yum的配置文件

主配置文件:/etc/yum.conf

子配置文件:/etc/yum.repos.d下的以.repo结尾的文件

修改的是子配置文件

第三步:切换路径

cd /etc/yum.repos.d

第四步:删除原来文件并新建以.repo结尾的文件

rm -rf .repo

touch 文件名

第五步:vi打开这个文件

[new]                              指定yum仓库的id,不能有空格

name=myrepo                yum仓库的名称,可以随便写

enabled=0                      指定是否要检查rpm的来源合法性;0:不检查;1:检查

gpgchck=1                      是否启动;0:不启动;1:启动

baseurl=file:///mnt           指定yum的位置

第六步:检查是否配置成功

yum clean all        清除yum缓存

yum repolist          加载yum源

第七步:安装软件(安装多个软件以,为分隔)

yum install 软件名,软件名

yum remove 软件名

注意点:yum安装自动解决各自依赖,安装位置固定不可改

编译安装

安装源码包的过程

1、解压源码包

2、进入解压目录

3、安装依赖

4、执行./configuse

①、检查当前系统环境是否满足后续操作

②、指定软件的安装路径

5、执行make

①、进行编辑

6、安装、执行make install

①、将编译好的程序进行安装

安装niginx

第一步:安装组件

yum install lrzsz -y

第二步:解压安装包

tar -xvf niginx-1.22.1.tar.gz

第三步:进入解压目录

cd niginx-1.22.1

第四步:安装依赖

yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel ncurses-devel -y

第五步:检查环境,并指定安装位置

./configure --prefix=/ng

第六步:执行编译

make

第七步:编译安装

make install

第八步:启动

/ng/sbin/nginx

第九步:关闭

kill -9 pid       -9:立即杀死该pid     -15:通知一声,并杀死该pid

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

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

相关文章

基于MBD开发汽车软件

MBD 原理及重要性 模型驱动开发(Model-Based Development,简称 MBD)是一种在现代工程领域中日益重要的方法。它的基本原理建立在以模型为核心的理念之上。 MBD 的核心概念包括模型的构建、使用和维护。模型在这里不仅仅是对系统或过程的简单描述,而是包含了丰富的信息和逻…

04-240606Spark笔记

04-240606Spark笔记 1.行动算子-2 save相关算子: 格式: def saveAsTextFile(path: String): Unit def saveAsObjectFile(path: String): Unit def saveAsSequenceFile(path: String,codec: Option[Class[_ <: CompressionCodec]] None): Unit 例子: val rdd sc.makeR…

【Python报错】已解决NameError: name ‘Image‘ is not defined

解决Python报错&#xff1a;NameError: name ‘Image’ is not defined 在使用Python进行图像处理时&#xff0c;我们经常使用Pillow库&#xff08;PIL的一个分支&#xff09;。如果你在尝试创建或处理图像时遇到了NameError: name Image is not defined的错误&#xff0c;这通…

史上最易懂的mysql锁 、mvvc分析

1 mysql中的锁类型&#xff1a; 1) 表锁 表共享锁(S):表级别的读锁&#xff0c;表共享锁之间是兼容的。 表排他锁(X): 表级别的写锁&#xff0c;表排他锁和任何锁(包括表排他锁)都不兼容(不包括意向锁)。 意向排他锁(IX): 获取行排他锁之前必须获取的意向排他锁&#xff0c;这…

关于python包导入问题的重思考

将顶层目录直接设置为一个包 像这样&#xff0c;每一个文件从顶层包开始导入 这样可以解决我的问题&#xff0c;但是要注意的时&#xff0c;要避免使用出现上下级出现同名包的情况&#xff0c;比如&#xff1a; AutoServer--AutoServer--__init__.py--__init__.py这种情况下…

腾讯云的身份证核验,找不到这个类

系统接入腾讯云的sdk&#xff0c;Class ‘TencentCloud\Common\Credential’ not found 以下方法核对一下看有没有做错&#xff0c;如果没有需要重启一下守护一般是能解决问的 这个错误表明PHP代码试图加载一个名为TencentCloud\Common\Credential的类&#xff0c;但是在指定…

绿联云NAS一些探索(1):SSH、包管理器探测、安装docker-compose等

绿联云NAS一些探索SSH、包管理器探测、安装docker-compose等 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https:…

AI图书推荐:《如何利用ChatGPT在线赚钱》

这本书《如何利用ChatGPT在线赚钱》&#xff08;$100m ChatGPT_ How To Make Money Online With ChatGPT -- Sharp, Biily -- 2023 &#xff09;主要阐述如何利用ChatGPT这一强大的语言模型工具在互联网上创造收入。 以下是各章节内容的概要&#xff1a; **引言** - 介绍了Chat…

STM32F103单片机工程移植到航顺单片机HK32F103注意事项

一、简介 作为国内MCU厂商中前三阵营之一的航顺芯片&#xff0c;建立了世界首创超低功耗7nA物联网、万物互联核心处理器浩瀚天际10X系列平台&#xff0c;接受代理商/设计企业/方案商定制低于自主研发十倍以上成本&#xff0c;接近零风险自主品牌产品&#xff0c;芯片设计完成只…

spring整合kafka

原文链接&#xff1a;spring整合kafka_spring集成kafka-CSDN博客 1、导入依赖 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>2.5.10.RELEASE</version> </depende…

Arthas Profiler 事件监控场景介绍

CPU 使用情况 (cpu) 场景描述&#xff1a; 当应用程序响应缓慢或者CPU使用率异常高时&#xff0c;开发者需要找出导致高CPU消耗的具体方法调用。通过监控CPU使用情况&#xff0c;可以识别出那些占用大量CPU时间的热点方法。 使用Arthas的步骤&#xff1a; 启动CPU profiler:…

编译等底层知识

目录 一. GCC命令语句大全 二. GCC编译4个阶段 三. makefile的使用 四. CMake 五. GNU工具链开发流程图 六. Keil中的地址段 七. 静态库和动态库 一. GCC命令语句大全 -c只编译源文件&#xff0c;生成目标文件&#xff08;.o 文件&#xff09;&#xff0c;不进行链接。…

CC++内存管理【new和delete操作符的详细分析】【常见面试题】

C/C内存管理 1.C/C内存分布 我们先来看一段代码&#xff0c;来了解一下C/C中的数据内存分布。 # include <stdlib.h>int globalVar 1; static int staticGlobalVar 1; // 比globalVar还要先销毁,同一个文件下后定义的先析构 // 全局变量存在 数据段&#xff08;静态…

[Unity]播放音频卡顿问题

记录一个问题&#xff1a; 游戏内播放完音频A再去循环播放音频B&#xff0c;在协程里使用等待n秒来实现拼接&#xff0c;发现在个别手机上会有卡顿的问题&#xff0c;盲猜是和帧率有关。 这是最初的实现方案&#xff1a; IEnumerator IEPlayAudio(){if(ASOnBeginDrag ! null)…

VSCode+Vite+Vue3断点调试

目录 lunch.json创建 vite.config.ts 打断点运行 lunch.json创建 首先&#xff0c;点击VSCode左上角&#xff0c;甲壳虫运行的按钮&#xff0c;然后点击运行与调试&#xff0c;选择chrome浏览器&#xff0c;修改成一下配置。 { // 使用 IntelliSense 了解相关属性。 // 悬停…

codeforces round 949 div2

A Turtle and Piggy Are Playing a Game 题目&#xff1a; 思路&#xff1a;输出2的幂次b使得2^b为最大的不超过x的数 代码&#xff1a; #include <iostream>using namespace std;const int N 2e5 10;void solve() {int l, r;cin >> l >> r;if(r % 2) …

vscode 运行和调试

vscode使用断点 1.安装并激活扩展 Debugger for Chrome (弃用 --> JavaScript Debugger)Debugger for Firefox 2. 配置config文件 打开 config/index.js 并找到 devtool property。将其更新为&#xff1a; 如果你使用的是 Vue CLI 2&#xff0c;请设置并更新 config/in…

SpringBoot Redis读写与数据序列化 RedisTemplate 与 StringRedisTemplate 防转字节

介绍 RedisTemplate 对象在底层默认会转成字节&#xff0c;造成了内存的开销很大&#xff0c;这是他底层进行处理的,造成可读性差&#xff0c;如需要转成简单的字符串存储需要进行序列化的配置。 RedisTemplate 配置类 Configuration public class RedisConfig {Beanpublic …

OpenGL系列(五)纹理贴图

概述 OpenGL纹理是一种在三维图形中应用纹理映射的技术。纹理是一张图像&#xff0c;可以应用到三维模型的表面上&#xff0c;从而使得模型看起来更加真实和具有细节。通过纹理映射&#xff0c;可以将图像的像素值与三维模型的顶点进行匹配&#xff0c;从而为模型的表面增加细节…

Java并发编程之由于静态变量错误使用可能导致的并发问题

Java并发编程之由于静态变量错误使用可能导致的并发问题 1.1 前言1.2 业务背景1.3 问题分析1.4 为什么呢&#xff1f;1.5 修复方案2 演示示例源码下载 1.1 前言 我们知道在 Java 后端服务开发中&#xff0c;如果出现并发问题一般都是由于在多个线程中使用了共享的变量导致的。…