2024/9/28 笔记
操作机器:-CentOS7 零号机
状态:-静态ip网络正确配置,可以ping
网络信息:
-IP地址:192.168.10.130
-子网掩码:255.255.255.0
-网关:192.168.10.2
-DNS1:114.114.114.114
-DNS2:8.8.8.8
一、用户和权限
目标:创建linux用户、掌握和用户组及权限开放的操作、授予普通用户管理员权限
命令:useradd 用户名
例:useradd xiaoming
此时 /home 下会出现以用户名命名的文件夹,此为用户的私人空间,也称用户的家目录,即home
家目录的路径
root用户的家目录是/root
除root用户之外,其他用户的家目录在/home/用户名
每个用户登录系统后, 默认在自己的家目录里面
修改普通用户的密码(root权限),不修改密码则无法使用普通用户登入linux
命令:passwd 用户名 一般要输入两遍密码
用户切换
命令:su 用户名
特点:从root用户切换到普通用户不需要输入密码,但普通用户切换到root或其他普通用户需要输入密码
可以查看用户的UID、原始组名及id、扩展组名及id
命令:id 用户名
uid=1000(xiaos) gid=1000(xiaos) 组=1000(xiaos)
cd命令(linux较为重要的命令之一)
切换当前位置 (cd用法的多样性)
cd的常规用法 (后面跟路径、可以是相对路径或绝对路径)
cd etc (要去哪个etc目录,不确定,因为当前在什么路径不确定)
cd /etc (一定是去系统的根目录下的etc目录)
cd的快捷用法
cd / 快速回到系统的根
cd ~ 快速回到用户自己的家
cd … 返回上一级目录
cd …/…/ 返回上两级目录 (以此类推)
cd - 返回上次目录
在使用cd的时候,结合tab键加快指令编写速度(自动补全)
对路径的理解
相对路径和绝对路径
相对路径: 相对于当前路径开始检索路径
绝对路径: 从系统的根开始检索路径
文件和目录的权限
权限的分类: 读、写、执行(对目录来说执行权限就是进入目录中cd)
读 r 4
写 w 2
执行 x 1
无 - 0
通过0、1、2、4这4个原始数字组合出0-7这8种权限表示
权限组合表示
0 000 —
1 001 --x
2 020 -w-
3 021 -wx
4 400 r–
5 401 r-x
6 420 rw-
7 421 rwx
一般文件有三组权限,分别为当前所属用户、当前所属的组、其他用户
例如:rwxr----- 自己有读写执行权限,组内用户有读权限、其他用户无权限
修改权限(可以修改目录的权限、也可以修改文件的权限)
命令:chmod 权限 文件路径
例如:chmod 751 /home/xiaos 对目录xiaos更改权限为rwxr-x–x
修改用户组 (-g变更组 -G扩展组, 这个指令需要用管理员root执行)
修改组后, 该用户需要重新登录, 刷新自己的组权限
usermod -g 组名 用户名
usermod -G 组名 用户名
缺失执行权限x会有什么限制
- 缺失对目录的执行权限,则禁止cd进入该目录
- 缺失对文件的执行权限,则禁止执行该文件 (执行文件不是用cd,用./文件名)
PS: 所有目录都可以用cd进入
并非所有文件都可以用./执行 (只有脚本文件或者代码文件可被执行)
Linux系统的脚本文件的格式默认是shell脚本
Windows系统的脚本文件默认是bat脚本
缺失读权限r会有什么限制
- 缺失对目录的读权限,则禁止ls或者ll查看目录列表
缺失写权限w会有什么限制
- 缺失对目录的写权限,则禁止在此目录中执行以下命令
mkdir 创建目录
touch 创建文件
mv 剪切
cp 拷贝
rm 删除
授予普通用户管理员权限
普通用户只对自己的私有空间(家目录)具有所有权限,
- 系统中有些地方, 普通用户不能去
- 系统中有些文件, 普通用户不能改
- 系统中有些指令, 普通用户不能执行
如何授予普通用户管理员权限??
更改 /etc/sudoers 文件内容 (root用户可以强行修改该文件内容)
vi /etc/sudoers 使用vi命令编辑器编辑文件内容
底行命令
:set nu 显示行数
:set nonu 不显示行数
:数字 跳转到输入的行数
命令模式快捷键
yy 复制当前光标所在行, 前面可以跟一个行数, 如3yy
dd 剪切当前光标所在行, 前面可以跟一个行数, 如3dd
u 撤销操作
p 粘贴
如果误修改了文件, 不要慌
- 底行模式用q!直接退出, 不保存
- 命令模式下用u撤销
/etc/sudoers
92行处
root ALL=(ALL) ALL
在该行下加一行
用户名 ALL=(ALL) ALL
例如:xiaos ALL=(ALL) ALL
测试用户是否具有管理员权限
使用命令 sudo systemctl restart network 重启网卡
sudo(以管理员身份运行)
第一次使用管理员命令需要输入密码
拓展:
存在隐藏的swap文件, 需要明白以下事情
- 什么情况下swap文件不会自动删除 (vi编辑器未正常退出)
- 如何用swap文件恢复上次未保存的更新 (vi -r 源文件名)
- swap文件是隐藏文件, 需要在ls或者ll命令后面加-a才能查出来
- 存在swap文件时, 用vi编辑器进入文件时会出现一段ATTENTION提示
如果需要恢复上次未保存的更新
vi -r 源文件
如果不需要恢复上次未保存的更新
rm -f swap文件 (删除swap文件)
vi 源文件 (直接打开源文件, 此时不会出现ATTENTION提示)
二、配置yum源仓库
目标:正确配置yum镜像源(阿里云)、并安装所需要的环境
配置镜像yum源的原因:1、yum仓库在国外下载速度慢
2、最近国外yum源出现问题无法使用
和yum有关的配置文件路径 /etc/yum.repos.d
1、对原国外yum仓库配置文件做个备份
mkdir backfile 创建目录backfile
mv *.repo backfile 移动文件后缀名为repo的所有文件到backfile目录中
2、可用curl -o命令下载阿里云镜像源
3、清理yum缓存 (固定语法, 执行一次即可)
yum clean all
4、生成缓存 (固定语法, 执行一次即可, 基于阿里云镜像仓库 构建缓存)
yum makecache 成功标志:元数据缓存已建立
5、基于阿里云镜像仓库 更新系统中所有已安装的yum程序包 (不是必须, 只需要做一次即可)
yum update -y 较长时间
关于yum仓库命令
yum list 包名:列出可用的软件包。
yum search 包名:搜索可用的软件包。
yum install :安装
yum update:更新
yum remove:卸载
yum list installed 查看已安装的软件包
yum clean all:清理yum的缓存 (有时候yum下载安装异常中断导致无法下载安装需要清理缓存)
预安环境
- 安装gcc-c++ (这是c语言的编译器)
yum install gcc-c++ -y - 安装jdk (这是Java语言的运行环境)
yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel - 安装pcre工具
yum install -y pcre pcre-devel - 安装zlib工具
yum install -y zlib zlib-devel - 安装wget下载工具
yum install -y wget - 安装vim工具 (这是高级版本的vi编辑器, 与vi用法差不多, 功能多一些)
yum install -y vim
查看文件内容的方式
-
用vi编辑器进入文件查看
-
用cat命令 (一次性将文件内容全部打印在终端, 适合看小文件)
-
用more命令 (提供了进度条, 用回车键向下翻看, 适合看大文件)
提前退出命令用ctrl + C -
用head命令 (用于看文件前n行, 如 head -n 10 文件名)
-
用tail命令 (用于看文件后n行, 如 tail -n 10 文件名)
注意: 当无法访问外部网络或者无法解析域名的时候
- 检查网卡配置文件中的网关GATEWAY是否正确配置
- 检查网卡配置文件中的域名解析DNS是否正确配置
三、搭建Nginx服务器
目标:创建nginx用户,授予nginx用户管理员权限,修改主机名,使用nginx用户登入,下载Nginx压缩包并解压安装,创建Nginx软链接(快捷方式)在/home/nginx中
useradd nginx 创建nginx用户
passwd nginx 设置nginx用户的密码
使用root用户授予nginx用户管理员权限
vim /etc/sudoers
编辑ssudoers文档
添加nginx为管理员 nginx ALL=(ALL) ALL
vim /etc/hostname 修改主机名
reboot 重启让主机名生效
断开连接使用nginx登录linux
使用wget命令下载nginx的源码包
nginx源码包的官网地址 https://nginx.org/en/download.html
下载Stable Nginx-1.26.2 下载链接 https://nginx.org/download/nginx-1.26.2.tar.gz
wget https://nginx.org/download/nginx-1.26.2.tar.gz
在/home/nginx 目录下已经下载好nginx-1.26.2压缩包
使用命令tar -xvf 解压压缩包
可用ll查看一下, 红色是压缩包, 蓝色是解压出来的安装目录
用cd命令进入安装目录
cd nginx-1.26.2
执行安装的配置文件(安装目录中有一个绿色的可执行文件,文件名是configure,用./执行它)
./configure
编译 (这个make命令需要用yum安装gcc-c++编译器)
make 成功标志:离开目录
安装
make install
它会将nginx安装在系统的/usr/local目录中,需要对系统/usr/local目录的写权限
root可以直接安装,但nginx会报错,权限不够即对/usr/local目录没有w权限
此时可以sudo 命令 以管理员身份安装 成功标志:离开目录
删除源代码压缩包和安装包
回到家目录 cd ~
命令 rm -rf nginx*
在用户之家(/home/nginx)创建软链接 (类似于Windows系统的桌面快捷方式)
ln -s /usr/local/nginx nginx
启动nginx软件
cd nginx 在用户家目录里面通过软链接进入nginx目录, 实际进入的是/usr/local/nginx目录
cd sbin 进入nginx的启动命令所在目录,进入后用ll查看一下,里面有一个绿色的nginx (启动程序)
sudo ./nginx 启动nginx服务 (需要管理员权限)
关闭服务器防火墙(需要管理员权限), 如果没有关闭, 防火墙会阻止外部访问服务器
sudo systemctl stop firewalld
打开windows系统里面的浏览器, 输入服务器的IP地址
看到Welcome to nginx!则启动Nginx成功
Author:萌木
2024/9/29