技术先行者 - 默认分类
type: channel
link: https://www.sunshijz.cn/index.php/category/default/
description: 只是一个默认分类
items: Nginx 优化
items: 源码编译PHP
items: 创建PV报错信息：device is partitioned
items: Ubuntu 配置静态IP地址
items: 如何在 Linux 上清除 RAM 内存缓存、缓冲区和交换空间
items: Redhat 8 安装Nginx
items: 初识Nginx
items: LVM 逻辑卷管理
items: kvm 管理工具webvirtmgr
items: 用户管理

Nginx 优化
type: item
date: 2025-06-16T19:04:00+08:00
description: Nginx 的优化是一个系统工程，涉及服务器硬件、操作系统、Nginx 配置本身，以及您所服务的应用类型。核心配置优化 (Master-Worker 架构)Nginx 采用 Master-Worker 架构，一个 Master 进程负责读取和解析配置，管理 Worker 进程；Worker 进程则负责处理实际的请求。1. worker_processes auto; auto 是 Nginx 1.8.1 及更高版本推荐的值。Nginx 会根据可用的 CPU 核心数自动调整 Worker 进程的数量。这样可以最大化 CPU 利用率，并避免手动设置可能导致的资源浪费或不足。1. 为什么是 CPU 核心数？ Nginx 是事件驱动的非阻塞服务器。一个 Worker 进程可以高效处理数万甚至数十万并发连接，因为当一个连接处于等待状态（例如等待数据从磁盘读取或网络发送）时，Worker 进程可以立即切换到处理另一个连接。过多的 Worker 进程会导致：- 上下文切换开销: 操作系统需要花费更多时间在 Worker 进程之间切换，这会抵消并行处理带来的益处。- 内存消耗: 每个 Worker 进程都会消耗一定的内存。{callout color="#ff9300"}特殊情况{/callout}磁盘 I/O 密集型应用 (如大型静态文件服务器):** 如果您的 Nginx 主要用于提供大量静态文件，并且这些文件分散在不同的磁盘上，那么适当增加 Worker 进程数量（可能略高于 CPU 核心数）可能有助于利用多磁盘的并行 I/O 能力。但这需要仔细测试。CPU 密集型模块 (不常见): 如果您使用了某些 CPU 密集型的 Nginx 模块 (例如自定义的 Lua 脚本执行大量计算)，那么也可能需要根据实际情况调整。但对于常规使用，auto 或 CPU 核心数通常是最佳选择。worker_connections 10240;(示例子值) 这是单个 Worker 进程可以处理的最大并发连接数。这个值直接影响 Nginx 服务器的总并发能力：总并发连接数 = worker_processes * worker_connections。{callout color="#00fdff"}关键考量:{/callout}文件描述符 (File Descriptors - FD): 每个连接在操作系统中都会占用一个文件描述符。因此，worker_connections 的值不能超过操作系统对单个进程允许的最大文件描述符数量（ulimit -n）。系统级限制: 还需要检查系统级的最大文件描述符限制 (/proc/sys/fs/file-max)。内存消耗 每一个连接都会消耗少量内存，如果 worker_connections 设置过大，可能会导致内存不足。还待更新

源码编译PHP
type: item
date: 2025-06-16T18:09:00+08:00
description: {progress percentage="" color="#00fdff"/}环境准备：操作系统： Red Hat Enterprise Linux 8.8 (Ootpa)内核版本： Linux 4.18.0-477.10.1.el8_8.x86_641. 下载/解压软件包 [root@php-server ~]# wget https://www.php.net/distributions/php-8.4.1.tar.gz [root@php-server ~]# tar -xf php-8.4.1.tar.gz -C /usr/local/ [root@php-server php84]# ln -s php-8.4.1 php842. 安装依赖[root@php-server php84]# dnf -y install libjpeg libjpeg-devel libpng libpng-devel oniguruma freetype freetype-devel libxml2 libxml2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn openssl openssl-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2-devel openldap-devel automake autoconf libtool make openldap-devel gcc gcc-c++ sqlite-devel libxslt-devel wget vim3. 检查环境./configure --prefix=/usr/local/php8/ --with-config-file-path=/usr/local/php8/etc/ --with-curl --with-freetype-dir --with-gd --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg --with-xmlrpc --with-xsl --with-zlib --with-bz2 --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --with-pdo-mysql --enable-gd --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-zip --with-ldap4. 编译过程[root@php-server php84]# make5. 编译安装(出现以下表示编译成功)[root@php-server php84]# make install Installing shared extensions: /usr/local/php8/lib/php/extensions/no-debug-non-zts-20240924/ Installing PHP CLI binary: /usr/local/php8/bin/ Installing PHP CLI man page: /usr/local/php8/php/man/man1/ Installing PHP FPM binary: /usr/local/php8/sbin/ Installing PHP FPM defconfig: /usr/local/php8/etc/ Installing PHP FPM man page: /usr/local/php8/php/man/man8/ Installing PHP FPM status page: /usr/local/php8/php/php/fpm/ Installing phpdbg binary: /usr/local/php8/bin/ Installing phpdbg man page: /usr/local/php8/php/man/man1/ Inst…

