新闻中心
新闻中心与新手教程
新闻中心与新手教程
2024-10-06 00:54:39
以下步骤适用于centos、debian和ubuntu系统的旧版本和新版本。根据您的具体系统版本,某些命令可能略有不同。
以下端口在centos、debian和ubuntu系统中可能存在安全风险:
sudo yum update -y
sudo yum upgrade -y
sudo apt update
sudo apt upgrade -y
sudo adduser newuser
sudo usermod -ag sudo newuser # ubuntu/debian
sudo usermod -ag wheel newuser # centos
编辑 /etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
修改以下设置:
permitrootlogin no
passwordauthentication no
port 2222 # 更改默认端口
重启ssh服务:
sudo systemctl restart sshd
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-port=2222/tcp # 如果更改了ssh端口
sudo firewall-cmd --reload
sudo ufw allow 2222/tcp # 如果更改了ssh端口
sudo ufw enable
centos:
sudo yum install epel-release
sudo yum install fail2ban
ubuntu/debian:
sudo apt install fail2ban
创建配置文件:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
修改设置:
[sshd]
enabled = true
port = 2222 # 如果更改了ssh端口
maxretry = 3
bantime = 3600
启动服务:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
列出正在运行的服务:
sudo systemctl list-units --type=service
禁用不需要的服务:
sudo systemctl stop
sudo systemctl disable
centos:
sudo yum install audit
ubuntu/debian:
sudo apt install auditd
启动服务:
sudo systemctl start auditd
sudo systemctl enable auditd
设置关键目录和文件的权限:
编辑 /etc/rsyslog.conf
:
sudo nano /etc/rsyslog.conf
确保以下行未被注释:
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
重启rsyslog服务:
sudo systemctl restart rsyslog
centos:
sudo yum install rkhunter
ubuntu/debian:
sudo apt install rkhunter
sudo rkhunter --update
sudo rkhunter --propupd
sudo rkhunter --check
编辑 /etc/login.defs
:
sudo nano /etc/login.defs
修改以下设置:
pass_max_days 90
pass_min_days 7
pass_warn_age 7
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
安装yum-cron:
sudo yum install yum-cron
编辑 /etc/yum/yum-cron.conf
:
sudo nano /etc/yum/yum-cron.conf
设置:
apply_updates = yes
启动服务:
sudo systemctl start yum-cron
sudo systemctl enable yum-cron
centos:
sudo yum install ntp
ubuntu/debian:
sudo apt install ntp
启动服务:
sudo systemctl start ntpd
sudo systemctl enable ntpd
创建新规则文件:
sudo nano /etc/modprobe.d/disable-usb-storage.conf
添加以下行:
install usb-storage /bin/true
selinux通常默认启用。检查状态:
sestatus
如果未启用,编辑 /etc/selinux/config
:
sudo nano /etc/selinux/config
设置:
selinux=enforcing
安装apparmor:
sudo apt install apparmor apparmor-utils
检查状态:
sudo aa-status
安装和使用lynis:
# centos
sudo yum install lynis
# ubuntu/debian
sudo apt install lynis
# 运行扫描
sudo lynis audit system
请记住,这些步骤提供了一个全面的安全基线,但可能需要根据您的具体需求和环境进行调整。始终在生产环境中应用更改之前在测试环境中验证这些更改。
-----------------------------------------------------
以上我已经为您创建了一个详细的文档,列出了16个主要步骤来加强linux系统的安全性。这些步骤适用于centos、debian和ubuntu的新旧版本,涵盖了从基本系统更新到高级安全配置的各个方面。
以下是文档中包含的主要步骤:
每个步骤都包含了详细的命令和配置说明,适用于不同的linux发行版。
需要注意的是,虽然这些步骤提供了一个全面的安全基线,但您可能需要根据自己的具体需求和环境进行调整。在应用这些更改之前,强烈建议在测试环境中先进行验证。
此外,安全是一个持续的过程。即使实施了这些步骤,也需要定期审查和更新您的安全措施,以应对新出现的威胁。
感谢提供:05互联
2024-10-05 19:38:50
chroot /sysroot
passwd root
touch /.autorelabel
exit
reboot -f
mount -o remount,rw /
passwd root # 对于ubuntu,使用 passwd
mount -o remount,ro /
sync
reboot -f
如果上述方法不起作用,您可以使用live cd/usb:
sudo mount /dev/sda1 /mnt # 假设/dev/sda1是您的系统分区
sudo chroot /mnt
passwd root # 或 passwd 对于ubuntu
exit
sudo reboot
注意事项:
----------------------------------------------------
上面这些步骤提供了在无法正常进入系统时重置密码的方法。以下是一些额外的建议:
感谢提供:05互联
2024-10-05 19:36:40
passwd root
命令更改root密码。sync; reboot
重启系统。chroot /sysroot
切换到系统根目录。passwd root
更改root密码。touch /.autorelabel
更新SELinux标签。exit
然后 reboot -f
重启系统。mount -o remount,rw /
重新挂载根文件系统为可写。passwd root
更改root密码。sync; reboot -f
重启系统。passwd root
更改root密码。mount -o remount,ro /
重新挂载根文件系统为只读。sync; reboot -f
重启系统。Ubuntu默认禁用root账户,使用sudo进行管理。如果需要重置sudo用户密码:
passwd
更改指定用户的密码。mount -o remount,ro /
重新挂载根文件系统为只读。sync; reboot -f
重启系统。注意事项:
------------------------------------------------------------------
这些步骤涵盖了CentOS、Debian和Ubuntu的旧版本和新版本系统的root密码重置方法。以下是一些重要的补充说明:
感谢提供:05互联
如果进不去系统操作命令?点击这一篇详细教程: CentOS、Debian和Ubuntu无法进入系统时的密码重置步骤
2024-10-05 19:21:07
sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address <新的ipv4地址>
netmask <子网掩码>
gateway <网关地址>
dns-nameservers
iface eth0 inet6 static
address <新的ipv6地址>
netmask
gateway
eth0
替换为您的网卡名称(可以用 ip a
命令查看)sudo /etc/init.d/networking restart
sudo systemctl restart networking
/etc/netplan/
目录下,例如:
sudo nano /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
ens33:
addresses:
- <新的ipv4地址>/24
- <新的ipv6地址>/64
gateway4:
gateway6:
nameservers:
addresses: [
ens33
替换为您的网卡名称sudo netplan apply
ip addr show
ping -c 4 google.com
注意事项:
-----------------------------------------------------------------------------
上面的指南涵盖了debian和ubuntu的旧版本和新版本。主要的区别在于:
/etc/network/interfaces
文件/etc/init.d/networking restart
或 systemctl restart networking
netplan apply
eth0
、eth1
等ens33
、enp0s3
等可预测的命名方式在执行这些步骤时,请确保根据您的具体debian或ubuntu版本选择相应的操作。
感谢提供:05互联
2024-10-05 19:16:46
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
bootproto=static
ipaddr=<新的ipv4地址>
netmask=<子网掩码>
gateway=<网关地址>
dns1=<首选dns服务器>
dns2=<备用dns服务器>
ipv6init=yes
ipv6addr=<新的ipv6地址>/<前缀长度>
ipv6_defaultgw=
sudo service network restart
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
ip a
命令查看)bootproto=static
ipaddr=<新的ipv4地址>
prefix=<子网掩码前缀,如24>
gateway=<网关地址>
dns1=<首选dns服务器>
dns2=<备用dns服务器>
ipv6init=yes
ipv6addr=<新的ipv6地址>/<前缀长度>
ipv6_defaultgw=
sudo systemctl restart network
sudo nmcli connection reload
sudo nmcli connection up ens33
ip addr show
ping -c 4 google.com
注意事项:
---------------------------------------------------------------------
上面的更新后的指南涵盖了centos 6、7和8的具体步骤。主要的区别在于:
/etc/sysconfig/network-scripts/
目录下,但具体的文件名可能不同(如eth0、ens33等)。service network restart
systemctl restart network
nmcli
命令nmcli
命令更为推荐。在执行这些步骤时,请确保根据您的具体centos版本选择相应的操作。
感谢提供:05互联
2024-10-05 13:08:55
在 linux 系统中,删除文件后硬盘空间没有立即释放可能有以下几个原因:
ls -l /path/to/deleted/file
lsof | grep deleted
如果发现有进程仍在使用已删除的文件,可以考虑重启该进程或整个系统。
sync
echo 3 > /proc/sys/vm/drop_caches
注意:这个操作可能会暂时影响系统性能。
fsck -f /dev/sdxy
请替换 /dev/sdxy
为实际的设备名称。注意:运行 fsck 前请确保文件系统已卸载或以只读方式挂载。
mount -o remount /
lvchange --refresh /dev/volume_group/logical_volume
e2fsck -f /dev/sdxy
du -sh /var/log/*
如果发现大型日志文件,可以考虑清理或压缩它们。
fstrim -v /
如果以上步骤都无法解决问题,可以考虑重启系统:
sudo reboot
duf
或 df -h
检查磁盘使用情况。iotop
和 iostat
监控磁盘 i/o。记住,在执行这些操作时要格外小心,特别是在生产环境中。建议在进行任何可能影响系统的操作之前进行完整的数据备份。
---------------------------------------------------------
上面解释了为什么删除 linux 服务器上的文件后硬盘空间可能不会立即释放,以及如何解决这个问题。以下是主要内容的概述:
这个指南提供了一系列从简单到复杂的步骤,可以帮助您解决硬盘空间不释放的问题。请记住,在执行这些操作时要小心,特别是在生产环境中。
感谢提供:05互联
2024-10-05 13:05:24
cron 是 linux 系统中的一个任务调度程序,用于在指定的时间自动运行命令或脚本。它的主要用途包括:
sudo systemctl status cron # 在使用 systemd 的系统上
sudo service cron status # 在使用 sysv init 的系统上
ps aux | grep cron
grep cron /var/log/syslog # 在 ubuntu/debian 上
grep cron /var/log/cron # 在 centos/rhel 上
sudo systemctl stop cron
sudo service cron stop
sudo touch /etc/cron.deny
crontab -e
crontab -l
crontab -l > mycron_backup
crontab mycron_backup
记住,维护 cron 时要小心,因为错误配置可能会导致意外的系统行为或安全问题。始终在应用更改之前仔细检查 cron 任务。
-------------------------------------------------------------------
上面是详细的 linux cron 指南,涵盖了您提出的所有问题。以下是主要内容的概述:
这个指南应该能帮助您理解 cron 的基本概念和管理方法。需要注意的是,cron 是一个强大的工具,但使用不当可能会影响系统性能或安全性。
感谢提供:05互联
2024-10-05 12:56:09
以下是CentOS、Debian和Ubuntu服务器中最常用的命令及其简要说明:
ls
- 列出目录内容cd
- 更改当前目录pwd
- 显示当前工作目录的完整路径mkdir
- 创建新目录rm
- 删除文件或目录cp
- 复制文件或目录mv
- 移动或重命名文件或目录cat
- 查看文件内容grep
- 在文件中搜索指定的字符串chmod
- 更改文件或目录的权限chown
- 更改文件或目录的所有者ps
- 显示当前运行的进程top
- 动态显示当前进程的资源占用情况df
- 显示文件系统磁盘空间使用情况du
- 估算文件和目录的磁盘使用量free
- 显示系统内存的使用情况ping
- 测试与另一个网络主机的连接ifconfig
/ ip
- 配置或显示网络接口信息ssh
- 通过SSH协议远程登录到另一台计算机scp
- 在网络上的主机之间安全地复制文件tar
- 创建、查看和提取tar归档文件systemctl
- 控制systemd系统和服务管理器journalctl
- 查询systemd的日志uname
- 显示系统信息whoami
- 显示当前登录用户的用户名who
- 显示当前登录的用户信息w
- 显示已登录用户的信息和他们的活动uptime
- 显示系统运行了多长时间reboot
- 重新启动系统shutdown
- 关闭系统包管理命令(因系统而异):
yum
(CentOS 7及以下) / dnf
(CentOS 8+) - 安装、更新和移除软件包apt
- 处理软件包的安装和移除这些命令涵盖了日常服务器管理和维护的主要方面,包括文件操作、系统监控、网络管理、用户管理和系统维护。根据具体的服务器配置和用途,可能还会用到其他专门的命令。
注意:虽然这些命令在三个系统中大多是通用的,但某些命令(特别是包管理命令)在不同的发行版中可能有所不同。始终建议查阅特定系统的文档以获取最准确的信息。
---------------------------------------------------------------------
以上是一个包含30个最常用Linux服务器命令的列表,并为每个命令提供了简要说明。这个列表涵盖了日常服务器管理和维护的主要方面,包括:
另外,我还特别提到了CentOS和Debian/Ubuntu在包管理方面的区别。
这个列表应该能满足大多数日常服务器管理任务的需求。但请记住,根据特定的服务器配置和用途,可能还需要使用其他专门的命令。
感谢提供:05互联
2024-10-05 03:24:54
在停止进程之前,首先需要找到进程的id。
ps aux | grep [进程名称]
例如,要找到 nginx 进程:
ps aux | grep nginx
pgrep [进程名称]
例如:
pgrep nginx
有几种方法可以停止进程,从最温和到最强硬:
这是最常用的方法,给予进程清理和正常退出的机会。
kill [pid]
例如:
kill 1234
如果进程没有响应 sigterm,可以使用 sigkill 强制终止进程。
kill -9 [pid]
或者
kill -sigkill [pid]
pkill 允许你通过进程名而不是 pid 来终止进程。
pkill [进程名称]
例如:
pkill nginx
killall 会终止所有匹配名称的进程。
killall [进程名称]
例如:
killall nginx
使用 ps 命令再次检查进程是否还在运行:
ps aux | grep [进程名称]
对于作为系统服务运行的进程(如 nginx, apache 等),最好使用系统的服务管理工具:
sudo systemctl stop [服务名]
例如:
sudo systemctl stop nginx
sudo service [服务名] stop
例如:
sudo service nginx stop
sudo
。systemctl restart
或 service restart
。通过遵循这些步骤和注意事项,你可以安全有效地停止 centos、debian 和 ubuntu 服务器上的单个进程。始终谨慎操作,特别是在生产环境中。
---------------------------------------------------------------------
以上是专门针对如何在centos、debian和ubuntu服务器上停止单个进程。这个指南涵盖了几种不同的方法,适用于不同的情况,并包含了重要的注意事项。
主要内容包括:
ps
命令pgrep
命令kill
命令发送 sigterm 信号kill
命令发送 sigkill 信号pkill
命令killall
命令这个指南应该能够帮助您安全有效地停止服务器上的单个进程。它强调了在不同情况下应该使用的不同方法,以及在执行这些操作时需要注意的重要事项。
感谢05互联
2024-10-05 03:19:46
free
命令是查看内存使用情况最快捷的方式。
free -h
示例输出:
total used free shared buff/cache available
mem: 7.7g 4.1g 208m 310m 3.4g 2.9g
swap: 2.0g 1.5m 2.0g
详细解释:
total
: 总物理内存used
: 已使用的内存free
: 完全未使用的内存shared
: 多个进程共享的内存buff/cache
: 用作缓冲区和缓存的内存available
: 可用于启动新应用程序的内存估计值注意:available
不等于 free
。linux会将未使用的内存用作磁盘缓存,这部分内存可以在需要时立即释放给应用程序使用。
top
示例输出(顶部):
top - 14:28:23 up 7 days, 5:29, 2 users, load average: 0.52, 0.58, 0.59
tasks: 231 total, 1 running, 230 sleeping, 0 stopped, 0 zombie
%cpu(s): 2.6 us, 1.0 sy, 0.0 ni, 96.1 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
mib mem : 7908.8 total, 212.9 free, 4235.5 used, 3460.4 buff/cache
mib swap: 2048.0 total, 2046.5 free, 1.5 used. 3017.0 avail mem
在 top
中:
m
键可以按内存使用率排序q
键退出首先安装 htop:
centos:
sudo yum install epel-release
sudo yum install htop
debian/ubuntu:
sudo apt update
sudo apt install htop
然后运行:
htop
htop
提供了更直观的界面,包括内存和cpu使用的图形表示。你可以使用 f1-f10 功能键进行各种操作。
cat /proc/meminfo
示例输出(部分):
memtotal: 8103424 kb
memfree: 218112 kb
memavailable: 3089344 kb
buffers: 384208 kb
cached: 2710656 kb
swapcached: 192 kb
active: 3340288 kb
inactive: 3105792 kb
...
这个文件提供了最详细的内存使用信息。重要字段解释:
memtotal
: 总物理内存memfree
: 完全空闲的内存memavailable
: 可用于启动新应用的内存估计值buffers
和 cached
: 用作缓冲区和缓存的内存swaptotal
, swapfree
: 交换空间总量和可用量vmstat 5 5
这会每5秒输出一次,共输出5次。
示例输出:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 218112 393216 3141632 0 0 0 5 1 2 2 1 97 0 0
0 0 0 218112 393216 3141696 0 0 0 18 443 852 1 0 99 0 0
0 0 0 218112 393216 3141696 0 0 0 0 438 848 2 1 97 0 0
重要列解释:
swpd
: 使用的交换空间free
: 空闲内存buff
: 用作缓冲区的内存cache
: 用作缓存的内存si
, so
: 从磁盘交换入内存和从内存交换出到磁盘的数量us
, sy
, id
, wa
: cpu时间分配(用户时间、系统时间、空闲时间、等待i/o时间)查看内存使用最多的前10个进程:
ps aux --sort=-%mem | head -n 11
示例输出:
user pid %cpu %mem vsz rss tty stat start time command
mysql 28830 0.3 24.9 1737504 2001312 ? ssl may07 173:41 /usr/sbin/mysqld
www-data 1253 0.0 5.6 358640 453800 ? s may07 0:16 /usr/sbin/apache2 -k start
www-data 1252 0.0 5.6 358508 453668 ? s may07 0:16 /usr/sbin/apache2 -k start
列解释:
%mem
: 进程使用的物理内存百分比vsz
: 虚拟内存大小(kb)rss
: 常驻集大小,即进程使用的非交换物理内存(kb)首先安装 sysstat:
centos:
sudo yum install sysstat
debian/ubuntu:
sudo apt update
sudo apt install sysstat
然后使用 sar 查看内存使用历史:
sar -r
这会显示今天的内存使用统计。要查看特定日期的数据:
sar -r -f /var/log/sa/sa日期
其中"日期"是两位数的日期(如 01 表示本月1号)。
示例输出:
12:00:01 am kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
12:10:01 am 218112 7885312 97.31 393216 3141632 8539648 84.60 3407872 3178496 36
12:20:01 am 218112 7885312 97.31 393216 3141696 8539648 84.60 3407872 3178560 36
free
命令显示的 available
内存很低(比如少于总内存的 10%),可能表明系统内存压力较大。buff/cache
)使用并不一定是坏事,因为这部分内存可以在需要时快速释放。free
命令显示交换空间使用量很大,而且 vmstat
显示频繁的交换活动(si
和 so
列有持续的非零值),这可能表明系统内存不足。ps
或 top
命令查看哪些进程占用最多内存。sar
命令查看内存使用的长期趋势。如果可用内存持续下降,可能需要考虑增加物理内存或优化应用程序。/var/log/syslog
或 /var/log/messages
)中看到 out of memory (oom) killer 的活动,这表明系统曾经严重缺乏内存,被迫终止了某些进程。记住,内存管理是一个复杂的主题。单一的高内存使用并不一定表示问题,重要的是要综合考虑系统性能、应用需求和用户体验。如果你持续观察到内存压力,可能需要考虑增加物理内存、优化应用程序或调整系统配置。
--------------------------------------------------------
以上是涵盖了在centos、debian和ubuntu服务器上查看和分析内存使用率的多种方法。这个指南不仅包括了每个命令的详细说明,还提供了输出示例和解释,以及如何解读这些信息。
主要内容包括:
free
命令的详细解释top
和 htop
命令的使用方法和输出解读/proc/meminfo
文件的关键信息vmstat
命令进行内存监控ps
命令查看单个进程的内存使用sysstat
包中的 sar
命令进行历史数据分析这个指南不仅告诉您如何获取内存使用数据,还帮助您理解这些数据的含义,以及如何判断是否存在内存问题。
感谢05互联