すべてのユーザーを一覧表示するコマンドはありますか? また、端末でユーザーを追加、削除、変更するには?

私はすべてのユーザーをリストするコマンドと、ターミナルからユーザーを追加、削除、変更するコマンドが必要です-ターミナルでユーザーアカウントを簡単に管理す

一覧へ

すべてを一覧表示するには ローカル 使用できるユーザー:

cut -d: -f1 /etc/passwd

非ローカルを含む(何らかの方法で)認証が可能なすべてのユーザーを一覧表示するには、以下を参照してください この返信.

いくつかのより便利なユーザー管理コマンド(また、に限定されます ローカル ユーザー):

追加するには

新しいユーザーを追加するには、次を使用できます:

sudo adduser new_username

または:

sudo useradd new_username

も参照してください: Adduserとuseraddの違いは何ですか?

削除/削除するには

ユーザーを削除/削除するには、まず次を使用できます:

sudo userdel ユーザー名

その後、削除されたユーザーアカウントのホームディレクトリを削除することができます :

sudo rm-r/ホーム/ユーザー名

上記のコマンドを慎重に使用してください!

変更するには

ユーザーのユーザー名を変更するには:

usermod -l new_username old_username

ユーザーのパスワードを変更するには:

sudo passwd ユーザー名

ユーザーのシェルを変更するには:

sudo chsh ユーザー名

ユーザーの詳細を変更するには(実名など):

sudo chfn ユーザー名

にユーザーを追加するには、次の手順に従います。 sudo グループ:

adduser ユーザー名 須藤

または

usermod -aG sudo ユーザー名

そして、もちろん、も参照してください: man adduser, man useradd, man userdel... というように。

押すだけ Ctrl+Alt+T ターミナルを開くには、キーボードで。 開いたら、以下のコマンドを実行します:

cat /etc/passwd

または

less /etc/passwdmore /etc/passwd

Awkを使用することもできます:awk

awk -F':' '{ print $1}' /etc/passwd

この種の情報を取得する最も簡単な方法は次のとおりです getent -を参照してください のマンページ getent コマンド Manpage icon. そのコマンドは次のように同じ出力を与えますが cat /etc/passwd それはあなたにOSのいくつかの要素のリストを与えるので、覚えておくと便利です。

入力したすべてのユーザーのリストを取得するには(ユーザーが /etc/passwd)

getent passwd

ユーザーを追加するには ニューユーザー システムに次のように入力します

sudo adduser newuser

すべての既定の設定が適用されているユーザーを作成します。

ボーナス:任意のユーザーを追加するには(例えば anyuser)をグループに(例えば cdrom)タイプ

sudo adduser anyuser cdrom

ユーザーを削除します(たとえば 廃止された)と

sudo deluser obsolete

あなたは同様に彼のホームディレクトリ/メールを削除したい場合は、入力します

sudo deluser --remove-home obsolete

sudo deluser --remove-all-files obsolete

ユーザーを削除します システム全体でこのユーザーが所有するすべてのファイル。

あなたが使用することができます compgen GNU bashビルトイン あまりにも:

compgen -u

Willはすべてのユーザーを一覧表示します。

これは取得する必要があります, ほとんどの通常の状況下で、すべての通常の(非システム、奇妙ではない、など)ユーザー:

awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd

これはによって動作します:

  • からの読み込み /etc/passwd
  • を使用して : 区切り文字として
  • 3番目のフィールド(ユーザー ID番号)が65534ではなく1000より大きい場合、1番目のフィールド(ユーザーのユーザー名)が出力されます。

これは、多くのlinuxシステムでは、1000を超えるユーザー名が非特権ユーザー(通常のユーザーと言うこともできます)用に予約されているためです。 これに関するいくつかの情報 ここでは、:

ユーザー ID(UID)は、Unixライクなオペレーティングシステムによって各ユーザーに割り当てられた一意の正の整数です。 各ユーザーはそのUIDによってシステムに対して識別され、ユーザー名は一般に人間のインターフェイスとしてのみ使用されます。

UIDは、対応するユーザー名およびその他のユーザー固有の情報とともに、/etc/passwdファイルに格納されます。..

3番目のフィールドにはUIDが含まれ、4番目のフィールドにはグループID(GID)が含まれており、デフォルトではすべての通常のユーザーのUIDと同じです。

Linuxカーネル2.4以降では、Uidは符号なし32ビット整数であり、0から4,294,967,296までの値を表すことができます。 ただし、古いカーネルを使用しているシステムや16ビットUidのみに対応できるファイルシステムとの互換性を維持するために、65,534までの値のみを使

UIDの0には特別な役割があり、常にrootアカウント(つまり、全能の管理ユーザー)です。 このアカウントでユーザー名を変更することも、同じUIDで追加のアカウントを作成することもできますが、セキュリティの観点からはどちらのアクションも賢明ではありません。