创建PV报错信息：device is partitioned
type: item
date: 2024-09-26T15:29:02+08:00
description: 错误信息[y40@localhost ~]$ sudo vgextend rhel /dev/sdb /dev/sdc Cannot use /dev/sdb: device is partitioned Cannot use /dev/sdc: device is partitioned原因：是因为磁盘里的数据没有清楚赶紧导致错误信息解决方法：[y40@localhost ~]$ sudo wipefs --all --backup /dev/sdb /dev/sdb：8 个字节已擦除，位置偏移为 0x00000200 (gpt)：45 46 49 20 50 41 52 54 /dev/sdb：8 个字节已擦除，位置偏移为 0x773c255e00 (gpt)：45 46 49 20 50 41 52 54 /dev/sdb：2 个字节已擦除，位置偏移为 0x000001fe (PMBR)：55 aa [y40@localhost ~]$ sudo wipefs --all --backup /dev/sdc /dev/sdc：8 个字节已擦除，位置偏移为 0x00000200 (gpt)：45 46 49 20 50 41 52 54 /dev/sdc：8 个字节已擦除，位置偏移为 0x7470c05e00 (gpt)：45 46 49 20 50 41 52 54 /dev/sdc：2 个字节已擦除，位置偏移为 0x000001fe (PMBR)：55 aa /dev/sdc：将调用 ioctl 来重新读分区表：成功再次创建PV[y40@localhost ~]$ sudo pvcreate /dev/sdb /dev/sdc Physical volume "/dev/sdb" successfully created. Physical volume "/dev/sdc" successfully created.

Ubuntu 配置静态IP地址
type: item
date: 2024-09-21T11:25:00+08:00
description: 一、修改配置/etc/netplan``root@y36-server-ubuntucom:~# cat /etc/netplan/50-cloud-init.yaml # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-init's # network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: ethernets: enp7s0: dhcp4: true dhcp6: false version: 2 bridges: bri0: interfaces: [enp7s0] addresses: [192.168.107.67/24] gateway4: 192.168.107.254 routes: - to: default via: 192.168.99.1 nameservers: addresses: - 114.114.114.114 - 8.8.8.8 - 8.8.4.4 parameters: stp: true forward-delay: 4 dhcp4: no 切记：注意缩进二、测试文件配置文件是否有误root@y36-server-ubuntucom:~# sudo netplan try 三、应用配置文件root@y36-server-ubuntucom:~# sudo netplan apply

