现在公司要求服务器不允许上传下载文件,也不允许复制之类的。领导说用VNC,然后查了一下,VNC是可以复制的(可以添加相关选项禁用复制功能),另外VNC账号要使用LDAP认证还不是太方便。
后来找了一下,发现 xrdp 这个软件。这个其实就是一个远程桌面,在WIN下可以直接用 mstsc连接。
它支持LDAP认证。然后核心还是用的VNC。
因为要禁用复制粘贴,然后默认这个是可以的。直接把sesman/chansrv/clipboard.h
中定义的函数,在sesman/chansrv/chansrv.c
中全部注释即可。然后再编译...
LDAP认证:
centos5、centos6 直接复制一下就OKcp/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
SSH仅允许指定用户或者组登录:vi/etc/ssh/sshd_config#add
AllowUsersroottest1test2
AllowGroupsroottest1test2
目前这样测试OK。