web-dev-qa-db-ja.com

すべてのユーザーの特定の場所にファイルを作成する方法は?

私は約60人のユニークユーザーがいる学校でUbuntu LTSPセットアップを実行しています。ドキュメントを共有したり、ディレクトリを作成したり、すべてのユーザーのアカウントに構成ファイルを配置したりする必要がある場合があります。明らかに、これを一度に行うのは効率的ではありません。

私はすべてのユーザーのホームディレクトリにファイルを配置できることを知っています:

ls /home/ | xargs -n 1 Sudo cp -i <file>

しかし、~/.config/autostartなど、特定の場所に配置する必要がある場合はどうなりますか?

または、すべてのユーザーに対して~/Desktop/foo/ディレクトリを作成する必要がある場合はどうなりますか?

あなたの助けに感謝します、そして誰かが私にもっと学ぶためのリソースを提案することができればそれは素晴らしいでしょう。

3
user244998

cpには、ターゲットディレクトリを個別に指定するオプションがあります:-t。だからあなたはできる:

for u in /home/*
do
    Sudo cp -t "$u/.config/autostart" -i <file>
    Sudo mkdir "$u/Desktop/foo"
done

一般に、ユーザーのホームディレクトリを管理する簡単な方法はありません。ホームディレクトリを最初に作成するときに、そこに何を作成するかを指定できますが、その後は、それ自体が各ユーザーになります。

次に、なんらかのスクリプトを使用する必要があります。ここでは、シェルスクリプトを使用しました。 Bash および Bashでのスクリプト に関するTLDPガイドを確認してください。 Puppetのようなツールを使用しても、 これは簡単な作業ではありません です。

5
muru