ターミナルのすべてのユーザーを一覧表示するコマンドが必要です。そして、ターミナルからユーザーを追加、削除、変更する方法。
これは、端末でアカウントを簡単に管理するのに役立ちます。
awk -F: '{ print $1 }' /etc/passwd
ターミナルのすべてのユーザーを一覧表示するコマンドが必要です。そして、ターミナルからユーザーを追加、削除、変更する方法。
これは、端末でアカウントを簡単に管理するのに役立ちます。
awk -F: '{ print $1 }' /etc/passwd
回答:
使用できるすべてのローカルユーザーを一覧表示するには:
cut -d: -f1 /etc/passwd
非ローカルを含む(何らかの方法で)認証可能なすべてのユーザーをリストするには、この応答を参照してください。
いくつかの便利なユーザー管理コマンド(ローカルユーザーに限定):
新しいユーザーを追加するには、次を使用できます。
sudo adduser new_username
または:
sudo useradd new_username
ユーザーを削除/削除するには、まず次を使用できます。
sudo userdel username
次に、削除されたユーザーアカウントのホームディレクトリを削除します。
sudo rm -r / home / ユーザー名
上記のコマンドは注意して使用してください!
ユーザーのユーザー名を変更するには:
usermod -l new_username old_username
ユーザーのパスワードを変更するには:
sudo passwd username
ユーザーのシェルを変更するには:
sudo chsh username
ユーザーの詳細(実名など)を変更するには:
sudo chfn username
ユーザーをsudo
グループに追加するには:
adduser username sudo
または
usermod -aG sudo username
:そして、もちろん、も参照man adduser
、man useradd
、man userdel
...というように。
sudo chfn <username>
ユーザーの詳細(実際の名前など)を変更することについて言及するのを忘れていました。これをコメントとして追加しようとしましたが、そのためには+50の評判が必要だというエラーが表示されました。
キーボードのCtrl+ Alt+ Tを押して、ターミナルを開きます。開いたら、以下のコマンドを実行します:
cat /etc/passwd
または
less /etc/passwd
more /etc/passwd
awkを使用することもできます:awk
awk -F':' '{ print $1}' /etc/passwd
adduser
代わりにコマンドラインを使用することは、useradd
作成者が実際に何をしているかを本当に知っているスクリプトに限定する必要があります。
この種の情報を取得する最も簡単な方法は、コマンドのマンページをgetent
参照してください。このコマンドは、OSのいくつかの要素のリストを提供するため、覚えておくと便利なのと同じ出力を提供します。getent
cat /etc/passwd
入力したすべてのユーザーのリストを取得するには(ユーザーがにリストされているとおり/etc/passwd
)
getent passwd
ユーザーnewuserをシステムに追加するには、次のように入力します
sudo adduser newuser
すべてのデフォルト設定が適用されたユーザーを作成します。
ボーナス:任意のユーザー(たとえばanyuser)をグループ(たとえばcdrom)に追加するには
sudo adduser anyuser cdrom
ユーザーを削除します(たとえば、廃止されました)
sudo deluser obsolete
彼のホームディレクトリ/メールも削除したい場合は、
sudo deluser --remove-home obsolete
そして
sudo deluser --remove-all-files obsolete
ユーザーが削除されますと、システム全体でこのユーザが所有するすべてのファイルを。
getent passwd
コマンドであり、最適なもの
これにより、ほとんどの通常の状況で、すべての通常の(システムではなく、奇妙ではないなどの)ユーザーを取得できます。
awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' /etc/passwd
これは以下によって動作します:
/etc/passwd
:
区切り文字として使用これは、多くのLinuxシステムでは、1000を超えるユーザー名が非特権(通常のユーザー)ユーザー用に予約されているためです。これに関するいくつかの情報はこちら:
ユーザーID(UID)は、Unixライクなオペレーティングシステムによって各ユーザーに割り当てられる一意の正の整数です。各ユーザーは、UIDによってシステムに対して識別され、ユーザー名は一般に人間のインターフェースとしてのみ使用されます。
UIDは、対応するユーザー名およびその他のユーザー固有の情報とともに、/ etc / passwdファイルに保存されます...
3番目のフィールドにはUIDが含まれ、4番目のフィールドにはグループID(GID)が含まれます。デフォルトでは、これはすべての一般ユーザーのUIDと同じです。
Linuxカーネル2.4以降では、UIDは0〜4,294,967,296の値を表すことができる符号なし32ビット整数です。ただし、16ビットUIDのみを収容できる古いカーネルまたはファイルシステムを使用するシステムとの互換性を維持するために、最大65,534までの値のみを使用することをお勧めします。
0のUIDには特別な役割があります。これは常にルートアカウント(つまり、全能管理ユーザー)です。このアカウントでユーザー名を変更し、同じUIDで追加のアカウントを作成できますが、セキュリティの観点からはどちらのアクションも賢明ではありません。
UID 65534は、通常、通常の(つまり、非特権の)ユーザーとは対照的に、誰もシステム特権のないユーザーのために予約されています。このUIDは、FTP(ファイル転送プロトコル)またはHTTP(ハイパーテキスト転送プロトコル)を介してシステムにリモートでアクセスする個人によく使用されます。
UID 1から99は、ホイール、デーモン、lp、オペレーター、ニュース、メールなどの特別なシステムユーザー(疑似ユーザーとも呼ばれる)のために伝統的に予約されています。これらのユーザーは、完全なルート権限を必要としないが、一部の管理タスクのため、通常のユーザーに与えられた権限よりも多くの権限が必要です。
一部のLinuxディストリビューション(バージョンなど)は、非特権ユーザーのUIDを100から始めます。RedHatなどの他のディストリビューションは500から始まりますが、Debianなどの他のディストリビューションは1000から始まります。組織内のネットワークで複数のディストリビューションが使用されている場合、介入が必要になることがあります。
また、1000〜9999などのローカルユーザー用のUIDのブロックと、10000〜65534などのリモートユーザー(ネットワーク上の他のユーザー)用の別のブロックを予約すると便利です。重要なことはスキームに基づいて、それを遵守します。
特定のタイプのユーザーに番号のブロックを予約するこのプラクティスの利点の1つは、疑わしいユーザーアクティビティについてシステムログを検索する方が便利になることです。
一般的な考えに反して、UIDフィールドの各エントリが一意である必要はありません。ただし、一意でないUIDはセキュリティ上の問題を引き起こす可能性があるため、UIDは組織全体で一意に保つ必要があります。同様に、以前のユーザーからのUIDのリサイクルは可能な限り避ける必要があります。
getent
から直接読み込むのではなく、/etc/passwd
ルックアップUID_MIN
/ UID_MAX
の代わりにハードコーディング値:getent passwd | awk -F: "{if (\$3 >= $(awk '/^UID_MIN/ {print $2}' /etc/login.defs) && \$3 <= $(awk '/^UID_MAX/ {print $2}' /etc/login.defs)) print \$1}"
ログインできるすべてのユーザーのリスト(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
このユーザーからシステムからすべてのファイルを削除する場合(ホームディレクトリだけでなく)
sudo deluser --remove-all-files
adduser
との違いを説明する必要があるかもしれませんuseradd
。またsudo
、最初のコマンドに-prefixを追加します。パスワードシャドウファイルは、ルートとしてのみ読み取ることができます。
awk -F':' '$2 ~ "\$" {print $1}' /etc/shadow
私など、ビン、デーモン、など、すべてのユーザーを示し、この警告を投げた:シーケンスエスケープ\$' treated as plain
$」を私はこのポスト見つけstackoverflow.com/a/25867768/847954を し、もう一つのバックスラッシュを追加し、それがうまく働いた:awk -F':' '$2 ~ "\\$" {print $1}' /etc/shadow
[OK]をここでこれをソートするのに役立つトリックです。ユーザーがユーザーを入力し、Tabキーを2回押すと、端末は自動補完されます。最初の4文字としてユーザーに存在するすべてのコマンドがリストされます。
user (tab tab)
可能なオプションとして私に与えますuseradd userdel usermod users users-admin
google itコマンドを入力するかman man useraddがuseraddを与える場合-新しいユーザーを作成するか、デフォルトの新しいユーザー情報を更新します... ...
ユーザーを一覧表示するには、Mitchが言ったことを確認する必要があります。
bashでタブ補完が好きになるのを助けてくれることで、物事を思い出せなくなります。
マシンの/ home-folderにホームディレクトリがあるユーザーを見つけるには、次のコマンドを実行します
cd /home
ls
その後、サーバーにログインする権限を持つユーザーを確認できます。ユーザーのファイルを調べるには、rootユーザーである必要があります。
/home
。Ubuntuはデフォルトでユーザーディレクトリを配置しますが、必須ではありません。
ls /home
削除されたユーザーのユーザーディレクトリも含まれる場合があります。
sed 's/:.*//' /etc/passwd