You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSSD创建的AD用户通过xrdp登录时无法触发指定脚本执行的问题排查求助

SSSD创建的AD用户通过xrdp登录时无法触发指定脚本执行的问题排查求助

基础环境

我正在运行一台已加入微软AD域的Ubuntu虚拟机,SSSD负责在用户使用AD凭据登录时自动创建用户账号。目前用户唯一的登录方式是通过xrdp。

需求与遇到的问题

我希望当新用户首次登录时,能自动运行一个脚本——这个脚本的作用是在用户的桌面创建一个指向/usr/share目录下另一个脚本的符号链接。我尝试通过配置systemd服务来实现这个需求,但发现SSSD创建的AD用户登录时,这个脚本完全没有运行。

我配置的systemd服务文件

[Unit]
Description=Create symlink on user desktop for TY script.

[Service]
Type=oneshot
User=root
Group=root
RemainAfterExit=yes
ExecStart=/usr/share/create_ty_link.sh

[Install]
WantedBy=user@.service
#!/bin/bash
LOG_FILE="/var/log/create_ty_symlink.log"
PAM_USER=$(whoami)
echo "$(date +%Y%m%d%H%M%S) Running script for user: $PAM_USER" >> "$LOG_FILE"

if [ ! -L "/home/$PAM_USER/Desktop/LinuxLaunch.sh" ]; then
        echo "$(date +%Y%m%d%H%M%S) Symlink doesn't exist - /home/$PAM_USER/Desktop/LinuxLaunch.sh" >> "$LOG_FILE"
        ln -s "/usr/share/TY/LinuxLaunch.sh" "/home/$PAM_USER/Desktop/LinuxLaunch.sh"
        chown $PAM_USER: "/home/$PAM_USER/Desktop/LinuxLaunch.sh"
        echo "$(date +%Y%m%d%H%M%S) Symlink created for $PAM_USER" >> "$LOG_FILE"
else
        echo "$(date +%Y%m%d%H%M%S) Symlink found for $PAM_USER, no need to create it." >> "$LOG_FILE"
fi

测试结果对比

  • 当我通过SSH以root账号登录时,日志文件里能看到脚本正常执行的记录:
20240328111448 Running script for user: root
20240328111448 Symlink doesn't exist - /home/root/Desktop/LinuxLaunch.sh
20240328111448 Symlink created for root
  • 但当我使用测试AD用户通过xrdp登录时,日志文件里完全没有任何相关的执行记录。

提前感谢各位大佬的帮助!

备注:内容来源于stack exchange,提问作者equinsu_ocha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 13:23:10