珍しいシナリオでは、openSUSEシステムから「lp」(ライン印刷デーモン)という特定のシステムユーザーアカウントを削除する必要がありました。
一貫性のないシステム状態が発生せずにアカウント行をコメントアウトできますか/etc/passwd
?
背景: アカウントのユーザー名が SAMBA で使用するアカウント名と競合しています。このアカウントが他の重要なプロセスで使用されているかどうかわからないため、行印刷機能は実際には必要ありません。
他のユーザーがシステムアカウントを削除した経験はありますか?
答え1
find
このユーザーが所有するファイルがあるかどうかを確認するには、まずシステムをすばやく実行してみましょうlp
。
$ find -user lp
ファイルが返されると、OpenSUSEのパッケージマネージャを使用してそのファイルを逆追跡できます。 RPMを使用すると思うので、次のコマンドが機能します。
$ rpm -qf /path/to/file/find/found
これにより、そのパッケージを削除できるかどうかを判断できます。これらのパッケージを削除すると、lp
削除プロセス中にユーザーアカウントが削除される可能性が高くなります。
パッケージが見つからない場合は、/etc/passwd
&から/etc/shadow
アカウントを削除できます/etc/group
。アカウントにリンクされているグループがあることを確認しましたか?
次のコマンドは、ユーザーに関連付けられたグループを通知します。
$ id lp
uid=4(lp) gid=7(lp) groups=7(lp)
ユーザーを削除する簡単な方法は、組み込みコマンドの1つを使用することです。通常、次のようになりますuserdel <username>
。
たとえば、
$ sudo userdel lp
進む道
OP(@MasterofCelebration)がコメントしました:
まあ、私は基本的な機能(Ghostscript、ファイルシステムなど)であるいくつかのパッケージを見つけましたが、必ずしも削除したくありませんでした。そのため、アカウント名を変更し、必要なユーザーの新しいアカウントを追加する方法を検討しました(システムアカウントのUIDを「lprint」などの新しい名前のままにします)。難しい部分は、まったく必要ないにもかかわらず、「印刷アプリケーション」や他の一般的に使用される項目で使用される新しいユーザーのホームディレクトリに実際に何が起こるのかわからないということです。 SAMBA の目的のためだけに新しいユーザーのホームディレクトリが必要です。
私はあなたに関連していると識別されたすべてのパッケージをアーカイブしますlp
。
難しい部分は、lp
ディスクにファイルがある可能性に加えて、ユーザー名が1つまたは2つのプロファイルによって呼び出される可能性が高いことです。
これが私がやろうとしていることです。
- 以前のUIDを維持します
lp
。名前をからに変更しlp
ますlpold
。 - 新しいUIDで新しいアカウントを作成し、引き続き呼び出します
lp
。 lp
ディレクトリを検索して、明示的/etc
に呼び出された設定ファイルを識別できることを確認しlp
、見つかった場合はそのファイルをに変更しますlpold
。
これにより、ディスク上のファイルに触れる必要がなく、自動的に表示されますlpold
。ディスク上のファイルをlpold
新しいファイルと組み合わせることもできますlp
。
lp
今直面しなければならない唯一のリスクは、ユーザーとして開始されたサービスが、以前のlp
サービスの代わりに新しいサービスになる可能性があることです。検索を通じて/etc
これらの問題を根絶する必要があります。
答え2
/etc/passwd
アカウントを効果的にコメントアウト/etc/shadow
し、削除ユーザー。/etc/group
そして江戸同様です/etc/gshadow
。
ユーザーがファイルの所有者の場合、ファイルには未割り当てのUIDが割り当てられます。これはそれ自体は有害ではありませんが、見苦しく、望ましくない可能性があります(たとえば、UIDは後で再利用でき、これらのファイルは新しいユーザーです)。まず、find
そのユーザーが所有するファイルの検索と削除を使用するのが最善です。
それでも、私はこれをしません。いつかCUPSをインストールする必要がある場合はどうなりますか?ユーザーCUPSを管理者として指定しますか?また考えてみてください。パッケージの配布スクリプトは、lp
次の名前で機能できます。つまり、サービスがlp
特定のファイルを読み書きする権限を許可できます(なぜかわからないが、そのようなことが起こる可能性があります)。
簡単に言えば、可能ですが、一般的にLinuxディストリビューションシステムのユーザーを獲得し、設計された目的とは異なる目的でサービスを提供することは良い考えではありません。
答え3
特にlp
CUPSなどのプリンタサポートを追加しようとすると、問題が発生する可能性があります。未来。 CUPSのようなものがインストールされていなくても、lp
何十年もの間(Unixシステムの)標準ユーザーだったので、パッケージはそれに依存してシステムの一部でそれを使用することができます。ユーザー/グループはlp
デフォルトでグループに属することも、ファイル、ディレクトリ、およびデバイスを所有することもできます。
作成するユーザーの別の名前を見つけることをお勧めします。
答え4
/etc/passwd
userdelをバックアップして実行できるようです/etc/shadow
。 SUSEについてはわかりませんが(私はUbuntuとDebianを使用しています)、問題はないと思います。
しかし、Sambaを他のユーザーにLPを使用しpdbedit
たり提供したりすることはできませんか?smbpasswd
実際にシステムにクラッシュがありますか?