ユーザーとグループを管理する標準のCLIプログラムは何ですか?


8

基本的には、コマンドラインからのユーザー管理について質問しています(たとえば、グラフィカルツールが使用できないシステムで)。過去に私が削除ユーザーとグループを追加したりするために、いくつかの異なるプログラムを使用しましたかそれらの属性を変更する:adduseruseraddusermodgpasswd、そしておそらく他の人は私が忘れてしまいました。また、これらのプログラムの一部は低レベルであり、一般的な使用には避けるべきであると何度か聞いたことがありますが、どれを覚えているかは決してわかりません。ですから、少なくとも次のタスクに推奨されるプログラムはどれなのか、明確な回答を得たいと思います。

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

ほぼすべてのLinuxシステム(あらゆるディストリビューション)で利用できると期待できる標準的なツールを探しています。


1
またgroupmod。私はこれを答えにするつもりはありません....しかし、最も標準的な方法はおそらくテキストエディタを使用することです...影響を受けるファイルは単に区切られたテキストであることを覚えておいてください。
xenoterracide 2010

興味深いことに、この質問をする前は、ファイルを直接編集することについて言及することは一度もありませんでした。(どういうわけか私はその印象を持っていました/etc/passwd複雑なシステムの一部に過ぎない)
David Z

回答:


9

残念なことに、これらの操作はどれも標準化されていませんでした。

Linuxなど、一部のオペレーティングシステムはこの機能をOSの一部として提供しますが、Linuxシステムに含まれている場合でも、時間の経過とともにLinuxディストリビューション全体でツールとその名前が変更されたため、標準のツールセットに依存することはできません。それらのタスク。

オペレーティングシステムごとのツールセットが必要です。


名前を変更したことはありません...しかし、スイッチを変更しました。Linuxにはgpasswd -aがなかったことを知ったことがありました。
xenoterracide 2010

1
メモリが機能する場合-RedHatはかつて 'useradd'ではなく 'adduser'を使用し、動作が異なります(useraddの方がDebianに似ていたと思います)。彼らは後に「adduser」を「useradd」へのシンボリックリンクにした。redhat.com/docs/manuals/linux/RHL-5.2-Manual/install-guide/…で
Stefan Lasiewski

7

Debianの(および派生)システム、オンadduserdeluser上位のラッパーであるuseraddと関連する機能。カバーユーザーの作成、グループメンバーシップの追加と削除、およびユーザーの削除。削除/グループを作るから対応するコマンドは賢明なことに、ある、addgroupdelgroupusermodあなたが指定した残りのユースケースをカバーするように見えます。


6

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

FreeBSDにはLinuxと同様のコマンドがありますが、これらはpwユーティリティに渡されるコマンドです。

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

等々。しかし、一つは二つの部分にコマンドを解析することができますusermod; 名詞と動詞。さらに、groupandを使用することもできます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追加のユーザーやグループに渡されないオプションとパラメーターを表しています。


Linuxの質問でしたが、とにかく情報はありがたいです。Linuxがこのようなものを持っていたら素晴らしいでしょう。
デビッドZ

名詞と動詞、という意味です。
ウォーレンヤング

やった!修正しました。
gvkv 2010

2

完全を期すために、スペクトルの低レベルの終わりで、vipw(8)とvigr(8)について言及します。 "vi / etc / passwd"と "cat> / etc / passwd"のすぐ上ですが、 "useradd"のすぐ下です。 」ああ、それらはほとんどのUnixバリアントに存在します。


2

これらのツールはすべて、最終的にはテキストファイルを編集するために構築されています。システム上でユーザーとグループを管理する方法を知りたい場合は、これらの基礎となるテキストファイルに慣れる必要があります。あなたのための幸運は、そこにちょうど2つのそれらのだ、/etc/passwd/etc/group。それぞれpasswdとgroupをシャドウイングするための補完的なファイルも/etc/shadowあり/etc/gshadowます。


