现在公司要求服务器不允许上传下载文件,也不允许复制之类的。领导说用VNC,然后查了一下,VNC是可以复制的(可以添加相关选项禁用复制功能),另外VNC账号要使用LDAP认证还不是太方便。
后来找了一下,发现 xrdp 这个软件。这个其实就是一个远程桌面,在WIN下可以直接用 mstsc连接。
它支持LDAP认证。然后核心还是用的VNC。
因为要禁用复制粘贴,然后默认这个是可以的。直接把
sesman/chansrv/clipboard.h
中定义的函数,在
sesman/chansrv/chansrv.c
中全部注释即可。然后再编译...
LDAP认证:
centos5、centos6 直接复制一下就OK
cp/etc/pam.d/system-auth-ac/etc/pam.d/xrdp-sesman
ubuntu:
vi/etc/pam.d/xrdp-sesman #%PAM-1.0 @includecommon-auth @includecommon-account @includecommon-session @includecommon-password
另外建议把 /etc/xrdp/xrdp.ini 中 其它配置删除,仅使用 sesman-Xvnc
[globals] bitmap_cache=yes bitmap_compression=yes port=3389 crypt_level=low channel_code=1 max_bpp=24 #black=000000 #grey=d6d3ce #dark_grey=808080 #blue=08246b #dark_blue=08246b #white=ffffff #red=ff0000 #green=00ff00 #background=626c72 [xrdp1] name=sesman-Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1
还有iptables 相关设置。
#!/bin/bash #INITCHAIN iptables-F iptables-X iptables-Z iptables-F-tnat iptables-X-tnat iptables-Z-tnat iptables-PINPUTDROP iptables-POUTPUTDROP iptables-PFORWARDACCEPT #INPUTCHAIN iptables-AINPUT-ilo-jACCEPT iptables-AINPUT-mstate--stateESTABLISHED-jACCEPT #DockerCentos6ERROR"FATAL:Couldnotload/lib/modules/4.4.0-45-generic/modules.dep:Nosuchfileordirectory" iptables-AINPUT-ptcp-mmultiport--dport22,3389-mstate--stateNEW-jACCEPT iptables-AINPUT-pudp-s192.168.10.4--sport53-jACCEPT#DNS iptables-AINPUT-pudp-s192.168.10.5--sport123-jACCEPT#NTPDATE iptables-AINPUT-picmp--icmp-typeecho-request-jACCEPT iptables-AINPUT-picmp--icmp-typeecho-reply-jACCEPT #OUTPUTCHAIN iptables-AOUTPUT-mstate--stateESTABLISHED-jACCEPT iptables-AOUTPUT-pudp-d192.168.10.4--dport53-jACCEPT#DNS iptables-AOUTPUT-pudp-d192.168.10.5--dport123-jACCEPT#NTPDATE iptables-AOUTPUT-s127.0.0.1-d127.0.0.1-jACCEPT#Xrdp iptables-AOUTPUT-picmp--icmp-typeecho-request-jACCEPT iptables-AOUTPUT-picmp--icmp-typeecho-reply-jACCEPT
上面的 -m multiport 在Docker Centos 6 中报错,然后拆成,即可
iptables-AINPUT-ptcp--dport3389-mstate--stateNEW-jACCEPT iptables-AINPUT-ptcp--dport22-mstate--stateNEW-jACCEPT
vi/etc/ssh/sshd_config#add AllowUsersroottest1test2 AllowGroupsroottest1test2
目前这样测试OK。