diff --git a/KVM虚拟化/KVM虚拟化技术.md b/KVM虚拟化/KVM虚拟化技术.md index 7af8655..1bf2fc9 100644 --- a/KVM虚拟化/KVM虚拟化技术.md +++ b/KVM虚拟化/KVM虚拟化技术.md @@ -107,7 +107,7 @@ KVM 在 Linux 环境中以主机的方式运行,不过只要底层硬件虚拟 ## 开启虚拟化支持 -image-20240817165427529 +![开启虚拟化支持](KVM虚拟化技术/image-20260708141145662.png) - 查看CPU支持的功能中是否存在 - vmx:INTEL的虚拟化功能 @@ -159,11 +159,10 @@ kvm有良好的图形化支持,所以我们可以先装一下桌面组件 ```bash [root@localhost ~]# uname -r -3.10.0-957.el7.x86_64 -[root@localhost ~]# cat /etc/centos-release -CentOS Linux release 7.6.1810 (Core) -[root@localhost ~]# yum install *qemu* *virt* librbd1-devel -y -(在安装虚拟机出错的情况下,一般是操作系统的版本问题) +5.14.0-570.26.1.el9_6.x86_64 +[root@localhost ~]# cat /etc/rocky-release +Rocky Linux release 9.6 (Blue Onyx) +[root@localhost ~]# yum install qemu-kvm libvirt virt-manager virt-install bridge-utils virt-top libguestfs-tools bridge-utils virt-viewer -y ``` 主要程序 @@ -263,36 +262,45 @@ irqbypass 13503 1 kvm [root@localhost ~]# yum -y install vsftpd [root@localhost ~]# systemctl restart vsftpd [root@localhost ~]# cd /var/ftp/ -[root@localhost ftp]# mkdir centos7 -[root@localhost ftp]# mount /root/CentOS-7-x86_64-Minimal-1810.iso /var/ftp/centos7/ -#将我们的镜像文件挂载在上面 -mount: /dev/loop0 is write-protected, mounting read-only +[root@localhost ftp]# mkdir rocky9 +[root@localhost ftp]# mount /root/Rocky-9.7-x86_64-dvd.iso /var/ftp/rocky9/ +mount: /var/ftp/rocky9: WARNING: source write-protected, mounted read-only. + +# 允许匿名访问 +[root@localhost ftp]# grep anonymous_enable /etc/vsftpd/vsftpd.conf +anonymous_enable=YES +[root@localhost ~]# systemctl restart vsftpd ``` 2. 安装virt-install工具 ```bash [root@localhost ~]# yum -y install virt-install -[root@localhost ~]# df -h -文件系统 容量 已用 可用 已用% 挂载点 -devtmpfs 1.9G 0 1.9G 0% /dev -tmpfs 1.9G 0 1.9G 0% /dev/shm -tmpfs 1.9G 14M 1.9G 1% /run -tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup -/dev/mapper/centos-root 17G 9.0G 8.1G 53% / -/dev/sda1 1014M 209M 806M 21% /boot -tmpfs 378M 44K 378M 1% /run/user/0 -/dev/sr0 918M 918M 0 100% /run/media/roo/CentOS 7 x86_64 -/dev/loop0 918M 918M 0 100% /var/ftp/centos7u3 -# 查看根目录挂载点剩余空间 -# /dev/mapper/centos-root 17G 9.0G 8.1G 53% / +[root@localhost ftp]# df -h +Filesystem Size Used Avail Use% Mounted on +devtmpfs 4.0M 0 4.0M 0% /dev +tmpfs 7.7G 0 7.7G 0% /dev/shm +tmpfs 3.1G 9.9M 3.1G 1% /run +/dev/mapper/rl-root 64G 21G 44G 32% / +/dev/nvme0n1p1 960M 370M 591M 39% /boot +/dev/mapper/rl-home 32G 255M 31G 1% /home +tmpfs 1.6G 84K 1.6G 1% /run/user/0 +/dev/loop0 13G 13G 0 100% /var/ftp/rocky9 ``` 3. 创建虚拟机 ```bash -[root@localhost ~]# virt-install --connect qemu:///system -n vm1 -r 2048 --disk path=/var/lib/libvirt/images/vm1.img,size=8 --os-type=linux --os-variant=centos7.0 --vcpus=2 --location=ftp://192.168.88.10/centos7 -x console=ttyS0 --nographics -# size大于3,centos系统自身需要一定空间 +[root@localhost ~]# virt-install \ +--connect qemu:///system \ +-n vm1 \ +-r 2048 \ +--disk path=/var/lib/libvirt/images/vm1.img,size=8 \ +--os-variant=rocky9 \ +--vcpus=2 \ +--location=ftp://127.0.0.1/rocky9 \ +-x console=ttyS0 \ +--nographics ``` 参数说明: @@ -311,7 +319,16 @@ tmpfs 378M 44K 378M 1% /run/user/0 如果本地有镜像可以直接使用本地镜像进行安装: ```bash -[root@localhost ~]# virt-install -name=vm2 --ram 512 --vcpus=1 --disk path=/var/lib/libvirt/images/vm2.qcow2,size=5,bus=virtio --accelerate --cdrom /root/CentOS-7-x86_64-Minimal-1810.iso --vnc --vncport=-1 --vnclisten=0.0.0.0 --network bridge=virbr0,model=virtio --noautoconsole +[root@localhost ~]# virt-install \ +--connect qemu:///system \ +--name vm1 \ +--memory 2048 \ +--vcpus 2 \ +--disk path=/var/lib/libvirt/images/vm1.img,size=8 \ +--os-variant rhel9.0 \ +--cdrom /var/lib/libvirt/Rocky-9.7-x86_64-dvd.iso \ +--graphics vnc,listen=0.0.0.0,port=5905 \ +--noautoconsole ``` 参数说明: @@ -320,45 +337,12 @@ tmpfs 378M 44K 378M 1% /run/user/0 - `--ram 512`: 为虚拟机分配 512MB 内存 - `--vcpus=1`: 为虚拟机分配 1 个 vCPU - `--disk path=/var/lib/libvirt/images/vm2.qcow2,size=5,bus=virtio`: 创建一个 5GB 大小、使用 virtio 总线的 QCOW2 格式虚拟磁盘文件 `/var/lib/libvirt/images/vm2.qcow2` -- `--accelerate`: 启用硬件加速 - `--cdrom /root/CentOS-7-x86_64-Minimal-1810.iso`: 指定本地 CentOS 7 Minimal ISO 作为安装介质 - `--vnc --vncport=-1 --vnclisten=0.0.0.0`: 启用 VNC 远程控制台,监听所有网络接口 - `--network bridge=virbr0,model=virtio`: 使用 `virbr0` 网桥并采用 virtio 网卡模型 - `--noautoconsole`: 不自动连接到虚拟机控制台 -4. 安装设置 - -```bash -Text mode provides a limited set of installation options. It does not offer -custom partitioning for full control over the disk layout. Would you like tVNC mode instead? - - 1) Start VNC - - 2) Use text mode - - Please make your choice from above ['q' to quit | 'c' to continue | - 'r' to refresh]:2 -# 此处如果客户机电脑有图形化,可以选择启动vnc连接,然后正常安装,如果没有图形化,可以选择2进入命令行安装 - -======================================================================================================================================================Installation -[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help 1) [x] Language settings 2) [!] Time settings - (English (United States)) (Timezone is not set.) - 3) [!] Installation source 4) [!] Software selection - (Processing...) (Processing...) - 5) [!] Installation Destination 6) [x] Kdump - (No disks selected) (Kdump is enabled) - 7) [x] Network configuration 8) [!] Root password - (Wired (eth0) connected) (Password is not set.) - 9) [!] User creation - (No user will be created) - Please make your choice from above ['q' to quit | 'b' to begin installation | - 'r' to refresh]: - -# 这里的安装选项跟图形化中的选项一致,一次设置存储,网络,密码,语言,时区即可开始安装 - -``` - -- 在宿主机下访问 +4. 在宿主机下访问 ```bash [root@localhost ~]# virsh console vm1 @@ -372,6 +356,8 @@ custom partitioning for full control over the disk layout. Would you like tVNC m ```bash [root@localhost ~]# yum install cockpit -y +[root@localhost ~]# vim /etc/cockpit/disallowed-users +#root [root@localhost ~]# systemctl start cockpit ``` diff --git a/KVM虚拟化/KVM虚拟化技术/image-20260708141145662.png b/KVM虚拟化/KVM虚拟化技术/image-20260708141145662.png new file mode 100644 index 0000000..a44f9bf Binary files /dev/null and b/KVM虚拟化/KVM虚拟化技术/image-20260708141145662.png differ diff --git a/Linux基础/用户权限管理.md b/Linux基础/用户权限管理.md index f3a4d3f..705a97f 100644 --- a/Linux基础/用户权限管理.md +++ b/Linux基础/用户权限管理.md @@ -625,8 +625,8 @@ cat: /etc/shadow: 权限不够 papi ALL=(root) NOPASSWD: /bin/chown,/usr/sbin/useradd ``` - * 表示: 用户papi能在所有可能出现的主机上, 提权到root下执行`/bin/chown`, 不必输入密码; 但运行`/usr/sbin/useradd`命令时需要密码 - * 在具有sudo操作的用户下, 执行`sudo -l`可以查看到该用户被允许和被禁止运行的命令 +* 表示: 用户papi能在所有可能出现的主机上, 提权到root下执行`/bin/chown`, 不必输入密码; 但运行`/usr/sbin/useradd`命令时需要密码 +* 在具有sudo操作的用户下, 执行`sudo -l`可以查看到该用户被允许和被禁止运行的命令 * 查看下列示例 @@ -634,8 +634,8 @@ papi ALL=(root) NOPASSWD: /bin/chown,/usr/sbin/useradd papi ALL=/usr/sbin/,/sbin/,!/usr/sbin/fdisk ``` - * 命令前面加上!号表示取消该命令 - * 用户papi在所有可能出现的主机上, 能够运行目录/usr/sbin和/sbin下所有的程序, 但fdisk除外。 +* 命令前面加上!号表示取消该命令 +* 用户papi在所有可能出现的主机上, 能够运行目录/usr/sbin和/sbin下所有的程序, 但fdisk除外。 * 默认情况下输入一次sudo可以保持15分钟不再要求输入密码,如果想要延长这个时间,可以修改配置文件 diff --git a/Linux基础/进程管理.md b/Linux基础/进程管理.md index ec743cc..956f4e9 100644 --- a/Linux基础/进程管理.md +++ b/Linux基础/进程管理.md @@ -23,7 +23,7 @@ # 进程的生命周期 -![img](进程管理/01.进程生命周期.png) +![image-20251113095410318](进程管理/image-20251113095410318.png) 父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。每个新进程分配一个唯一的进程ID(PID),满足跟踪安全性之需。PID和父进程ID(PPID)是子进程环境的元素,任何进程都可以创建子进程,所有进程都是第一个系统进程的后代。 diff --git a/Linux基础/进程管理/image-20251113095410318.png b/Linux基础/进程管理/image-20251113095410318.png new file mode 100644 index 0000000..30c18d1 Binary files /dev/null and b/Linux基础/进程管理/image-20251113095410318.png differ diff --git a/Linux服务/Apache.md b/Linux服务/Apache.md index d3830ef..e942b9c 100644 --- a/Linux服务/Apache.md +++ b/Linux服务/Apache.md @@ -1,6 +1,7 @@ # 常用的网站服务软件 -[https://w3techs.com/technologies/overview/web_server](https://w3techs.com/technologies/overview/web_server) +- 曾经Apache是第一,虽然现在不是,但是在行业中依旧非常的常见 +- [https://w3techs.com/technologies/overview/web_server](https://w3techs.com/technologies/overview/web_server) ![img-web_server_top](Apache/web_server_top.png) @@ -764,12 +765,12 @@ EOF **认证类型**: - Basic 认证​​:用户名密码以 Base64 编码传输(明文,需配合 HTTPS 保证安全) -- ​​Digest 认证​​:密码哈希传输(更安全,但配置复杂) +- ​Digest 认证​​:密码哈希传输(更安全,但配置复杂) **核心配置指令**: - AuthName​​:定义认证区域名称(浏览器弹窗提示文本) - AuthUserFile​​:指定存储用户名密码的文本文件路径(如 .htpasswd) -- ​​Require​​:授权规则(如 valid-user 允许所有认证用户,或指定用户/组) +- ​Require​​:授权规则(如 valid-user 允许所有认证用户,或指定用户/组) **密码文件** @@ -835,7 +836,7 @@ client ~ % curl -u eagleslab02:123456 http://172.16.175.129:8006/admin # URL 处理机制 -​​**别名(Alias)​​ 和 ​​重定向(Redirect)**​​ 是两种不同的 URL 处理机制,核心区别在于​**​是否改变客户端浏览器地址栏的 URL​​** 以及​**​是否触发新的 HTTP 请求​​** +​**别名(Alias)​​ 和 ​​重定向(Redirect)**​​ 是两种不同的 URL 处理机制,核心区别在于​**​是否改变客户端浏览器地址栏的 URL​​** 以及​**​是否触发新的 HTTP 请求​​** ## 别名 Alias