以非特权用户rustdesk运行RustDesk服务,出现的异常处理。

异常1:RustDesk signal服务日志显示无法存储配置文件

[2025-10-04 15:42:22.155753 +08:00] ERROR [libs/hbb_common/src/config.rs:538] Failed to store config: Failed to create directory

异常2:RustDesk relay服务无法启动

[root@rd ~]# systemctl status rustdeskrelay.service
○ rustdeskrelay.service - Rustdesk Relay Server
     Loaded: loaded (/etc/systemd/system/rustdeskrelay.service; enabled; preset: disabled)
     Active: inactive (dead)
[root@rd ~]# 

错误说明:

[root@rd ~]# id rustdesk
uid=986(rustdesk) gid=986(rustdesk) groups=986(rustdesk)
[root@rd ~]# cat /etc/passwd |grep rustdesk
rustdesk:x:986:986::/home/rustdesk:/sbin/nologin
[root@rd ~]# ls /home
lighthouse
[root@rd ~]# usermod -m -d /home/rustdesk rustdesk
usermod: no changes
[root@rd ~]# 

手动创建家目录并初始化

[root@rd ~]# mkdir /home/rustdesk
[root@rd ~]# cp -rT /etc/skel/ /home/rustdesk
[root@rd ~]# chown -R rustdesk:rustdesk /home/rustdesk
[root@rd ~]# systemctl restart rustdesksignal.service 
[root@rd ~]# less /var/log/rustdesk/signalserver.log 
[root@rd ~]# 

查看正常启动服务时rustdesk用户家目录的文件写入情况

[root@rd ~]# ls -al /home/rustdesk/
total 28
drwxr-xr-x  3 rustdesk rustdesk 4096 Oct  4 16:12 .
drwxr-xr-x. 4 root     root     4096 Oct  4 16:11 ..
-rw-r--r--  1 rustdesk rustdesk   18 Oct  4 16:11 .bash_logout
-rw-r--r--  1 rustdesk rustdesk  141 Oct  4 16:11 .bash_profile
-rw-r--r--  1 rustdesk rustdesk  492 Oct  4 16:11 .bashrc
drwxr-xr-x  3 rustdesk rustdesk 4096 Oct  4 16:12 .config
-rw-r--r--  1 rustdesk rustdesk  658 Oct  4 16:11 .zshrc
[root@rd ~]# ls -al /home/rustdesk/.config/
total 12
drwxr-xr-x 3 rustdesk rustdesk 4096 Oct  4 16:12 .
drwxr-xr-x 3 rustdesk rustdesk 4096 Oct  4 16:12 ..
drwxr-xr-x 2 rustdesk rustdesk 4096 Oct  4 16:12 rustdesk
[root@rd ~]# ls -al /home/rustdesk/.config/rustdesk/
total 12
drwxr-xr-x 2 rustdesk rustdesk 4096 Oct  4 16:12 .
drwxr-xr-x 3 rustdesk rustdesk 4096 Oct  4 16:12 ..
-rw------- 1 rustdesk rustdesk  141 Oct  4 16:12 RustDesk.toml
[root@rd ~]# 

关于/etc/skel目录

/etc/skel 目录在 Linux 系统中扮演着非常重要的角色,它是新用户家目录的蓝本(skeleton)或模板


/etc/skel 目录的作用

当系统管理员使用 useraddadduser 等命令创建一个新的系统用户,并且指定要创建家目录时,/etc/skel 目录中的所有文件和子目录都会被自动复制到新用户的家目录中

简而言之,/etc/skel 的作用是:

  1. 提供默认配置: 它确保每个新用户都有一个功能完整且一致的初始环境。
  2. 标准化用户体验: 无论哪个管理员创建用户,新用户都会得到相同的默认设置。

/etc/skel 目录中的常见内容

/etc/skel 目录下通常包含用户登录和使用 shell 所需的隐藏配置文件(以点 . 开头),这些文件为用户提供了基本的环境变量、命令别名和登录行为设置。

常见的文件和目录包括:

文件/目录作用
.bashrcBash shell 的配置文件。用户每次启动一个新的非登录交互式 shell 时会执行它,用于设置别名、函数和 shell 选项。
.profile.bash_profile用户登录时(登录 shell)执行的配置文件,用于设置全局环境变量(如 PATH)。
.bash_logout用户退出登录 shell 时执行的脚本。
Desktop/, Documents/, Downloads/如果系统是桌面发行版(如 Ubuntu、Fedora),这些默认的用户子目录也会包含在 /etc/skel 中,以便在新用户登录时创建。

如何修改和利用 /etc/skel

如果你想让所有新用户都拥有特定的配置或文件,你可以通过修改 /etc/skel 目录来实现:

  1. 添加自定义配置: 如果你想为所有新用户添加一个特定的 Bash 别名或环境变量,只需编辑或创建 /etc/skel/.bashrc 文件。
  2. 添加默认文件/目录: 如果你希望新用户家目录下默认有一个名为 projects 的目录,只需在 /etc/skel 下创建一个名为 projects 的目录。

示例:

# 添加一个默认的 projects 目录到 skel
sudo mkdir /etc/skel/projects 

# 添加一个自定义的配置文件 (例如 .vimrc)
sudo cp /path/to/my/default/.vimrc /etc/skel/


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注