关于linux命令在不同版本系统运行的问题(以centos为例)
2022-11-10 16:00:33362浏览
centos6和centos7有一些命令差异很大,centos6版本升级之后,可能有些命令不能在版本7上面使用,使用centos7的同学可以参考本文,了解一下版本升级之后的命令差异。

一、前言

我们都知道,Linux里面的命令是通用的,但是有些命令会因为 系统的升级而导致命令不再适用。这里我就以 CentOS6升级到CentOS7要注意的一些事项 为案例,为你们解释命令。

二、命令展示

1、禁止root使用ssh登入

  vim /etc/ssh/sshd_config
查找:#PermitRootLogin yes 修改为 PermitRootLogin no
重启sshd服务:systemctl restart sshd

对于一些需要root权限才能修改的目录(如:/var/www/html),可使用 ACL 给普通用户单独赋值
setfacl -m user:ryan:rwx /var/www/html

2、使用非常规的ssh端口

  vim /etc/ssh/sshd_config
查找:#Port 22 修改为 Port 9999
可以把9999改为任何1024 – 65535之间的任何数字

重启动sshd服务:systemctl restart sshd
最后是设定防火墙放行新端口:
firewall-cmd --zone=public --add-port=9999/tcp --permanent

完成后不要登出系统,使用另一个视窗尝试登入,例如:ssh -p 9999 ryan@ip 登录正常即可放心登出。

3、开启防火墙

  查看一下防火墙现在编辑了哪些服务和端口:
firewall-cmd --list-all
一般防火墙只开启了DHCP 客户端和ssh 两个服务的通讯端口,倘若日后安装了其他网络软件,如web服务器,必须要检查安装程式有否编辑他们的通讯端口,没有的话便要手动编辑。

(1)firewall几个常用命令:

  
#查看防火墙状态
firewall-cmd --state

#启动防火墙
systemctl start firewalld
#停止防火墙
systemctl stop firewalld
#重启防火墙
systemctl restart firewalld

#设置开机自启
systemctl enable firewalld
#查看防火墙设置开机自启是否成功
systemctl is-enabled firewalld

#添加删除一些基本的端口
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --zone=public --remove-service=ftp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent

#防火墙重新加载
firewall-cmd --reload

#查看放行的端口
firewall-cmd --list-ports

(2)直接修改配置文件

用户自定义的规则文件/etc/firewalld/zones/public.xml

修改该配置文件,来添加8080端口。

修改后的内容为:

  
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connec
tions are accepted.</description>
<service name="ssh"/>
<service name="dhcpv6-client"/>
<port protocol="tcp" port="8080"/>
</zone>

4、关闭SElinux

这个是一个安全服务,但是配置复杂,会影响很多软件的部署,如samba会被阻止访问。

vi /etc/selinux/config

找到#SELINUX=enforcing,改成SELINUX=disabled,保存。这个操作需要重启才能永久生效,所以可以临时关闭一下。

执行命令setenforce 0

查看是否生效的命令是: sestatus

再把 selinux-policy 卸载: yum remove selinux-policy

  Centos 7 开机一直转圈 提示failed to load SELinux policy freezing的解决方法
在一直转圈停留界面处点击键盘Esc键,即可看到 failed to load SELinux policy. freezing.
解决方法如下:
1、重启系统,进入boot选择系统内核的界面,按e键,找到linux16 那一行,在language 后面 也就是LANG=zh_CN.UTF-8,加上空格,再加上selinux=0。 之后按ctrl+x,稍等片刻即可进入系统登录界面;

5、一些优化

/etc/security/limits.conf文件追加

  #wjw_add

* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536

6、安装一些小工具

先安装额外的仓库源

cd /etc/yum.repos.dmv ./CentOS-Media.repo ./CentOS-Media.repo.BAK

yum install epel-release -y

如果在安装系统的时候选择minimal,会比之前6的时候以更小的包来安装,比如:vim、ifconfig、route、setup、netstat等等很多命令都没有了,在安装系统后可加入以下软件包:

yum install -y htop lrzsz tree net-tools nmap vim bash-completion lsof dos2unix nc telnet ntp wget rng-tools psmisc screen

友情链接: