系统命令


一)查看CPU信息

使用下面的指令,就可以查看到CPU的详细信息了。一般来讲,多核的CPU,或者支持超线程的CPU,或者物理上的多个CPU,就会显示出对应的条数的信息。比如说双核的CPU就会显示2条CPU信息,双核超线程的CPU就会显示出4条CPU信息。虽然条数多了,但是基本信息都一样。

#cat /proc/cpuinfo

(二)查看内存信息

与查看CPU信息对应的,查看内存信息的命令就是:

#cat /proc/meminfo

(三)查看硬盘分区信息

使用下面的命令,可以看到当前硬盘的分区信息,以及容量大小、已使用的空间和剩余空间大小,还可以查看每个分区的挂载点:

#df -lh

(四)查看硬盘的型号信息

可以使用下面的命令显示物理硬盘的个数以及对应的接口,还有硬盘的具体型号信息:

#cat /proc/scsi/scsi

在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd、mysqld、postfix等,安装后系统默认不会自动启动的。就算手动执行/etc/init.d/mysqld start启动了服务,只要服务器重启后,系统仍然不会自动启动服务。

在这个时候,我们就需要在安装后做个设置,让系统自动启动这些服务,避免不必要的损失和麻烦。

其实命令很简单的,使用chkconfig即可。比如要将mysqld设置为开机自动启动:

#chkconfig mysqld on

同理,要取消掉某个服务自动启动,只需要将最后的参数“on”变更为“Off”即可。比如要取消postfix的自动启动:

#chkconfig postfix off

值得注意的是,如果这个服务尚未被添加到chkconfig列表中,则现需要使用–add参数将其添加进去:

#chkconfig –add postfix

如果要查询当前所有自动启动的服务,可以输入:

#chkconfig –list

但是这样显示东西太多了,看起来很晕。如果只想看指定的服务怎么办呢?这个时候只需要在“–list”之后加上服务名就好了,比如查看httpd服务是否为自动启动,就输入:

#chkconfig –list httpd

这个时候输出的结果:

httpd           0:off   1:off   2:off   3:off   4:off   5:off   6:off

此时0~6均为off,则说明httpd服务不会在系统启动的时候自动启动。我们输入chkconfig httpd on后,再次检查输出结果变为:

httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

这个时候2~5都是on,就表明会自动启动了。

-----------Linux下修改ssh端口和禁止root远程登录-----------------------

今天遇到了一台Linux主机被入侵的事情,查看系统日志后发现,入侵者使用的是ssh远程登录枚举root密码的方式获取到了shell权限。于是在清理掉相关挂马代码后,决定修改ssh的端口号,并禁止掉root远程登录。

我们都知道,Linux的ssh默认端口号是22,要更改端口号为8888,只需要编辑/etc/ssh/ssh_config和/etc/ssh/sshd_config两个文件即可;而要禁止root远程登录,则需要编辑/etc/ssh/sshd_config。(可能部分Linux目录为/etc/sshd,请根据实际情况修改)

于是操作步骤如下:

1、编辑/etc/ssh/ssh_config文件:

#vim /etc/ssh/ssh_config

将被注释掉的Port 22前的注释符号“#”去掉,并将22改为8888,保存退出。

2、编辑/etc/ssh/sshd_config文件:

#vim /etc/ssh/sshd_config

将Port 22改为8888,并找到PermitRootLogin,将后面的yes改为no,这样root就不能远程登录了,保存退出。

3、重启ssh:

#/etc/init.d/ssh restart

------为Ubuntu中MySQL的root用户设置密码---------------

这样就成功的更改了ssh端口号,并禁止掉root远程登录。值得一提的是,如果您的Linux中只有root用户,在关闭root远程登录之前,请一定要建立一个新用户,否则会导致无法使用ssh远程登录服务器!

本文的内容在Ubuntu下通过测试,其他Linux系统下命令大同小异。

在安装Ubuntu Server的时候,如果在安装过程中没有设置MySQL的root密码,那么在安装结束后,MySQL的root密码默认是为空的。这对服务器来说是一个极大的隐患,此外也使得phpMyAdmin无法正常工作(提示root用户必须要有密码)。

其实,只需要一条命令就可以搞定这个问题。在终端下输入:

#mysql -u root

系统会自动使用root用户登录,由于密码为空因此可以直接登录成功进入MYSQL命令行模式下。这个时候我们只需要输入下面的指令并回车即可:

MYSQL>GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY “123456“;

其中“123456”为你需要设置的密码。通过这样设置后,就成功设置了MySQL的root密码,可以使用phpMyAdmin登录管理数据库了。

此时如果还是使用刚才那条指令:mysql -u root会提示需要密码,如果还要进入MySQL的命令行模式,则还需要加上一个-p参数:

mysql -u root -p 123456

------Linux禁止IP、解封IP的方法----------

在Linux服务器被攻击的时候,有的时候会有几个主力IP。如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了。

在Linux下封停IP,有封杀网段和封杀单个IP两种形式。一般来说,现在的攻击者不会使用一个网段的IP来攻击(太招摇了),IP一般都是散列的。于是下面就详细说明一下封杀单个IP的命令,和解封单个IP的命令。

在Linux下,使用ipteables来维护IP规则表。要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作。

要封停一个IP,使用下面这条命令:

#iptables -I INPUT -s ***.***.***.*** -j DROP

要解封一个IP,使用下面这条命令:

#iptables -D INPUT -s ***.***.***.*** -j DROP

参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。

此外,还可以使用下面的命令来查看当前的IP规则表:

#iptables –list

比如现在要将123.44.55.66这个IP封杀,就输入:

#iptables -I INPUT -s 123.44.55.66 -j DROP

要解封则将-I换成-D即可,前提是iptables已经有这条记录。如果要想清空封掉的IP地址,可以输入:

#iptables –flush

要添加IP段到封停列表中,使用下面的命令:

#iptables -I INPUT -s 121.0.0.0/8 -j DROP

其实也就是将单个IP封停的IP部分换成了Linux的IP段表达式。关于IP段表达式网上有很多详细解说的,这里就不提了。

相信有了iptables的帮助,解决小的DDoS之类的攻击也不在话下!


你可能感兴趣的:(linux,mysql,ubuntu,ssh,vim)