如何为每个用户在特定位置创建文件?

use*_*998 3 administration users ltsp

我正在一所拥有大约 60 个唯一用户的学校运行 Ubuntu LTSP 设置。有时,我们需要共享文档、创建目录或在每个用户的帐户中放置配置文件。显然,一次做这件事效率不高。

我知道我可以在每个用户的主目录中放置一个文件:

ls /home/ | xargs -n 1 sudo cp -i <file>
Run Code Online (Sandbox Code Playgroud)

但是如果我需要把它放在特定的地方,比如 ~/.config/autostart

或者如果我需要~/Desktop/foo/为每个用户创建目录怎么办?

感谢您的帮助,如果有人可以为我推荐资源以了解更多信息,那就太棒了。

mur*_*uru 5

cp有一个选项可以单独指定目标目录:-t. 所以你可以这样做:

for u in /home/*
do
    sudo cp -t "$u/.config/autostart" -i <file>
    sudo mkdir "$u/Desktop/foo"
done
Run Code Online (Sandbox Code Playgroud)

通常,没有简单的方法来管理用户的主目录。您可以在首次创建主目录时指定在其中创建的内容,但在那之后,它是每个用户自己的。

然后,您必须使用某种形式的脚本。在这种情况下,我使用了 shell 脚本。查看有关BashBash脚本的 TLDP 指南。即使使用像 Puppet这样的工具,这也不是一项微不足道的任务

  • 的确。你使用`sudo -u username cp/mkdir ...`。 (2认同)