可能性のある複製:
リカバリモードで「/ etc/group」をロックできません
私は自分と他の2人の家族の間で共有されているUbuntu 11.10を搭載したラップトップを持っています。私のユーザーIDは、ラップトップで唯一の「管理者」として設定されました。他のユーザーは「標準」ユーザーとしてセットアップされました。他のユーザーのユーザーグループに自分を追加しようと試みましたが、どういうわけか管理グループから自分を削除しました。ターミナルから「usermod」コマンドを使用しました。更新のための適切なスイッチまたは構文を含めることを怠っていたに違いありません。
妻のアカウントに関連付けられたグループにユーザーIDを正常に追加したようです。 「groups」コマンドを使用すると、リストには自分のIDと妻のIDしか表示されません。 「admin」グループや「adm」グループ、および以前リストされていた他のグループは表示されなくなりました。 [システム設定]> [ユーザーアカウント]に移動すると、IDが「標準」ユーザーとしてリストされているように見えます。アカウントを「管理者」に戻したいのですが、今はできません。
ソリューションを検索したところ、リカバリモードで起動し、ルートセッションからusermodコマンドを実行する必要があることがわかりました。復旧モードで正常に起動し、ルートセッションに到達できました。コマンド「usermod -a -G admin user1」を実行して、id(user1)を管理グループに追加しようとしました。
ルートセッションからコマンドを実行すると、「usermod:/ etc/passwdをロックできません。後で再試行してください」というエラーメッセージが表示されます。 usermodコマンドの前に「Sudo」を試してみましたが、違いはありませんでした。同じエラーです。次に、新しいユーザーIDを作成し、新しいユーザーIDを管理グループの一部にしようと考えて、adduserを使用して新しいユーザーを追加しようとしました。 adduserコマンドを使用しても同じエラーが発生します。
Etcディレクトリで「.lock」で終わるファイルを探して削除することを推奨する投稿を見ました。私が見つけた唯一のファイルは、触れていない.pwd.lockでした。
次に何をしようか迷っています。私はUbuntuとLinuxに比較的慣れていないので、これの多くは私にとって新しいものです。あなたが提供できる助けは大歓迎です。
最後に、「usermod:/ etc/passwdをロックできません。後で再試行してください」というエラーメッセージが表示される理由を見つけました。 この問題の根本的な原因は、リカバリモードで起動したときに、デフォルトでファイルシステムが読み取り専用としてマウントされたという事実に関係していました。ファイルシステムは読み取り専用としてマウントされ、adduserおよびusermodコマンドはそれらの機能を実行できず、エラーメッセージを生成しました。
問題がファイルの破損や* .lock関連の問題ではないと思ったのは、/ etcフォルダーにpasswd.lock、group.lock、shadow.lockファイルがなかったことです。また、回復モードでルートセッションを起動したときに/ etcフォルダーにある.pwd.lockファイルをコピー、名前変更、または削除しようとすると、別のエラーメッセージが表示されました。ファイルの名前を読み取り専用に変更できないなど、別のエラーメッセージが表示されました。 「Recover Mode Read Only」でいくつかのウェブ検索を行い、次の投稿に出会いました: http://www.linuxquestions.org/questions/linux-general-1/cannot-edit-fstab-in-recovery -mode-filesystem-is-read-only-540195 / 。
この投稿では、デフォルトでリカバリモードが読み取り専用モードになっていることについて説明しています。/etcフォルダー内のファイルに変更を加えることができるように、読み取り/書き込みとして再マウントすることを提案しました。そこで、この問題を解決するために私がしたことは次のとおりです。
ルートセッションで、次のコマンドを実行してファイルシステムを読み書き可能として再マウントします。
mount -o remount,rw /
Adduserコマンドを実行して、ユーザーIDを管理グループに追加し直します。コマンドは「adduser username admin」を実行し、ユーザー名を実際のシステムユーザー名に置き換えました。今回は、ファイルシステムが読み取り/書き込みとしてマウントされたため、コマンドの実行エラーを受け取りませんでした。
Ubuntuを再起動すると、通常のターミナルセッションから「グループ」コマンドを実行することで、ユーザーIDが管理グループのメンバーとしてリストされていることがわかりました。 Ubuntuシステム設定メニューの「ユーザーアカウント」に移動して、GUIでも同じことを確認しました。そこで、私のユーザーIDは「管理者」としてリストされました。
さらに、元の問題を再現して、再起動してリカバリモードに戻り、上記のステップ4(ファイルシステムを読み書き可能として再マウントする)をスキップすると、「/ etc/passwdをロックできません」エラーが再現されるかどうかを確認しようとしました。した。この問題の根本的な原因は、ファイルシステムが回復モードでマウントされた方法に関係していました。
新しいユーザーとして、回復モードで起動するとデフォルトで読み取り専用になるのは奇妙に思えます。それは回復のアイデアではありません。更新ファイルを修正するためにいくつかの変更を行う必要があり、そうでなければ通常のユーザーとしては不可能な問題を修正しますか?
とにかく、管理者のアクセス権を持つコンピューターに少なくとも1人のユーザーがいることに満足しています。私の問題に回答したすべての人に再び感謝します。
そうでない場合は/etc/.pwd.lock
ファイルを空にして(nano /etc/.pwd.lock
ですべてを削除)、ルートセッションからadduser your_user admin
を使用してユーザーを管理グループに戻すことができます。このファイルは、/etc/passwd
および/etc/shadow
ファイルへのアクセスを制御して、同時変更を回避します。どのファイルも変更されていない場合は空になります。
リカバリモードで起動し、ルートシェルオプションを選択して、ユーザーアカウントを管理グループに追加し直します。
おそらく、通常のユーザーセッション内のターミナルでsu -
コマンドを使用してスーパーユーザーモードに移行することで同じことを行うことができると思いますが、回復コンソールを使用してそのロックファイルを本当に削除する必要があります。これは既知のバグのようですが、表示される理由は不明です。詳細については、 このバグレポート を確認してください。
ところで、Sudoはルート特権でコマンドを実行するだけなので、ルートセッションでSudoを使用しても意味がありません。すでにルートでシステムを使用している場合は、すでにルート特権でコマンドを実行しています。