如何在 Linux 上清除 RAM 内存缓存、缓冲区和交换空间
type: item
date: 2024-06-27T21:23:00+08:00
description: 像任何其他操作系统一样，GNU/Linux 已经有效地实现了内存管理，甚至不止于此。但是，如果任何进程正在消耗您的内存并且您想要清除它，Linux 提供了一种刷新或清除 RAM 缓存的方法。在本文中，我们将探讨如何在 Linux 系统上清除 RAM 内存缓存、缓冲区和交换空间以提高整体性能。让我们探索 Linux 系统上的 RAM 内存缓存、缓冲区和交换空间。 RAM Memory Cache RAM内存缓存 RAM内存缓存是内核用来保存定期访问的数据的一种机制。虽然这提高了系统响应能力，但缓存过载可能会导致过时数据的保留，从而影响性能。 Buffer缓冲区 与缓存一样，缓冲区临时保存数据，但用途不同。缓冲区存储在 CPU 和硬盘等组件之间传输的数据，从而促进顺畅通信。但是，过多的缓冲数据会阻碍系统速度。Swap Space 交换空间 交换空间是硬盘上分配的区域，当物理 RAM 耗尽时充当虚拟内存。虽然它可以防止由于内存不足而导致系统崩溃，但如果过度使用，它可能会降低系统速度。清除 Linux 中的缓存、缓冲区和交换空间在某些情况下，您可能需要清除缓存、缓冲区或交换空间，如下所述。清除 PageCache要仅清除 PageCache，您可以使用以下命令，该命令将专门清除 PageCache，从而帮助释放内存资源。# sync; echo 1 > /proc/sys/vm/drop_caches要仅清除 dentries 和 inode，您可以使用以下命令，该命令将同步文件系统并清除 dentries 和 inode，通过释放缓存的目录和 inode 信息来提高系统性能。# sync; echo 2 > /proc/sys/vm/drop_caches清除 PageCache、dentry 和 Inode要清除 pagecache、dentries 和 inode，您可以使用以下命令，该命令将同步文件系统并清除 pagecache、dentries 和 inode，从而有助于释放内存并提高系统性能。# sync; echo 3 > /proc/sys/vm/drop_caches下面是对上述命令的每个部分的说明：sync:将刷新文件系统缓冲区。“;”:分号用于分隔一行上的多个命令。echo 3 > /proc/sys/vm/drop_caches: 命令用于删除页面缓存，这是最近访问的文件的临时存储区域。注意：drop_caches文件控制应清除哪种类型的缓存数据，其值如下：1 – 仅清除页面缓存。2 – 清除 dentries 和 inode。3 – 清除页面缓存、dentries 和 inode。正如内核文档中提到的，写入 drop_caches 将清理缓存而不会杀死任何应用程序/服务，命令 echo 正在执行写入文件的工作。如果必须清除磁盘缓存，则第一个命令在企业和生产环境中最安全，因为“...echo 1 > ….” 将仅清除 PageCache。不建议使用上面的第三个选项“...echo 3 >”，直到你知道自己在做什么，因为它会清除页面缓存、dentries 和 inode。如何在 Linux 中清除交换空间？要清除交换空间，可以使用带有 -a 选项的 swapoff 命令，这将禁用所有交换分区。# swapoff -a然后，通过运行以下命令将其转回，这将激活所有交换分区# swapon -a在 Linux 中释放缓冲区、缓存和交换是否可取？通常，在 Linux 中手动释放 Linux 内核可能使用的缓冲区和缓存不是一个好主意，Linux 内核旨在有效地管理这些资源，手动清除它们可能会破坏系统性能。但是，在极少数情况下，您需要清除缓冲区和缓存，例如，如果您遇到严重的内存压力并且无法通过其他方式释放内存。在这些情况下，您应该谨慎行事，并注意潜在的性能影响。同样，在正常情况下，在 Linux 中清除交换空间通常不是例行或可取的做法。自动执行内存优化要自动执行该过程并定期清除内存，您可以设置一个 cron 作业以按指定的时间间隔运行命令。打开 crontab 配置# crontab -e添加以下行以在每天午夜清除缓存、缓冲区和交换空间：0 0 * * * sudo sync; echo 3 > /proc/sys/vm/drop_caches 0 0 * * * sudo echo 1 > /proc/sys/vm/drop_caches 0 0 * * * sudo sync; echo 2 > /proc/sys/vm/drop_caches 0 0 * * * sudo swapoff -a && sudo swapon -a是否建议清除 Linux 生产服务器上的 RAM 缓存？考虑这样一种情况：您已安排一个脚本在…