4
...そして/ etc / shadow(ほとんどのシステムは、/ etc / passwdと矛盾している場合、ほとんどのシステムで
鳴くため

1

多くの場合、 "/ etc / passwd"を編集する方法を知っていることは、それでも役に立ちます。


1
/ etc / passwdの読み方を知ることは有用ですが、直接変更することは悪い習慣です。私が使用した一部の* ix(現代のSysV、OS X ...)では、これらのファイルはユーザーとグループのデータが格納される主要な場所ではありません。これらは互換性のためのシャドウコピーであるか、プライマリソースであるが、変更されるたびに更新する必要があるデータベースまたはインデックスがあります。これらのシステムでは、公式のツールを使用してファイルを更新しないと、変更はすぐには反映されません。
ウォーレンヤング


1

デフォルトのローカルマシンバックエンド以外のバックエンドを使用している場合-OpenLDAPが最も一般的です-cpu(パスワード変更ユーティリティ)が探しているコマンドである可能性があります。正しく構成されていれば、LDAPマスター以外のマシンでも実行できます。構文はuseradd、接頭辞がの付いたetcとほとんど同じですcpu。自分を追加するために

$ sudo cpu useradd hamish

詳細については、cpuのマニュアルページ参照してください。


興味深いですが、LDAPからユーザー情報を取得するマシンにのみ当てはまる回答は、私にはあまり使用されません。
David Z

0

あなたの質問が

(任意のディストリビューションの)任意のLinuxシステム

ただし、すべてのシステムが単一のサーバーにネットワークアクセスできます。NISやYPなどを使用できます。したがって、この回答は1つの組織内の管理者に限定されます。

YPを構成する方法がほとんどすべてのディストリビューションでわずかに異なるという問題が依然としてありますが、構成は一度だけ行われます。また、このタイプのネットワークは簡単ではありません。

単一のサイト/ネットワーク内で、これを行うことで多くを得ることができます。自動マウントと組み合わせて、私のお気に入りは、任意の* nixマシンにSSHで接続し、すべてのホームファイルとツールを利用できるようにすることです。

要は、マスターに選択するディストリビューションは、ユーザーの管理に使用するシステムです。次に、ユーザーとグループを管理するための単一のツール/ドキュメントセットを用意します。

マスターでLDAPやSambaツールなどを使用することも可能です。sambaを使用すると、Windowsマシンでホームファイルを使用できるようになります。


ありがとう、しかし私はネットワーク化されていないシステムにも同様に当てはまる答えを探しています。
David Z

0

あなたが買ってあげる標準に近いものがありvi /etc/passwdvi /etc/shadowvi /etc/groups。(異端者が代わりになるかもしれませんemacs。)それ以来私が見つけたものはすべて、いくつかのシステムでしか機能しません。

真剣に、あなたのOSがどんなツールを持っているかを見つけ、それらを使ってください。それらがすべてのシステムで同じように動作することを期待しないでください。標準化されていればいいのですが、標準化されていません。


テキストエディターを使用して、ツールで編集可能な、また編集する必要がある構成ファイルを編集することは、標準ではありません。オペレーティングシステムまたはアプリケーションがこれを行うためのユーティリティを提供している場合は、テキストエディターを使用して構成ファイルを変更しないでください。これは特に顕著です/etc/passwd/etc/shadow/etc/group、と/etc/gshadow。これがツールの目的です。人間はエラーを起こしやすいですが、ツールはテストされており、(うまくいけば)バグがありません。
アーロンToponce 2010

編集者/etc/passwdや友達に直接電話をかけないでください。vipwandを使用するvigr:同時編集に対してファイルをロックする。お気に入りのエディターを実行します($VISUAL); 構文エラーが発生した場合は、ファイルを変更しないでください。一部のシステム(FreeBSDなど)では、同期を保つ必要のある他のファイルも再生成します。
Gilles「SO-悪をやめる」
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.