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
对应的脚本内容(/usr/share/create_ty_link.sh)
#!/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
相关产品推荐
相关产品推荐