Redhat 8 安装Nginx
type: item
date: 2024-06-16T19:56:53+08:00
description: nginx 部署yum｜dnf 源部署nginx 依赖与第三方源 epel1、安装第三方源[root@localhost lvm-test]# yum -y install epel-release [root@localhost lvm-test]# ls /etc/yum.repos.d/ a.repo_bak bak CentOS-Base.repo epel.repo epel-testing.repo2、查找nignx服务[root@localhost lvm-test]# yum search nginx3、安装nginx[root@localhost lvm-test]# yum install nginx -y 4、启动nginx服务789版本systemclt[系统管理命令] start(开启)｜stop(停止) | reload(重新加载)| enable (开机自启服务) | disable(开机不自启动) [服务的名称] [root@localhost lvm-test]# systemctl start nginx 6版本serivce [服务名称] start ｜stop5、添加防火墙规则7 8 firewalld#临时修改 [root@localhost lvm-test]# firewall-cmd --add-port=80/tcpiptables6、修改Selinux查看selinux状态[root@localhost lvm-test]# getenforce Enforcing #严格模式设置Selinux#临时修改 [root@localhost lvm-test]# setenforce 0 0#表示宽松模式 1#严谨模式Seliunx 工作流程图：7、测试使用搜索引擎浏览器在地址栏中：http://serverIP

初识Nginx
type: item
date: 2024-06-16T19:31:58+08:00
description: 一、 什么是nginxnginx [engine x]是一个HTTP和反向代理服务器、邮件代理服务器和通用TCP/UDP代理服务器，最初由Igor Sysoev编写。长期以来，它一直在许多重负载的俄罗斯网站上运行，包括Yandex、Mail.Ru、VK和Rambler。据Netcraft称，nginx在2024年3月服务或代理了20.63%最繁忙的网站。以下是一些成功故事：Dropbox、Netflix、Wordpress.com、FastMail.FM。 我们在学习Nginx时也采用同样的方式,先来看看Nginx的竞争对手——Apache、Lighttpd、Tomcat、Jetty、IIS,它们都是Web服务器,或者叫做WWW(World Wide Web)服务器,相应地也都具备Web服务器的基本功能:基于REST架构风格 ,以统一资源描述符(Uniform Resource Identifier,URI)或者统一资源定位符(Uniform Resource Locator,URL)作为沟通依据,通过HTTP为浏览器等客户端程序提供各种网络服务。 Tomcat和Jetty面向Java语言,先天就是重量级的Web服务器,它的性能与Nginx没有可比性。apache的特点 Apache有许多优点,如稳定、开源、跨平台等,但它出现的时间太长了,在它兴起的年代,互联网的产业规模远远比不上今天,所以它被设计成了一个重量级的、不支持高并发的Web服务器。为什么选择Nginx更快这表现在两个方面:一方面,在正常情况下,单次请求会得到更快的响应;另一方面,在高峰期(如有数以万计的并发请求),Nginx可以比其他Web服务器更快地响应请求；高扩展性Nginx的设计极具扩展性,它完全是由多个不同功能、不同层次、不同类型且耦合度极低的模块组成；高可靠性高可靠性是我们选择Nginx的最基本条件,因为Nginx的可靠性是大家有目共睹的,很多家高流量网站都在核心服务器上大规模使用Nginx；低内存消耗一般情况下,10000个非活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的内存,这是Nginx支持高并发连接的基础；单机支持10万以上的并发连接这是一个非常重要的特性!随着互联网的迅猛发展和互联网用户数量的成倍增长,各大公司、网站都需要应付海量并发请求,一个能够在峰值期顶住10万以上并发请求的Server,热部署master管理进程与worker工作进程的分离设计,使得Nginx能够提供热部署功能,即可以在7×24小时不间断服务的前提下,升级Nginx的可执行文件；最自由的BSD许可协议这是Nginx可以快速发展的强大动力。BSD许可协议不只是允许用户免费使用Nginx,它还允许用户在自己的项目中直接使用或修改Nginx源码,然后发布；Apache拥有丰富的模块组件支持，稳定性强，BUG少，动态内容处理强。Nginx轻量级，占用资源少，负载均衡，高并发处理强，静态内容处理高效nginx 官网nginx 官网地址nginx 软件下载nginx 官方文档

