カスタムプログラムをルートにする


0

私はC言語のカスタムプログラムを持っていて、それはディレクトリをたどり、私の家の中の内容でログファイルを書きます。ただし、/ var / log / / etc /や他のルートフォルダにはアクセスできません。変更するには?これは現在、root以外のユーザーがmyname:myname myprogramにchownしています。どのようにそれを根のようにするための情報がありますか?

回答:


4

プログラムをrootとして実行したい場合は、rootとして起動してください。 rootとしてログインするか使用する su または sudo

所有者は以下の場合を除き無関係です。 setuid フラグが設定されています。ただし注意してください。 setuid することができます 非常に これは常にrootとして実行されるため(またはファイルを所有するユーザーは任意のもの)、危険です。プログラムに脆弱性が含まれている場合、攻撃者はそれを悪用してシステムを完全に制御する可能性があります。また、ファイルが保護されたディレクトリに含まれていない場合は、ディレクトリの書き込み権限を持つユーザーが好きなように所有者を変更できます。

つかいます chmod 4xxx <file> (ここで xxx を設定する「通常」モードです。 setuid フラグ現代の実装もサポートしています chmod u+s <file>


ルートとして実行しました。許可の問題のため、プログラムは/ var / log / dirを完全に見逃しています。私のプログラムはu + xでchmodされていて/ usr / local / bin /にあります。
Ilian Zapryanov

あなたがプログラムをrootとして実行しているのであれば、それはパーミッションの問題ではない、それはプログラムがそのフォルダを通して繰り返すことを妨げている。
Ramhound

じゃあ、何?ディストリビューションに依存しますか? Fedora 21は私が使っているものです。
Ilian Zapryanov

@IlianZapryanovシェルをrootとして起動した場合、/ var / logの中を見ることができますか?
dsolimano

@ dsolimanoはい、/ var / logは正常に表示されます。
Ilian Zapryanov
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.