CentOS笔记

1. 初次使用

CentOS Linux 发行版是一个稳定、可预测、可管理和可重现的平台,源自 Red Hat Enterprise Linux (RHEL) 的源代码。CentOS项目是一个社区驱动的自由软件项目,其目标是为开源社区提供一个丰富的基础平台以供其构建。

在初次使用CentOS时,有些寇墨觉得有些意思的命令和技巧,便记录到本手册里了,如果有任何疑问欢迎联系我~

1.1 远程连接

允许root远程登陆

vim /etc/ssh/sshd_config

修改

# 取消注释
ListenAddress 0.0.0.0
ListenAddress ::

# 允许root登录
PermitRootLogin yes

# 允许密码登录
PasswordAuthention yes

问题

Q1: 出现拒绝 转发X11 请求的警告

image-20220827103134721

yum install xorg-x11-xauth -y

解决:

  1. 首先需要了解X11 forwarding的作用

X11转发是TCP/IP端口转发服务的特殊情况,可以轻松的搞定==端口转发设置 ??==,为操作带来很多便利

X11协议由PC X Server (服务器端)软件使用,从==远程主机==到用户PC建立连接,可以说是与电子邮件或Telnet等的其他客户端程序相反的情况。利用X11转发功能,无需进行复杂的端口转发设置,通过安全的加密隧道在用户PC上使用远程的X11 应用程序。

  1. 安装

image-20220827103320947

1.2 高亮显示

