
次のコマンドを使用してFedoraにシステムアカウントを作成しました
useradd -r -s /bin/false sysacct
次にディレクトリを作成し、sysacctに権限を与えました
mkdir /var/sysacct
chown sysacct:sysacct /var/sysacct
sysacctとしてコマンドを実行しようとすると
su - sysacct -c 'mkdir /var/sysacct/test'
I get error
/home/sysacct にディレクトリを変更できません: そのようなファイルまたはディレクトリはありません
Why do I need to specify a home directory for this account?
答え1
デーモン(ウェブサーバー、データベース)を実行するために使用されるサービス/システムアカウントにはホームが必要ですか?
一般的にアカウントにホームディレクトリは必要ありませんが、さまざまな特定のデーモン5月$HOME が存在するディレクトリを指すように要求するか、$HOME が存在することを必要とする他のツールを実行する場合があります。
(たとえば、デーモンを実行してgpg
データを暗号化する必要がある場合、デーモン自体にはホーム ディレクトリがない場合でも、gpg は ~/.gnupg を保存するためのホーム ディレクトリを必要とします。)
このアカウントのホーム ディレクトリを指定する必要があるのはなぜですか?
だってあなたは尋ねる su
作業ディレクトリを指定されたユーザーのホームディレクトリに変更するなど、「実際のログイン」手順を模倣します。これは、-
または-l
オプションの効果の一部として文書化されています。
su
これを実行しない場合は、-
または-l
オプションを指定しないでください。