LVM 逻辑卷管理
type: item
date: 2024-05-24T20:15:00+08:00
description: 什么是逻辑卷LVM是Linux的逻辑卷管理器。它提供了对磁盘空间的管理，与基于主和逻辑分区的标准磁盘分区相比，磁盘空间更灵活，限制更少。LVM受到所有主要Linux发行版的支持，它甚至在Fedora和RHEL上默认使用在计算机存储中，逻辑卷管理或LVM提供了一种在大容量存储设备上分配空间的方法，这种方法比传统的分区方案更灵活地存储卷。特别是，卷管理器可以连接、条带在一起或以其他方式将分区（或一般块设备）组合成更大的虚拟分区，管理员可以调整大小或移动，可能不会中断系统使用。LVM是一个用于逻辑卷管理的工具，包括分配磁盘、条带、镜像和调整逻辑卷大小。使用LVM，硬盘驱动器或一组硬盘驱动器被分配给一个或多个物理卷。LVM物理卷可以放置在可能跨越两个或更多磁盘的其他块设备上.物理卷被合并成逻辑卷，但/boot分区除外。/boot分区不能在逻辑卷组上，因为引导加载程序无法读取它。如果根（/）分区位于逻辑卷上，请创建一个单独的/boot分区，该分区不是卷组的一部分。由于物理卷不能跨越多个驱动器，要跨越多个驱动器，请为每个驱动器创建一个或多个物理卷。用途LVM用于以下目的：创建多个物理卷或整个硬盘的单个逻辑卷（有点类似于RAID 0，但更类似于JBOD），允许动态重新调整卷大小。通过允许添加和更换磁盘，而不会停机或服务中断，结合热交换来管理大型硬盘更换。在小型系统（如桌面）上，LVM无需在安装时估计分区需要多大，而是允许文件系统根据需要轻松调整大小。通过拍摄逻辑卷的快照来执行一致的备份。用一个密码加密多个物理分区专业术语物理卷（Physical Volumes 缩写pv）这是LVM使用的物理存储。它可能是整个磁盘或现有分区。卷组（Volume Group vg）这是一个或多个物理卷的集合，它包含逻辑卷。逻辑卷（Logical Volume lv）这是LVM提供的空间，您可以将其用作分区来制作文件系统和存储文件。PE最小存储单元，默认大小（4MB）逻辑卷的管理在Linux系统中如果没有LVM的命令（最小化安装） [root@localhost ~]# dnf search lvm ======================================================= Name Matched: lvm ======================================================== llvm.i686 : The Low Level Virtual Machine llvm.x86_64 : The Low Level Virtual Machine lvm2.x86_64 : Userland logical volume management tools [root@localhost ~]# dnf -y install lvm2.x86_64一、 物理卷管理1.1 创建物理卷命令： pvcreate描述：初始化磁盘或分区供 LVM 使用。Ex:[root@localhost ~]# pvcreate /dev/vdb Wiping dos signature on /dev/vdb. Physical volume "/dev/vdb" successfully created.1.2 查看pv命令： pvdisplay描述： 显示所有的物理卷语法： pvdisplay [pv_name]Ex:[root@localhost ~]# pvdisplay "/dev/vdb" is a new physical volume of "20.00 GiB" --- NEW Physical volume --- PV Name /dev/vdb VG Name PV Size 20.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID jzEyr7-KheP-2PiZ-G1Pz-b1xq-cZcc-G4gzkb1.3 删除 PV命令：pvremove描述： 移除逻辑卷 Ex:[root@localhost ~]# pvremove -f /dev/vdb Labels on physical volume "/dev/vdb" successfully wiped 二、 卷组管理2.1 创建卷组命令：vgcreate语法：vgcreate 卷组名称 {物理卷1 物理卷2 物理卷n}Ex：[root@localhost ~]# vgcreate test_vg /dev/vdb Volume group "test_vg" successfully created2.2 显示卷组 命令： …

