我正在考虑在系统启动时以普通用户身份运行命令。目前,为此,我使用如下语法:
su -c 'command with some arguments' user
但是我认为在〜/ .rc.local上有一个每用户rc.local文件可能会有所帮助,该文件会在启动时自动以用户身份运行。我提出的代码是这样的:
awk -F":" '{ if ($3 >= 1000) print $1, $6 }' /etc/passwd | while read u h
do
[ -x "$h/.rc.local" ] && su -c "cd $h; ./.rc.local" $u
done
这将添加到/etc/rc.local。它搜索每个非系统用户的主目录(即,uid> = 1000),如果文件存在且可执行,则cd到用户主目录并以用户身份执行该脚本。
对我来说,这似乎消除了任何安全风险的来源,因为它将以用户而不是root身份执行脚本,但我最近被提醒我缺乏安全知识,所以我提出这个问题:这是个坏主意吗?
现在,我只在家用电脑上运行,而我的家用电脑只有一个非系统用户。几年后,我的女儿在计算机上获得了自己的帐户,但除此之外,并不是说完全陌生人可以以任何方式访问它。
那么,我有什么潜在的安全漏洞吗?另外,是否有更优雅的方式来编写该命令?
答案 0 :(得分:0)
这与每用户crontabs的@reboot
功能重叠。