![具有域身份验证的 Samba 服务器](https://linux22.com/image/592670/%E5%85%B7%E6%9C%89%E5%9F%9F%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E7%9A%84%20Samba%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我需要配置 samba 服务器。我的问题是 - 如何为 samba 用户配置通过 rdp 访问该服务器?
谢谢!
答案1
xrdp
支持 Linux 下的 RDP;它充当vncserver
显示并自动将 vnc 显示多路复用给不同的用户,而无需为他们永久分配显示(就像您通常使用 VNC 一样)。 xrdp
还使用以下方式加密你的流量RC4。
我进行了一些调整,使其使用 blackboxwm 而不是默认的 wm。
默认情况下,xrdp
使用本地身份验证。如果你想针对 Windows 域进行身份验证(有点不清楚你想做什么),你可以使用pam_ldap
## /etc/xrdp/xrdp.ini
[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
[xrdp2]
name=console
lib=libvnc.so
ip=127.0.0.1
port=5900
username=na
password=ask
[xrdp3]
name=vnc-any
lib=libvnc.so
ip=ask
port=ask5900
username=na
password=ask
[xrdp4]
name=sesman-any
lib=libvnc.so
ip=ask
port=-1
username=ask
password=ask
[xrdp5]
name=rdp-any
lib=librdp.so
ip=ask
port=ask3389
[xrdp6]
name=sesman-X11rdp
lib=libxup.so
username=ask
password=ask
ip=127.0.0.1
port=-1
## /etc/xrdp/sessman.ini
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=1
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
[Security]
AllowRootLogin=1
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
[Sessions]
MaxSessions=10
KillDisconnected=0
IdleTimeLimit=0
DisconnectedTimeLimit=0
[Logging]
LogFile=/var/log/xrdp-sesman.log
LogLevel=DEBUG
EnableSyslog=0
SyslogLevel=DEBUG
[X11rdp]
param1=-bs
param2=-ac
param3=-nolisten
param4=tcp
[Xvnc]
param1=-bs
param2=-ac
param3=-localhost
param3=-nolisten
param4=tcp
文件:/etc/xrdp/startwm.sh
#!/bin/sh
# change the order in line below to run to run whatever window manager you
# want, default to kde
SESSIONS="blackbox gnome-session fluxbox startxfce4 startkde xterm"
#start the window manager
wm_start()
{
if [ -f ~/.xsession ]
then
. ~/.xsession
fi
return 0
}
pre_start()
{
if [ -f /etc/profile ]
then
. /etc/profile
fi
if [ -f ~/.bash_profile ]
then
. ~/.bash_profile
else
if [ -f ~/.bash_login ]
then
. ~/.bash_login
else
if [ -f ~/.profile ]
then
. ~/.profile
fi
fi
fi
return 0
}
post_start()
{
if [ -f ~/.bash_logout ]
then
. ~/.bash_logout
fi
return 0
}
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
pre_start
wm_start
post_start
exit 1
答案2
为什么要在 Linux 服务器上使用 RDP?它是 Microsoft 的专有协议。
如果您想远程访问您的服务器,请使用 SSH。
如果您想要 Samba 的 GUI,请使用 SWAT (webapp)。
如果您想要远程图形访问,请使用 ssh 的 X11 转发功能。但无论如何,Samba 都没有 GUI,所以...