kvm 管理工具webvirtmgr
type: item
date: 2024-05-21T21:37:22+08:00
description: 介绍WebVirtMgr是一个基于libvirt的Web界面，用于管理虚拟机。它允许您创建和配置新域，并调整域的资源分配。VNC查看器向来宾域显示一个完整的图形控制台。KVM是目前唯一支持的虚拟机管理程序。技术：应用程序逻辑是用Python和Django编写的。LIBVIRT Python绑定用于与底层虚拟机管理程序交互。安装1. 查看系统版本[root@web ~]# hostnamectl Static hostname: web.server.com Icon name: computer-desktop Chassis: desktop Machine ID: e57ef32020fa406d9bbee213aba339ed Boot ID: 5a70728f01fd4402a40d90d47e3f10df Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7 Kernel: Linux 3.10.0-1160.114.2.el7.x86_64 Architecture: x86-642. 安装]# yum -y install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release ]# yum -y install git python-pip libvirt-python libxml2-python python-websockify supervisor nginx gcc python-devel ]# pip3 install numpy 3.安装python要求并设置Django环境[root@web ~]# git clone https://github.com/retspen/webvirtmgr.git [root@web ~]# cd webvirtmgr [root@web webvirtmgr]# pip install -r requirements.txt4.同步用户数据[root@web webvirtmgr]# ./manage.py syncdb WARNING:root:No local_settings file found. Creating tables ... Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_groups Creating table auth_user_user_permissions Creating table auth_user Creating table django_content_type Creating table django_session Creating table django_site Creating table servers_compute Creating table instance_instance Creating table create_flavor You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (leave blank to use 'root'): root Email address: Password: Password (again): Superuser created successfully. Installing custom SQL ... Installing indexes ... Installed 6 object(s) from 1 fixture(s)5.添加一个超级用户[root@web webvirtmgr]# ./manage.py createsuperuser Username: abbott Email address: Password: Password (again): Superuser created successfully.运行服务[root@web webvirtmgr]# ./manage.py runserver & 默认端口："8000"6.配置Nginx作为web代理6.1 将项目文件拷贝到/var/www/在/etc/nginx/conf.…

用户管理
type: item
date: 2024-04-13T19:55:27+08:00
description: 1. 创建用户在Linux系统中，redhat系列 命令： useradd 描述：创建新用户或更新默认的新用户信息语法： useradd [options] user_name选项：-d, --home-dir HOME_DIR home directory of the new account -u, --uid UID user ID of the new account -m, --create-home create the user's home directory -s, --shell SHELL login shell of the new account -M, --no-create-home 不创建家目录Example 1: 创建一个新的普通用户[root@localhost ~]# useradd dev检查用户是否创建成功[root@localhost ~]# id dev uid=1000(dev) gid=1000(dev) groups=1000(dev) uid: user ID #用户ID gid：group ID #组ID groups: #组名称Example 2: 给用户创建密码命令： passwd[root@localhost ~]# passwd dev Changing password for user dev. New password: #输入一次密码 BAD PASSWORD: The password is shorter than 8 characters #不满足密码的要求 Retype new password: #确认密码 passwd: all authentication tokens updated successfully.Example 3: 使用普通用户登录系统[root@web ~]# ssh dev@192.168.212.161Example 4: 创建新用户的时候且指定家目录[root@localhost ~]# useradd dev03 -d /opt/dev03验证结果：Example 5: 创建用户时指定uid 用户ID [root@localhost ~]# useradd dev04 -u 1100 [root@localhost ~]# id dev04 uid=1100(dev04) gid=1100(dev04) groups=1100(dev04)Example 6: 创建伪用户，不能登录shell 环境[root@localhost ~]# useradd dev05 -s /sbin/nologin [root@localhost ~]# id dev05 uid=1101(dev05) gid=1101(dev05) groups=1101(dev05) [root@localhost ~]# ls /home/ dev dev01 dev04 dev05 #测试 显示用户无法登录系统 [root@localhost ~]# su - dev05 This account is currently not available. # 创建用户时，指定不能登录shell环境，且不创建家目录 [root@localhost ~]# useradd dev06 -M -s /sbin/nologin #验证是否创建家目录 [root@localhost ~]# ls /home/ dev dev01 dev04 dev05 [root@localhost ~]# 在debin （ubuntu）系列中命令： adduser2. 删除用户命令：userdel语法：userdel [options] [user_name]example 1: 删除用户[root@localhost ~]# userdel dev06 [root@localhost ~]# id dev06 id: 'dev06': no such user [root@localhost ~]# id dev05 uid=1101(dev05) gid=1101(dev05) groups=1101(dev05) [root@localhost ~]# userdel dev05 [root@localhost ~]# id dev05 id: 'dev05': no such userexample 2: 删除用户的所有文件[root@localhost ~]# userdel -r dev05 [root@localhost ~]# ls /home/ dev dev01 dev04修改用户命令：usermod语法：usermod [options] [us…