シェルスクリプトを使用してLinuxで複数のユーザー名とUIDを作成する

シェルスクリプトを使用してLinuxで複数のユーザー名とUIDを作成する

私の環境では、Linuxで実行されているNFSサーバーに接続する必要があることがよくあります。ユーザー名は Linux クライアントシステムで生成され、順番にソートされます。ただし、各ユーザーの共有権限を個別に設定するには、useradd -u 2001 -g 1000 -d /home/app/mnt/1 user1NFSサーバーで作成する必要があります。私のクライアントシステムに1000人のユーザーがいる場合は、NFSサーバーにも個別にパッケージする必要があります。

Linux NFSサーバーでシェルスクリプトを使用して複数のユーザー名を生成し、UID(ランダムではない)を割り当てたいと思います。また、ホームディレクトリを自動的に割り当てたいと思います。たとえば、次のユーザーを作成したいとします。

| Username| UID |Home Directory|
|  user1  |20001|/home/users/1 |
|  user2  |20002|/home/users/2 |
|  user3  |20003|/home/users/3 |
|    .    |  .  |       .      |
|    .    |  .  |       .      |
|    .    |  .  |       .      |
|  userX  |2000X|/home/users/X |

ユーザー名は常に「user」で始まり、変更されません。Xおそらく100〜1000個でしょう。

これらのユーザーは必要ですが、寿命が短いため、中央ユーザー管理プラットフォームは望ましくありません。シェルスクリプトは一括してユーザーを作成できますか?

私はこれを経験した記事。これは私が望んだことから始まりましたが、私には理解できないことになりました。

ベストアンサー1

提案されているようにこれは達成することは非常に容易です。端末では、次のようにforループを使用できます。

for i in {20001..20100}; do useradd -u $i -g 1000 -d /home/app/mnt/$i "user${i}"; done

ループは増加して20100終了します。

おすすめ記事