centos查看系统/硬件信息及运维常用命令

[root@yan-001 ~] # uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令

[root@yan-001 ~] # head -n 1 /etc/issue # 查看操作系统版本,是数字1不是字母L

[root@yan-001 ~] # cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令

[root@yan-001 ~] # hostname # 查看计算机名的linux系统信息命令

[root@yan-001 ~] # lspci -tv # 列出所有PCI设备

[root@yan-001 ~] # lsusb -tv # 列出所有USB设备的linux系统信息命令

[root@yan-001 ~] # lsmod # 列出加载的内核模块

[root@yan-001 ~] # env # 查看环境变量资源

[root@yan-001 ~] # free -m # 查看内存使用量和交换区使用量

[root@yan-001 ~] # df -h # 查看各分区使用情况

[root@yan-001 ~] # du -sh # 查看指定目录的大小

[root@yan-001 ~] # grep MemTotal /proc/meminfo # 查看内存总量

[root@yan-001 ~] # grep MemFree /proc/meminfo # 查看空闲内存量

[root@yan-001 ~] # uptime # 查看系统运行时间、用户数、负载

[root@yan-001 ~] # cat /proc/loadavg # 查看系统负载磁盘和分区

[root@yan-001 ~] # mount | column -t # 查看挂接的分区状态

[root@yan-001 ~] # fdisk -l # 查看所有分区

[root@yan-001 ~] # swapon -s # 查看所有交换分区

[root@yan-001 ~] # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

[root@yan-001 ~] # dmesg | grep IDE # 查看启动时IDE设备检测状况网络

[root@yan-001 ~] # ifconfig # 查看所有网络接口的属性

[root@yan-001 ~] # iptables -L # 查看防火墙设置

[root@yan-001 ~] # route -n # 查看路由表

[root@yan-001 ~] # netstat -lntp # 查看所有监听端口

[root@yan-001 ~] # netstat -antp # 查看所有已经建立的连接

[root@yan-001 ~] # netstat -s # 查看网络统计信息进程

[root@yan-001 ~] # ps -ef # 查看所有进程

[root@yan-001 ~] # top # 实时显示进程状态用户

[root@yan-001 ~] # w # 查看活动用户

[root@yan-001 ~] # id # 查看指定用户信息

[root@yan-001 ~] # last # 查看用户登录日志

[root@yan-001 ~] # cut -d: -f1 /etc/passwd # 查看系统所有用户

[root@yan-001 ~] # cut -d: -f1 /etc/group # 查看系统所有组

[root@yan-001 ~] # crontab -l # 查看当前用户的计划任务服务

[root@yan-001 ~] # chkconfig –list # 列出所有系统服务

[root@yan-001 ~] # chkconfig –list | grep on # 列出所有启动的系统服务程序

[root@yan-001 ~] # rpm -qa # 查看所有安装的软件包

[root@yan-001 ~] # cat /proc/cpuinfo # 查看CPU相关参数的linux系统命令

[root@yan-001 ~] # cat /proc/partitions # 查看linux硬盘和分区信息的系统信息命令

[root@yan-001 ~] # cat /proc/meminfo # 查看linux系统内存信息的linux系统命令

[root@yan-001 ~] # cat /proc/version # 查看版本,类似uname -r

[root@yan-001 ~] # cat /proc/ioports # 查看设备io端口

[root@yan-001 ~] # cat /proc/interrupts # 查看中断

[root@yan-001 ~] # cat /proc/pci # 查看pci设备的信息

[root@yan-001 ~] # cat /proc/swaps # 查看所有swap分区的信息

一、注释掉系统不需要的用户和用户组注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦。   

cp  /etc/passwd  /etc/passwdbak   #修改之前先备份   

vi /etc/passwd  #编辑用户,在前面加上#注释掉 此行 

#adm:x:3:4:adm:/var/adm:/sbin/nologin

#lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

#sync:x:5:0:sync:/sbin:/bin/sync

#shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

#halt:x:7:0:halt:/sbin:/sbin/halt#uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

#operator:x:11:0:operator:/root:/sbin/nologin

#games:x:12:100:games:/usr/games:/sbin/nologin

#gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin    

#注释掉ftp匿名账号cp /etc/group   /etc/groupbak  

 #修改之前先备份  vi /etc/group  

#编辑用户组,在前面加上#注释掉此行

#adm:x:4:root,adm,daemon

#lp:x:7:daemon,lp

#uucp:x:14:uucp

#games:x:20:

#dip:x:40:

二、关闭系统不需要的服务

service acpid stop  chkconfig acpid off   #停止服务,取消开机启动  #电源进阶设定,常用在 Laptop 上

service autofs stop  chkconfig autofs off  #停用自动挂载档桉系统与週边装置

service bluetooth stop  chkconfig  bluetooth  off   #停用Bluetooth蓝芽

service cpuspeed stop  chkconfig  cpuspeed  off   #停用控制CPU速度主要用来省电

service cups stop   chkconfig cups off    #停用 Common UNIX Printing System 使系统支援印表机