​ 通过修改``PS1`环境变量就可以实现修改 CentOS 命令行用户和@主机 的颜色.

​ 使用vim进入.bashrc,添加一行设置PS1的代码:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;33;1m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
# 使用[]将关键词包围起来
PS1='[${debian_chroot:+($debian_chroot)}\[\033[01;33;1m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]]\$ '

​ 效果:

image-20220827102544235

常用的:

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[00m\]@\h: \[\033[01;36m\]\w\[\033[00m\] \[\t\]\n\$ '
PS1='[${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u\[\033[00m\]@\[\033[01;31m\]\h: \[\033[01;36m\]\W\[\033[00m\] ]\$ '

一个单独的颜色设置: [\033[代码;前景;背景m],

如:

[\033[1;32;40m] 表示高亮显示字体为绿色,背景色为黑色。 下面来说说配色的过程:

前景 背景 颜色 30 40 黑色 31 41 紅色 32 42 綠色 33 43 黃色 34 44 藍色 35 45 紫紅色 36 46 青藍色 37 47 白色

代码 意义 0 OFF 1 高亮显示 4 underline 5 闪烁 7 反白显示 8 不可见

PS1的常用参数

  • /w: 显示完整的当前路径
  • /W: 只显示最后一个目录名
  • /$: root用户: 提示符显示#; 普通用户:提示符显示为$

1.3 修改主机名

hostnamectl set-hostname xxx

20210510161426

2. 用户管理

2.1 登录权限

1、禁止个别用户登录。比如禁止 user 用户登录。

passwd -l user 这就话的意思是锁定user用户,这样该用户就不能登录了。

passwd -u user 对锁定的用户user进行解锁,用户可登录了。

2、通过修改 /etc/passwd 文件中用户登录的shell

vim /etc/passwd 找到user这个用户(或者是你选定的用户)

user:500:500::/home/lynn:/bin/bash 更改为:

lynn:x:500:500::/home/lynn:/sbin/nologin /bin/false是最严格的禁止login选项,一切服务都不能用。 /sbin/nologin只是不允许login系统,但可以使用其他ftp等服务。 3、禁止所有用户登录。

touch /etc/nologin

除root以外的用户不能登录了。

创建用户:useradd [选项] 用户名 -c comment 指定一段注释性描述。 -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 -g 用户组 指定用户所属的用户组。 -G 用户组,用户组 指定用户所属的附加组。 -s Shell文件 指定用户的登录Shell。 -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。 例:useradd -s /bin/sh -d /home/tuw -m tuw

创建一个用户名为tuw,用户主目录在/home/tuw,登录Shell为/bin/sh 。可以不指定用户目录与登录shell,直接用useradd 用户名创建用户。

设置用户密码:passwd 用户名

例:passwd tuw

回车后输入密码,密码需要重复输入一次。

允许远程登录:修改/etc/ssh/ssh_config 文件,在最下面添加AllowUsers root 用户名。之后使用命令systemctl restart sshd重启服务。

例:AllowUsers root tuw。就是允许root、tuw用户远程连接

之后就可以用终端使用该用户登录CentOS了。但是,这样创建的用户无法使用sudo,一些命令就没有权限执行。

2.2 root权限

允许用户使用sudo

授予sudoers文件权限:chmod u+w /etc/sudoers

然后在

root ALL=(ALL) ALL

下面添加:用户名 ALL=(ALL) NOPASSWD: ALL 如:tuw ALL=(ALL) NOPASSWD: ALL

四种格式:

username ALL=(ALL) ALL 用户使用sudo需要输入密码
%username ALL=(ALL) ALL  用户组使用sudo需要输入密码
username ALL=(ALL) NOPASSWD: ALL 用户使用sudo不需要输入密码
%username ALL=(ALL) NOPASSWD: ALL 用户组使用sudo不需要输入密码

移除sudoers文件权限:chmod u-w /etc/sudoers

2.3 文件权限

2.3.1 文件权限管理

命令 chmod可以修改文件权限, 并提供了两种修改文件的方式

二进制数字

r是read, w是write, x是excute

  • rwx ====> 111 ====> 7

    可读、可写、可执行

  • rw- ====> 110 ====> 6

    可读写,不可执行

  • r-x ====> 101 ====> 5

    可读、可执行,不可写

  • r– ====> 100 ====> 4

    仅可读

chmod [-R] 755 文件或目录
# 将指定的文件或目录设置为:
#   文件或目录的所有者  ===>  可读、可写、可执行
#   文件或目录的非所有者 ===>  可读、可执行、不可修改
符号类型

三类身份:

u: 文件的所有者

g: 文件的所有者的所在组

o: 其他人

a: 所有用户[u+g+o]

chmod u=rwx, go+w 文件或目录
# 将指定的文件或目录设置为:

2.3.2 文件所属管理

命令 chownchgrp可以修改文件拥有者和所属用户组

3. 磁盘管理

3.1 概述

3.2 磁盘扩容

如果使用虚拟机: 在虚拟机管理下新增磁盘空间后,将空闲空间进行挂载,增加磁盘容量

参考: 粽先生https://www.cnblogs.com/straycats/p/11261365.html

3.1.1 确认硬盘空间:

# 查看文件系统的硬盘使用
df -h

# 查看硬盘数量和分区情况
fdisk -l

(默认情况下)当在虚拟机新增磁盘空间时, 会在 /dev/sda中可以体现, 但是属于未分配空间,需要对其进行分配

3.1.2 对未分配空间进行分区

# 进入fdisk交互式控制台, 进入后可以通过输入h查看帮助信息
fdisk /dev/sda
# 输入 n(新建分区) --> 输入p(或者直接回车) --> 一直选用默认
# 输入 t(设置分区号) --> 输入L(查看所有代码) --> 选择Linux LVM对应的选项
# 输入 w(保存修改并推出)

重启虚拟机后,再查看新的分区情况(可以看到在上一步中新增的分区)

fdisk -l

3.1.3 对目标分区扩容

# 创建物理卷
pvcreate /dev/sda3
# 添加物理卷到(centos)
vgextend centos /dev/sda3
# 查看卷组的属性, 能够看到新增的空闲空间
vgdisplay
# 将所有空闲空间分配到root文件系统(此处看需求)
# 在这一步时, 有可能会出现卡顿,可以再重启一次执行试试
lvextend -i +100%FREE /dev/mapper/centos-root

# 对root文件系统执行扩容
xfs_growfs /dev/mapper/centos-root

# 查看扩容之后的文件系统的银盘使用
df -h

4. 网络管理

4.1 防火墙管理

4.1.1 firewalld的基本使用

启动: systemctl start firewalld

查看状态: systemctl status firewalld

停止: systemctl disable firewalld

禁用: systemctl stop firewalld

4.1.2 服务管理

systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

启动一个服务:systemctl start firewalld.service 关闭一个服务:systemctl stop firewalld.service 重启一个服务:systemctl restart firewalld.service 显示一个服务的状态:systemctl status firewalld.service 在开机时启用一个服务:systemctl enable firewalld.service 在开机时禁用一个服务:systemctl disable firewalld.service 查看服务是否开机启动:systemctl is-enabled firewalld.service 查看已启动的服务列表:systemctl list-unit-files|grep enabled 查看启动失败的服务列表:systemctl –failed

4.1.3 firewalld-cmd命令

查看版本: firewall-cmd –version

查看帮助: firewall-cmd –help

显示状态: firewall-cmd –state

查看所有打开的端口: firewall-cmd –zone=public –list-ports

更新防火墙规则: firewall-cmd –reload

查看区域信息: firewall-cmd –get-active-zones

查看指定接口所属区域: firewall-cmd –get-zone-of-interface=eth0

拒绝所有包:firewall-cmd –panic-on

取消拒绝状态: firewall-cmd –panic-off

查看是否拒绝: firewall-cmd –query-panic

添加端口

firewall-cmd –zone=public –add-port=80/tcp –permanent (–permanent永久生效,没有此参数重启后失效)

重新载入

firewall-cmd –reload

查看

firewall-cmd –zone= public –query-port=80/tcp

删除

firewall-cmd –zone= public –remove-port=80/tcp –permanent

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=6443/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --query-port=80/tcp
firewall-cmd --zone=public --query-port=6443/tcp
firewall-cmd --list-ports

4.2 修改网卡



image-20240715083215694

修改:

vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

image-20240715083312685

image-20240715082721307

image-20240715083727212

image-20240715083715440

6. 常见问题整理

6.1 yum 更新失败

提示: yum cannot find a valid baseurl for repo

网络问题或者源问题

如果无法连接网络, 仅使用内网,需要将指定的源禁用掉!

在CentOS7下, 通过下列命令将对应的repo禁用掉!

yum-config-manager --disable [repo id]
# 注意在这里repo id不需要全写, 全写有问题, 说明如下

可以通过yum repolist查看当前启用的源,例如:

yum repolist
repo id				repo name 				status
base/7/x86_64		CentOS-7 - Base			0	
update/7/x86_64		CentOS-7 - Updates		0

如果需要将base/7/x86_64禁用的话, 仅需要使用如下命令即可:

yum-config-manager --disable base

如果需要将base/7/x86_64以及update/7/x86_64同时禁用 ,格式如下

yum-config-manager --disable base update

6.2 换源

备份

mv /etc/yum.repos.d/ /data/backup

选择合适的源

aliyun

下载

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 如果没有wget, 可以使用curl命令
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

北邮

https://mirrors.bupt.edu.cn/help/centos/

选择自己的版本

vim CentOS-Base.repo
# 将对应版本的内容复制过来即可


cat << EOF > CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.bupt.edu.cn/centos/$releasever/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.bupt.edu.cn/centos/$releasever/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7



#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.bupt.edu.cn/centos/$releasever/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7



#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.bupt.edu.cn/centos/$releasever/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-7
EOF

清空缓存

yum clean all

生成缓存

yum makecache

6.3 Virtual Box安装虚拟机

安装Vitrual Box,下载ios镜像

后台运行VirtualBox虚拟机

运行一个VirtualBox虚拟机最常见的方式是:

  1. 打开VirtualBox
  2. 点击对应的虚拟机来运行

使用这种传统方式运行的虚拟机通常都有一个前台界面,可以像操作本地电脑一样进行操作。但是Linuxer有时候更喜欢通过终端远程接入,而不是在虚拟机界面里点点画画。好在VirtualBox提供了这样一种后台运行虚拟机的方式,如下:

  1. 打开windows命令行cmd
  2. 进入到VirtualBox的安装目录,执行命令:VBoxManage.exe list vms 这时候可以看到当前已经安装的虚拟机名称和uuid
  3. 执行命令:VBoxManage.exe startvm “xxxxxxxxxx” –type headless xxxxxxxxxx表示的是要启动的虚拟机的名称,headless表示不显示界面。

参考: https://blog.csdn.net/liu_shi_jun/article/details/78300818

6.4 Xshell连接VirtualBox虚拟机

7. 参考及记录

7.1 命令手册

鸟哥Linux命令大全: https://man.niaoge.com/

Linux命令大全: https://www.linuxcool.com/

results matching ""

    No results matching ""