新しいユーザーSudoを追加し、パッケージをインストールする必要があるスクリプトがあります。
新しいユーザーとしてapt-getを実行することは可能ですか?
たとえば、私はuser1でログインしています。スクリプトを実行します。そのスクリプトでは、user2(sudoer)を作成します。その後、user2を使用して新しいパッケージをインストールしたい
そのコマンドラインを使用するだけで、動作するはずです。
Sudo -u user2 apt-get -y install [packagename]
別のユーザーとしてではなく、root
経由でSudo
としてapt-get
を実行する必要があります。
パッケージ情報のためにapt
によって維持される実際のディレクトリの多くは、維持するためにroot
が必要です。また、パッケージが/bin
などにインストールされる場合は、rootが必要です。
Sudoers特権は、ログインしているユーザーがSudo
を使用し、Sudo
コマンドでできることまたはできないことを定義することのみを許可します。 apt-get
を実行するだけで提供される有効なroot
パーミッションが必要なため、Sudo apt-get
が操作する必要がある特権は付与しません。したがって、user1がSudo apt-get
を実行している場合、許可されます。 user2がsudoersにない場合、そのコマンドを実行できません。 (しかし、もし彼らがsudoersにいたなら、そうすることができました).
あなたがやろうとしていることを行うには、2つのSudo
コマンドが連鎖している必要があります(途中でテストされていません):
Sudo -u user2 Sudo apt-get -y install PACKAGENAME
ただし、これは通常、物事の実行方法ではなく、これにより未定義の動作や奇妙な動作が発生する可能性があることに注意してください。
user2には、rootとして実行する権限も必要です。これは、sudoers構成の場合とそうでない場合があります。