ユーザーとグループを管理するための標準CLI手順は何ですか?

ユーザーとグループを管理するための標準CLI手順は何ですか?

デフォルトでは、コマンドライン(グラフィカルツールが利用できないシステムなど)でのユーザー管理について尋ねています。過去には、いくつかの他のプログラムを使用してユーザーとグループを追加または削除したり、そのプロパティを変更したりしました。adduser、、、、useraddおよび忘れられた他のプログラムusermodgpasswdあります。また、これらのプログラムのいくつかは低レベルなので、一般的な使用では避けなければならないということを何度も聞きましたが、どのプログラムなのか覚えていません。したがって、少なくとも次のタスクにどのプログラムが推奨されるかについて明確な答えを得たいと思いました。

  • 新規ユーザーの作成
  • グループにユーザーを追加
  • グループからユーザーを削除する
  • ユーザーのデフォルトグループの変更
  • ユーザーのログインシェルまたはホームディレクトリの変更
  • ユーザーの削除

私はほぼすべてのLinuxシステム(すべてのディストリビューション)で動作できる標準ツールを探しています。

答え1

残念ながら、これらのタスクのどれも標準化されていません。

一部のオペレーティングシステムはLinuxなどのオペレーティングシステムの一部としてこの機能を提供していますが、Linuxシステムにその機能が含まれていても、時間の経過とともにLinuxディストリビューションによってツールと名前が変更されるため、1つのSet標準ツールに実際に依存することができますありません。その任務を果たすために。

各オペレーティングシステムにはツールセットが必要です。

答え2

Debian(およびその派生)システムでは、関連機能の上位ラッパーadduserです。ユーザーの作成、グループメンバーの追加と削除、ユーザーの削除をカバーします。グループの作成/削除に対応するコマンドは、とです。あなたが名前を付けた残りのユースケースを扱うようです。deluseruseraddaddgroupdelgroupusermod

更新:以下は標準コマンドです(例)。

>useradd -m  john
-m = creates home directory

>userdel -r john
-r = removes home directory

>groupadd devs

>groupdel devs

>usermod -a -G devs john
-a = append
-G = group name

>id john
lists the users id and group ids
>groups john
lists the users groups

>passwd john
will ask you for current password and new password

>sudo passwd john
will ask you for only new password

>sudo passwd -l john
will lock the user out

>sudo passwd -a -G sudo john
or
>sudo passwd -a -G wheel john
or
>sudo nano /etc/sudoders
different OS variants, adds user to the sudo group
wheel = CENTOS/RHEL

答え3

質問の最後の部分でLinuxに言及しましたが、タイトルは一般的なのでFreeBSDに答えます。

FreeBSD には Linux に似たコマンドがありますが、pwユーティリティに渡されるコマンドです。

pw useradd [user|uid] ...
pw usermod [user|uid] ...

など。ただし、コマンドをuser名詞modと動詞の2つの部分に解析できます。また、以下を使用できgroupますdel

pw groupdel [group|gid] ...

たとえば、グループを削除します。だから私が考えるのはかなりクールだと思うのは次のとおりです。 順序は重要ではなく、間隔も重要ではありません! つまり、何をしたいのかを考えることで(とにかく英語で)何と呼ぶのか覚えられるという意味です。

pw del user [user|uid] ...
pw mod group [group|gid] ...
pw show user [user|uid] ...
pw next user [user|uid] ...

そしてもっと!また、このpwユーティリティを使用すると、アカウントをロックまたはロック解除できます。

pw lock [user|uid] ...
pw unlock [user|uid] ...

渡すオプションとパラメータは標準化されているので(呼び出しコマンドには必ずしも適用されるわけではありません)、暗記が最小化されます。概して、これは仕事を行う良い方法です。

注:上記の例の省略記号は、pw他のユーザーやグループ以外のユーザーに渡されるオプションとパラメータを示しています。

答え4

これらのツールはすべて最終的にテキストファイルを編集できるように作成されました。システムを介してユーザーとグループがどのように管理されるかを理解するには、これらのデフォルトのテキストファイルに精通している必要があります。幸運にも、2つだけあります/etc/passwd/etc/groupパスワードとグループをそれぞれ隠すための追加ファイル/etc/shadowとファイルもあります。/etc/gshadow

関連情報