在 RHEL/Centos 7 中,TigerVNC-Server 仅需要桌面:1 的 5901/tcp,桌面:2 的 5902/tcp,依此类推。 我认为任何 VNC 服务器都会以相同的方式运行。
- 如果没有人自己输入
vncerver
,我希望防火墙阻止所有> = 5901的端口 - 随着更多用户
vncserver
我需要这些 tcp 端口 5901..?允许基于桌面:1 到桌面:? - 当用户这样做时,
vncserver -kill :?
我希望从运行时防火墙中删除该 tcp 端口,然后阻止该端口。
这样的事情可以做吗?如果可以的话,怎么做?
可以一个包装纸编写名为的脚本vncserver
来抢占真实的运行/usr/bin/vncserver
,并在执行时发出正确的命令firewall-cmd
以使这样的事情发生,然后执行真实的/usr/bin/vncserver
?
答案1
您可以Xvnc -inetd -query localhost
作为非特权非 root 用户在 systemd 或 xinetd 中运行。您需要一个登录管理器(例如 gdm 或 lightdm)来侦听环回接口上的 XDMCP。
这样您就可以始终连接到同一端口并创建新的桌面会话。当然,如果您断开连接,会话就会结束。