我正在管理一个由许多用户共享的系统,每个用户都有一个单独的 VNC 会话。到目前为止,他们已经通过 SSH 启动了自己的 VNC 服务器,但我宁愿成为唯一能够启动新服务器的人。
换句话说,我希望 root 用户是唯一有权运行vncserver
.我面临的问题是如何为用户运行 vnc 会话,同时保持vncserver
程序无法供用户运行。
我检查了两者的文档vncserver
,并且Xvnc
没有找到任何类似--user
或类似的选项。
这可能吗?
答案1
1) 为了避免某些用户使用您的 (*1) vncserver,最简单的方法是更改 vncserver 二进制文件的权限,以避免其他人运行它并创建 vncgrp 组。
$ sudo groupadd vncgrp
$ sudo chown root:vncgrp /usr/bin/tightvncserver
$ sudo chmod 750 /usr/bin/tightvncserver
(*1) 请注意,他们可能会下载并运行他们的 vncserver,这将成为一个更难的问题。升级 vnc 软件包时可能会遇到问题,或者,根据软件包管理器配置,它可能会恢复原始权限,并且任何人都可以运行 vnc。
2) 可以使用 sudo 在其他用户凭据下运行 vncserver。
$ sudo -u someonelse /usr/bin/tightvncserver