![如何在登录时为特定组中的所有用户运行命令,任何帮助都将不胜感激](https://linux22.com/image/836925/%E5%A6%82%E4%BD%95%E5%9C%A8%E7%99%BB%E5%BD%95%E6%97%B6%E4%B8%BA%E7%89%B9%E5%AE%9A%E7%BB%84%E4%B8%AD%E7%9A%84%E6%89%80%E6%9C%89%E7%94%A8%E6%88%B7%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%EF%BC%8C%E4%BB%BB%E4%BD%95%E5%B8%AE%E5%8A%A9%E9%83%BD%E5%B0%86%E4%B8%8D%E8%83%9C%E6%84%9F%E6%BF%80.png)
我们使用 Ubuntu Server 12.04.2 来托管办公室中的虚拟设备。我们的老板为 Ubuntu 编写了一个程序,该程序记录了单个工作站上的所有活动和所花费的时间,以监控公司资产的滥用情况。
他委托我将这个程序提供给aduio
小组内的用户(我们为接待员和助理创建的小组)。
我尝试将命令添加到末尾 .profile
(例如#!/bin/bash confidential -host "ip" -name $USER
),程序以信息亭模式启动;仅加载此程序,无法以该用户身份访问任何其他内容。当从工作站手动启动程序时,它会毫无问题地执行。
我如何延迟启动并在运行该程序之前允许加载基本内容?
答案1
我会将其保留在用户主目录之外。这只会让人们将其分解成碎片。不过,这部分很简单,您只需添加一个新文件/etc/X11/Xsession.d/
(例如,/etc/X11/Xsession.d/90-confidential
内容如下:
if [[ `groups | grep aduio` ]]
then
exec confidential -host "ip" -name $USER &
fi
这个问题无法避免被解决。它仍在运行作为用户(这样他们就可以终止它),他们也可以破坏他们的 X 启动(因为它都是以用户身份运行的)。您可能可以锁定所有这些,但这是一个很大的进步。