基本命令
常用命令
- 安装RZ SZ文件传输命令
yum -y install lrzsz
- 安装netstat命令
yum install net-tools
- 安装telnet命令
yum install telnet
CentOS7使用firewalld打开关闭防火墙与端口
启动: systemctl start firewalld
关闭: systemctl stop firewalld
,直接关闭可能不生效,还需要修改配置文件
查看状态: systemctl status firewalld
开机禁用: systemctl disable firewalld
开机启用: systemctl enable firewalld
那怎么开启一个端口呢:
- 添加:
firewall-cmd --zone=public --add-port=80/tcp --permanent
(–permanent永久生效,没有此参数重启后失效) - 重新载入:
firewall-cmd --reload
- 查看:
firewall-cmd --zone= public --query-port=80/tcp
- 查看开启端口:
firewall-cmd --zone=public --list-ports
删除端口: firewall-cmd --zone= public --remove-port=80/tcp --permanent
乱码解决
- 查看当前语言:
locale
或者echo $LANG
en_US.UTF-8也能够支持中文显示的。 - CRT设置语言: 选项→会话选项→终端→外观→字符编码→UTF-8
- 然后通过CRT写入中文,就不会显示乱码
- 可以给系统安装个中文语言包:
yum groupinstall chinese-support
语言说明:
en_US.UTF-8:你说英语,你在美国,字符集是utf-8
zh_CN.UTF-8:你说中文,你在中国,字符集是utf-8
如果你的LANG环境变量是en_US.UTF-8,那么系统的菜单、程序的工具栏语言、输入法默认语言就都是英文的。
如果你的LANG环境变量是zh_CN.UTF-8,那么系统的菜单、程序的工具栏语言、输入法默认语言就都是中文的。
软件安装
普通用户是无法使用yum进行安装软件的,直接下载RPM包也是不行的,因为要写到/bin /usr等目录。可以通过解压出来,再在vim ~/.bashrc
添加环境变量来操作。
处于安全考虑需要非root启动,避免比如tomact等程序被外部攻击获取到root权限:可以使用root用户安装软件,然后授权给非root用户运行使用。
版本升级
小版本升级-补丁版本
1 | sudo yum list kernel |
大版本升级-内核版本
1 | 载入公钥 |
其他应用
查看定时器
1 | crontab -l # 查看定时任务 |
防火墙
添加防火墙需要非常小心,如果是远程连接很可能导致无法连接上,必须到机房进行登录操作。阿里云等云服务器都有安全策略也可以添加一些过滤
1 | systemctl status firewalld # 查看firewall服务状态 |
增加访问控制
限制shh可以登录root的ip地址
1 | vi /etc/ssh/sshd_config |
openssh
服务器openssh版本升级后客户端工具的版本也要升级,不然可能导致无法连接
nmap工具
主机发现,端口扫描,应用与版本侦测,操作系统侦测
1 | nmap localhost # 查看本机端口 |
系统配置
文件描述符
linux系统对文件描述符的限制有两个级别
系统级别:使用cat /proc/sys/fs/file-max查看,默认值是根据内存大小,系统自动设置的,一般为内存大小(KB)的10%,可能有各种其他原因导致file-max没有设置为内存的10%
用户级别:默认是1024,使用ulimit -n
查看。limit -a
查看所有限制信息
1 | core file size (blocks, -c) unlimited |
为什么需要文件描述符?
原因1 – 资源问题:每个打开的文件都需要消耗内存来管理,而内存是有限的。
原因2 – 安全问题:如果不限制的话,有不怀好心的人启动一个进程来无限的创建和打开新的文件,会让服务器崩溃。
所以限制文件描述符的数量对于linux系统的稳定性是非常重要的
hard和soft的区别: soft是一个警告值,而hard则是一个真正意义的阀值,超过就会报错,一般情况下都是设为同一个值
core是内核文件,nofile是文件描述符,noproc是进程,一般情况下只限制文件描述符数和进程数就够了
vi /etc/security/limits.conf
,配置打开文件数、内存限制等。This file sets the resource limits for the users logged in via PAM.It does not affect resource limits of the system services.
1
2
3
4
5
6* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
* soft memlock unlimited
* hard memlock unlimited
查看系统当前打开的文件描述符数量sudo cat /proc/sys/fs/file-nr
查看某个进程打开的文件描述符数量(list open files)lsof -p 12324 |wc -l
查看进程打开文件描述符数量排序lsof -n |awk '{print $1}'|sort |uniq -c |sort -nr|head -10
内核参数
/etc/sysctl.conf
1 | kernel.sysrq = 0 # 是否启用kernel.sysrq(在大多数服务已无法 响应的情况下,还能通过按键组合来完成一系列 预先定义的系统操作,1启用,0禁用; |
sysctl -p
更新配置
cat /proc/sys/fs/nr_open
一个进程可以打开的文件个数 默认1048576,可以修改,正常够用cat /proc/sys/fs/file-nr
其中第一个数表示当前系统已分配使用的打开文件描述符数,为第二个数已经分配但未使用的文件描述符数,第三个数等于file-max
- 所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max
- 单个进程打开的文件描述符数不能超过user limit中nofile的soft limit
- nofile的soft limit不能超过其hard limit
- nofile的hard limit不能超过/proc/sys/fs/nr_open
问题排查
进程无故消失
- 先查看相关日志:
grep -i kill /var/log/message*
服务锁定与解除锁定
systemctl mask firewalld
systemctl unmask firewalld