service ip6tables stop  chkconfig ip6tables off   #禁止IPv6

 如果要恢复某一个服务,可以执行下面操作

  service acpid start  chkconfig acpid on  

三、禁止非root用户执行/etc/rc.d/init.d/下的系统命令

chmod -R 700 /etc/rc.d/init.d/*

chmod -R 777 /etc/rc.d/init.d/*    #恢复默认设置  

四、给下面的文件加上不可更改属性,从而防止非授权用户获得权限

chattr +i /etc/passwd

chattr +i /etc/shadow

chattr +i /etc/group

chattr +i /etc/gshadow

chattr +i /etc/services    #给系统服务端口列表文件加锁,防止未经许可的删除或添加服务

lsattr  /etc/passwd   /etc/shadow  /etc/group  /etc/gshadow   /etc/services   #显示文件的属性  

注意:执行以上权限修改之后,就无法添加删除用户了。如果再要添加删除用户,需要先取消上面的设置,等用户添加删除完成之后,再执行上面的操作

chattr -i /etc/passwd     #取消权限锁定设置  

chattr -i /etc/shadow  

chattr -i /etc/group  

chattr -i /etc/gshadow  

chattr -i /etc/services   #取消系统服务端口列表文件加锁

现在可以进行添加删除用户了,操作完之后再锁定目录文件

五、限制不同文件的权限

chattr +a .bash_history           #避免删除.bash_history或者重定向到/dev/null

chattr +i .bash_historychmod 700 /usr/bin                恢复  chmod 555 /usr/binchmod 700 /bin/ping              恢复  chmod 4755 /bin/pingchmod 700 /usr/bin/vim         恢复  chmod 755 /usr/bin/vimchmod 700 /bin/netstat          恢复  chmod 755 /bin/netstatchmod 700 /usr/bin/tail          恢复  chmod 755 /usr/bin/tailchmod 700 /usr/bin/less         恢复  chmod 755 /usr/bin/lesschmod 700 /usr/bin/head       恢复  chmod 755 /usr/bin/headchmod 700 /bin/cat                恢复  chmod 755 /bin/catchmod 700 /bin/uname          恢复  chmod 755 /bin/uname

chmod 500 /bin/ps                 恢复  chmod 755 /bin/ps

六、禁止使用Ctrl+Alt+Del快捷键重启服务器

cp /etc/inittab  /etc/inittabbakvi /etc/inittab    #注释掉下面这一行

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

七、使用yum update更新系统时不升级内核,只更新软件包由于系统与硬件的兼容性问题,有可能升级内核后导致服务器不能正常启动,这是非常可怕的,没有特别的需要,建议不要随意升级内核。

cp /etc/yum.conf    /etc/yum.confbak

1、修改yum的配置文件 vi /etc/yum.conf  在[main]的最后添加 exclude=kernel*

2、直接在yum的命令后面加上如下的参数:yum --exclude=kernel* update查看系统版本  cat /etc/issue

查看内核版本  uname -a

八、关闭Centos自动更新

chkconfig --list yum-updatesd  #显示当前系统状态yum-updatesd    0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

service yum-updatesd stop      #关闭  开启参数为start停止 yum-updatesd:                                        [确定]

service yum-updatesd status   #查看是否关闭yum-updatesd 已停

chkconfig --level 35 yum-updatesd off  #禁止开启启动(系统模式为3、5)

chkconfig yum-updatesd off  #禁止开启启动(所有启动模式全部禁止)

chkconfig --list yum-updatesd  #显示当前系统状态

yum-updatesd    0:关闭  1:关闭  2:启用  3:关闭  4:启用  5:关闭  6:关闭

九、关闭多余的虚拟控制台

我们知道从控制台切换到 X 窗口,一般采用 Alt-F7 ,为什么呢?因为系统默认定义了 6 个虚拟控制台,所以 X 就成了第7个。实际上,很多人一般不会需要这么多虚拟控制台的,修改/etc/inittab ,注释掉那些你不需要的。

cp  /etc/inittab  /etc/inittabbakvi /etc/inittab# Run gettys in standard runlevels1:2345:respawn:/sbin/mingetty tty1#2:2345:respawn:/sbin/mingetty tty2#3:2345:respawn:/sbin/mingetty tty3#4:2345:respawn:/sbin/mingetty tty4#5:2345:respawn:/sbin/mingetty tty5

#6:2345:respawn:/sbin/mingetty tty6

十、删除MySQL历史记录

用户登陆数据库后执行的SQL命令也会被MySQL记录在用户目录的.mysql_history文件里。如果数据库用户用SQL语句修改了数据库密码,也会因.mysql_history文件而泄漏。所以我们在shell登陆及备份的时候不要在-p后直接加密码,而是在提示后再输入数据库密码。另外这两个文件我们也应该不让它记录我们的操作,以防万一。cdcp .bash_history  .bash_historybak  #备份cp .mysql_history .mysql_historybakrm .bash_history .mysql_historyln -s /dev/null .bash_history

ln -s /dev/null .mysql_history

十一、修改history命令记录

cp /etc/profile   /etc/profilebakvi /etc/profile

找到 HISTSIZE=1000 改为 HISTSIZE=50

十二、隐藏服务器系统信息

在缺省情况下,当你登陆到linux系统,它会告诉你该linux发行版的名称、版本、内核版本、服务器的名称。为了不让这些默认的信息泄露出来,我们要进行下面的操作,让它只显示一个"login:"提示符。删除/etc/issue和/etc/issue.net这两个文件,或者把这2个文件改名,效果是一样的。mv  /etc/issue /etc/issuebak

mv  /etc/issue.net   /etc/issue.netbak

十三、优化Linux内核参数

cp /etc/sysctl.conf  /etc/sysctl.confbakvi /etc/sysctl.conf    #在文件末尾添加以下内容net.ipv4.ip_forward = 1 #修改为1net.core.somaxconn = 262144net.core.netdev_max_backlog = 262144net.core.wmem_default = 8388608net.core.rmem_default = 8388608net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.ipv4.netfilter.ip_conntrack_max = 131072net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180net.ipv4.route.gc_timeout = 20net.ipv4.ip_conntrack_max = 819200net.ipv4.ip_local_port_range = 10024  65535net.ipv4.tcp_retries2 = 5net.ipv4.tcp_fin_timeout = 30net.ipv4.tcp_syn_retries = 1net.ipv4.tcp_synack_retries = 1net.ipv4.tcp_timestamps = 0net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_tw_len = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_keepalive_time = 120net.ipv4.tcp_keepalive_probes = 3net.ipv4.tcp_keepalive_intvl = 15net.ipv4.tcp_max_tw_buckets = 36000net.ipv4.tcp_max_orphans = 3276800net.ipv4.tcp_max_syn_backlog = 262144net.ipv4.tcp_wmem = 8192 131072 16777216net.ipv4.tcp_rmem = 32768 131072 16777216net.ipv4.tcp_mem = 94500000 915000000 927000000/sbin/sysctl -p   #使配置立即生效十四、CentOS 系统优化cp  /etc/profile  /etc/profilebak2vi /etc/profile      #在文件末尾添加以下内容ulimit -c unlimitedulimit -s unlimitedulimit -SHn 65535ulimit -S -c 0export LC_ALL=Csource  /etc/profile    #使配置立即生效

ulimit -a    #显示当前的各种用户进程限制

十五、服务器禁止ping

cp  /etc/rc.d/rc.local  /etc/rc.d/rc.localbakvi  /etc/rc.d/rc.local        #在文件末尾增加下面这一行echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all参数0表示允许   1表示禁止

  1. <code class="language-java"></code> 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

Java代码审计-铁人下载系统

初学 java 代码审计,跟着表哥们脚步,走一遍审计流程,就选了个没有使用 Java 框架的 java 系统,作为入门。

11400
来自专栏云计算教程系列

如何使用Restic Backup Client将数据备份到对象存储服务

Restic是一个用Go语言编写,安全且高效的备份客户端。它可以将本地文件备份到许多不同的后端存储库,例如本地目录,SFTP服务器或对象存储服务。

34220
来自专栏Python中文社区

Nginx+uwsgi部署Django应用

本文目的:在centos7.x服务器上利用nginx和uwsgi部署Django应用

37540
来自专栏晓晨的专栏

使用 pm2 守护你的 .NET Core 应用程序

守护进程,英文名:“daemon",也有守护神的意思。守护进程是一个在后台运行并且不受任何终端控制的进程,不会随着会话结束而退出。诸如 mysql、apache...

16020
来自专栏阿杜的世界

【译】Linux概念架构的理解摘要一、Linux内核在整个计算机系统中的位置二、内核的作用三、Linux内核的整体架构四、高度模块化设计的系统,利于分工合作。五、系统中的数据结构六、子系统架构七、结论

声明:本文翻译自Conceptual Architecture of the Linux Kernel

12640
来自专栏熊二哥

Linux快速入门03-系统管理

这部分将涉及常用的各类linux命令和一些系统高级管理特性,尤其是shell script的创建,这部分在系统自动化运维时会很有作用。 ? 在进入bash介绍...

22870
来自专栏bboysoul

Bboysoul's Vim使用指南

sudo dnf install git ctags git 用来下载 ctags 插件要用到

9120
来自专栏WindCoder

ubuntu14.04下java安装及环境配置

这可以说是一篇迟到的文章,几个月前就说要写,结果拖到了现在。中间由于系统打不开等一系列原因,不得不重装了一遍,这次环境配置是出了点小问题,最后奉上。

33820
来自专栏冷冷

【maven学习】 利用Profile构建不同环境的部署包

项目开发好以后,通常要在多个环境部署,环境:本机环境(local)、(开发小组内自测的)开发环境(dev)、(提供给测试团队的)测试环境(test)、预发布环境...

21890
来自专栏coding

自己打造基于命令行的书签管理工具

26640

扫码关注云+社区

领取腾讯云代金券