具有域身份验证的 Samba 服务器

具有域身份验证的 Samba 服务器

我需要配置 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,所以...

相关内容