linux下命令整合 linux 合并命令( 六 )


相当于内网穿透,比如 HostA 和 HostB 是同一个内网下的两台可以互相访问的机器,HostC是外网跳板机,HostC不能访问 HostA,但是 HostA 可以访问 HostC 。
那么通过在内网 HostA 上运行ssh -R告诉 HostC,创建 PortC 端口监听 , 把该端口所有数据转发给我(HostA),我会再转发给同一个内网下的 HostB:PortB 。
同内网下的 HostA/HostB 也可以是同一台机器,换句话说就是 内网 HostA 把自己可以访问的端口暴露给了外网 HostC 。
例: 比如在我的内网机192.168.32.244上有一个RabbitMQ的客户端,端口号为15672 。现在我希望在外网上访问固定ip的云服务器chenjie.asia的6009端口,通过跳板机192.168.32.243来转发请求到192.168.32.244:15672,从而实现在外网访问内网服务的功能,即内网穿透 。
①在192.168.32.244上启动RabbitMQ服务
②将chenjie.asia云服务器的私钥复制到跳板机192.168.32.243的~/.ssh下,并重命名为id_rsa 。通过如下命令看是否可以远程登陆到云服务,可以登陆则进行下一步 。
③修改chenjie.asia服务器的ssh配置文件 /etc/ssh/sshd_config ,允许其他节点访问
然后重启sshd服务
④在跳板机192.168.32.243启动ssh反向代理
这个进程在关闭session时会停止 , 可以添加启动参数-CPfN
例:
以 root 身份执行的程序有了所有特权,这会带来安全风险 。Kernel 从 2.2 版本开始,提供了 Capabilities 功能,它把特权划分成不同单元,可以只授权程序所需的权限,而非所有特权 。
例如:linux不允许非root账号只用1024以下的端口,使用root启动命令nginx,会导致nginx权限过高太危险 。所以用setcap命令
sudo setcap cap_net_bind_service=+eip /bigdata/nginx/sbin/nginx
正确的关机流程为 :syncshutdownreboothalt
(1)sync(功能描述:将数据由内存同步到硬盘中)
(2)halt(功能描述:关闭系统,等同于shutdown -h now 和 poweroff)
(3)reboot(功能描述:就是重启,等同于 shutdown -r now)
(4)shutdown [选项] [时间]
安装
yum install -y telnet-server telnet
ls -i显示文件的节点号
find -inum 节点号 -delete删除指定的节点即可删除对应的文件
启动一个服务: systemctl start postfix.service
关闭一个服务: systemctl stop postfix.service
重启一个服务: systemctl restart postfix.service
显示一个服务的状态: systemctl status postfix.service
在开机时启用一个服务: systemctl enable postfix.service
在开机时禁用一个服务: systemctl disable postfix.service
注:在enable的时候会打印出来该启动文件的位置
列出所有已经安装的服务及状态:
systemctl list-units
systemctl list-unit-files
查看服务列表状态:
systemctl list-units --type=service
查看服务是否开机启动:systemctl is-enabled postfix.service
查看已启动的服务列表:systemctl list-unit-files | grep enabled
查看启动失败的服务列表:systemctl --failed
查看服务日志: journalctl -u postfix -n 10 -f
命令类似systemctl,用于操作native service 。
添加脚本为服务(需要指定启动级别和优先级): chkconfig --add [脚本]
删除服务: chkconfig --del [脚本]
单独查看某一服务是否开机启动的命令 : chkconfig --list [服务名]
单独开启某一服务的命令 : chkconfig [服务名] on
单独关闭某一服务的命令: chkconfig [服务名] off
查看某一服务的状态: /etc/intd.d/[服务名] status
启用服务就是在当前"runlevel"的配置文件目录/etc/systemd/system/multi-user.target.wants 里,建立 /usr/lib/systemd/system 里面对应服务配置文件的软链接;禁用服务就是删除此软链接,添加服务就是添加软连接 。

推荐阅读