UID65534は、通常の(つまり、特権のない)ユーザーとは対照的に、一般的にnobody、システム権限のないユーザーのために予約されています。 このUIDは、FTP(file transfer protocol)またはHTTP(hypertext transfer protocol)を介してリモートでシステムにアクセスする個人によく使用されます。

Uid1から99は、伝統的に、wheel、daemon、lp、operator、news、mailなどの特別なシステムユーザー(擬似ユーザーと呼ばれることもあります)のために予約されています。 これらのユーザーは、総root権限は必要ありませんが、いくつかの管理タスクを実行するため、通常のユーザーに付与された権限よりも多くの権限が必要な管理者

一部のLinuxディストリビューション(つまり、バージョン)では、特権を持たないユーザーのUidが100で始ま Red Hatのような他のものは500で始まり、Debianのような他のものは1000で始まります。 配布の違いにより、組織内のネットワークで複数の配布が使用されている場合は、手動による介入が必要になることがあります。

また、1 0 0 0〜9 9 9 9などのローカルユーザ用のUidのブロックと、1 0 0 0 0〜6 5 5 3 4などのリモートユーザ(すなわち、ネットワーク上の他のユーザ)用の別のブロックを予約することが便利であ 重要なことは、スキームを決定し、それを遵守することです。

特定のタイプのユーザーに番号のブロックを予約するこの方法の利点の中には、疑わしいユーザーの活動のためにシステムログを検索する方が便利にな

一般的な考え方とは対照的に、UIDフィールドの各エントリが一意である必要はありません。 ただし、一意でないUidはセキュリティ上の問題を引き起こす可能性があるため、Uidは組織全体で一意に保つ必要があります。 同様に、以前のユーザーからのUidのリサイクルはできるだけ長く避けるべきです。

リスト ログインできるすべてのユーザーのうち(bin、deamon、mail、sysなどのシステムユーザーはいません。)

awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow

追加 新規ユーザー

sudo adduser new_username

または

sudo useradd new_username

削除/ユーザー名の削除

sudo userdel username

ホームディレクトリを削除する場合(デフォルトは/home/usernameディレクトリ)

sudo deluser --remove-home username

または

sudo rm -r /path/to/user_home_dir

あなたは、このユーザーからシステムからすべてのファイルを削除したい場合(だけでなく、ホームdiretoryです)

sudo deluser --remove-all-files

Okここでは、これを並べ替えるのに役立つトリックです。 ターミナルには自動補完がありますuserと入力してTabキーを2回押すと、userが最初の4文字として存在するすべてのコマンドが一覧表示されます。

user (tab tab)

可能なオプションとして私に与えますuseradd userdel usermod users users-admin
コマンドの詳細を知りたい場合は、google itまたはman man useraddgives useraddと入力します-新しいユーザーを作成するか、デフォルトの新しいユーザー情報を更新します。.. ...

ユーザーを一覧表示するには、Mitchが言ったことを実行する必要があります。

私はbashでタブ補完を愛するのに役立つことを願って、物事を覚えてから私を救います。

マシン上の/home-フォルダにホームディレクトリがあるユーザーを確認するには、次のコマンドを実行します

cd /homels 

その後、サーバーにログインする権限を持つユーザーを確認できます。 ユーザーのファイルを調べたい場合は、rootユーザーでなければなりません。

最初の答えはお勧めします:

cut -d: -f1 /etc/passwd

しかし、これを使用して、あなたが得るユーザーの数を数えます:

$ cut -d: -f1 /etc/passwd | wc -l46

ラップトップコンピュータのための46人のユーザーがたくさんあります!. 代わりにこれを使用してください:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync)' | cut -d: -f1rootrickguest-atkb2qguest-u4sf2iguest-rmlbtgguest-mz53vp

ゲストアカウント(ファイルを保存していない人)を削除するには、次を使用します:

$ cat /etc/passwd | grep -vE '(/bin/false|/sbin/nologin|/bin/sync|guest-)' | cut -d: -f1rootrick

リストから削除されたいくつかのサンプルユーザーは次のとおりです:

systemd-timesync:x:100:102:systemd Time Synchronization,,,:/run/systemd:/bin/falsegnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/syncsync:x:4:65534:sync:/bin:/bin/syncguest-atkb2q:x:999:999:Guest:/tmp/guest-atkb2q:/bin/bash

単一のユーザーシステム上のユーザーのほとんどは、実際にはユーザーとして設定されたプログラムです。

sedの答え’sed’s/:./etc/passwd*//’/etc/passwd`//’/etc/passwd

ユーザーを一覧表示します:awk-F:'{print1 1}'/etc/passwd