
アプリケーション (Kismet) を実行するためにユーザーを新しいグループに追加しようとしたときに、誤ってそのグループをユーザーが属する唯一のグループにしてしまいました。コマンドを実行してgroups
、自分が属する他の 7 個ほどのグループを確認しましたが、変更を保存するためにログアウトして再度ログインすると、それらの他のグループは消えてしまいました。
ルートアクセス権はありますが、bash 履歴に出力が表示されません。
自分がどのグループに所属していたかを知るにはどうすればいいですか?自分自身をそれらに加える方法は知っていますが、それが何であったかを把握する方法がわかりません。
答え1
以前検索してみたのですが、基本的に私のニーズを解決するこの答えを見つけました:Ubuntu のユーザーのデフォルト グループは何ですか?
root としてログインします (sudoers グループから削除されたため):
su - root
ユーザー作成からのセットアップログを一覧表示する
grep user-setup /var/log/installer/syslog
次に、コマンドを実行しました(上記のコマンドのグループのリストを使用)
usermod -a -G adm,cdrom,lpadmin,sudo,sambashare,dip username
ログアウトして再度ログインすれば完了です。
答え2
まだどこかにログインしている場合は、コマンドを実行して、groups
実行中のプロセスが属するグループを一覧表示できます。アクセスできない端末にログインしている場合、またはより一般的には、グループの変更前からどこかでプログラムを実行している場合は、 でそのプロセスのグループを一覧表示できます。ps -o rgroup,supgrp 1234
は1234
プロセス ID です (これは Linux の場合で、他の Unix バリアントでは構文が異なる場合があります)。
アカウントについて何かを変更したときは、ログインしたまま別の端末でログインして変更を検証することをお勧めします。
または十分に互換性のあるツールを使用した場合vigr
、 にバックアップが残ります/etc/group-
。これはすべてのツールに当てはまるわけではありません。たとえば、addgroup
Debian の コマンドはバックアップを作成しません。ファイルを再度編集する前にバックアップのコピーを作成してください。そうしないと、上書きされてしまいます。
頻繁にバックアップを取ることを/etc
お勧めします。等キーパー(ほとんどの Linux ディストリビューションで利用可能) バージョン管理下で完全な履歴を保持します (パッケージのインストール前後に etckeeper が自動的に実行されますが、意味のあるログ メッセージとともにすべての変更を手動でコミットする必要があります)。