システムユーザーとしてサービスを実行する理由


19

UNIXの世界について一般的な質問があります。

現在、自宅でUbuntuを実行しており、デバイスにTransmissionをインストールしています。これは、transmission-debianユーザーとして実行され、ファイルを保存します。これを自分のユーザーに変更するのが理にかなっているのではないかと思っているので、ファイルとのやり取りが簡単になり、sudoを使用する必要はありませんか?なぜこれが悪い考えでしょうか?

回答:


40

ユーザーではなく、独自の専用システムユーザーとしてTransmissionを実行することを推奨する主な理由は、ソフトウェアに、構成されたディレクトリの外部にファイルを公開するエクスプロイトを許可する脆弱性がある場合、可能性のあるものを公開しないことですLinux自体が基本的なアクセス許可によるこの種のアクセスを防止するため、ホームディレクトリからの機密ファイル。

通常のユーザーでTransmissionのディレクトリ内のファイルを管理しやすくするために、ユーザーをdebian-transmissionグループに追加することを検討する必要があります。グループは、Transmissionディレクトリ内のファイルを所有し、少なくとも持っている必要がありますそのディレクトリとそのディレクトリ内のファイルへの読み取り/書き込みアクセス。

UbuntuのHOWTOを示唆して、このコマンドを(少し環境変数からユーザーを取得するようになって):

sudo usermod -a -G debian-transmission "$USER"

usermod既存のプロセスのグループには影響しないため、実行後にログアウトして再度ログインすることを忘れないでください。)

これにより、Transmissionでダウンロードしたファイルを簡単に管理できるようになりますが、セキュリティを向上させるために、専用のシステムユーザーでファイルを実行し続けることができます。


1
私は自分で同じ問題を抱えていたので、サービスを通常のユーザーに変更することを検討していました。これははるかに優れています。ありがとう!
アルコ

3
また、ディレクトリのデフォルトのアクセス許可を使用して、を使用してアクセス許可を付与することもできますsetfaclunix.stackexchange.com/questions/101263/…を
ctrl-alt-delor

1
ねえ、どうもありがとう。
ScipioAfricanus
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.