rootユーザーからユーザーに切り替える(インストール中に自動的に作成されます)git自動デプロイ)と
sudo -u git-auto-deploy /bin/bash
常に次のエラーが発生します。
bash: /root/.bashrc: 権限が拒否されました。
ユーザーのホームディレクトリを作成し、.profile
ここに以下を追加しました(source
また、このディレクトリで実行中です)。
export HOME=/srv/users/git-auto-deploy
このコマンドは、finger git-auto-deploy
次の出力を提供します。
Login: git-auto-deploy Name:
Directory: /srv/users/git-auto-deploy Shell: /bin/bash
Never logged in.
このユーザーとしてログインすると、コマンドはenv
まだ無効なディレクトリを一覧表示します。
HOME=/root
私は何が間違っていましたか?
答え1
使用sudo -s -H -u git-auto-deploy
。
sudo
それ自体は変更されませんが、HOME
使用すると変更される値です。-H
これが「許可拒否」エラーが発生する理由です。ユーザーがアクセスできないroot
(およびアクセスできないはずの)ホームディレクトリ。
この-s
オプションを使用すると、sudo
指定したユーザーがログインシェルで構成されているすべてのシェルを起動できます(つまり、明示的に実行する必要なしに/bin/bash
)。