题目要求
让普通用户使用sudo命令编写脚本完成以下操作:
(1)安装ssh服务。
(2)设置ssh的端口为22222。
(3)允许root登陆。
要求分别在本地和云端成功运行脚本。
编程平台
本地
本地操作系统:Windows 10
本地虚拟机运行平台:VMware Workstation Pro 14
本地虚拟机镜像:CentOS-7-x86_64-Minimal-1908.iso
云端
云服务器提供商:阿里云计算有限公司
Linux发行版本及版本号:CentOS 7.6 64位
代码实现
解决脚本
#! /bin/bash
# 安装ssh服务
sudo yum -y install openssh-server
# 添加端口22222到ssh的配置文件/etc/ssh/sshd_config中
cd /etc/ssh
sudo chmod o+rw sshd_config # 默认普通用户无读写权限,故需临时提高普通用户权限
echo 'Port 22222' >> sshd_config
sudo chmod o-rw sshd_config
cd ~
# 到ssh的配置文件/etc/ssh/sshd_config中设置允许root登陆
cd /etc/ssh
sudo chmod o+rw sshd_config # 默认普通用户无读写权限,故需临时提高普通用户权限
echo 'PermitRootLogin yes' >> sshd_config
sudo chmod o-rw sshd_config
cd ~
# 开启22222端口
systemctl restart firewalld.service # 重新开启防火墙
sudo firewall-cmd --zone=public --add-port=22222/tcp --permanent # 添加22222端口
sudo firewall-cmd --complete-reload # 重新加载防火墙,使端口生效
sudo service sshd restart # 开启ssh服务
注意事项
在云端运行脚本前,要在阿里云服务器控制台增加端口为22222的安全组规则。
如果文章内容出错或者您有更好的解决方法,欢迎到评论区指正和讨论!