os.chmod
を使用して、実行可能ファイルのファイルアクセス権を変更する必要があります。
私はこの実行可能ファイルを持っており、読み取りと実行のみどこにも書き込めないようにアクセス権を変更したいと考えています。
どうすればいいですか?それ - どのようchmod
作品ではありませんchmod - 実行可能ファイルへのアクセス許可
おかげで、
ルービック
os.chmod
を使用して、実行可能ファイルのファイルアクセス権を変更する必要があります。
私はこの実行可能ファイルを持っており、読み取りと実行のみどこにも書き込めないようにアクセス権を変更したいと考えています。
どうすればいいですか?それ - どのようchmod
作品ではありませんchmod - 実行可能ファイルへのアクセス許可
おかげで、
ルービック
chmod
でファイルに設定できるアクセス許可は、そのファイルを読み書きできるユーザーに影響し、そのファイルを実行することによって作成されたプロセスの特権には影響しません。
Unixでは、ファイル所有者とスティッキービットを使用して再生し、ファイルシステムに適切なアクセス許可を与えることで何らかの形で保護される可能性がありますが、それは簡単ではなく、Windowsでは動作しません(スティッキービットそこ)。
ありがとうございますが、スティッキービットが私にとって何ができるのか分かりません。私はそれについてWikipediaの記事を読んだ。 – rubik
実行可能ファイルの所有者を 'nobody'に設定してスティッキービットを置くと、その実行可能ファイルを実行すると、プロセスは' nobody'ユーザによって起動された場合に開始されますユーザーが実際に起動しました)。 '誰も'あなたが気にしているファイル/ディレクトリへの書き込みアクセス権を持っていない場合、そのプロセスはそれらを混乱させることができません。 – Mat
ありがとうございました!私はそれを試みます。 – rubik
私はこの実行可能ファイルを持っていると私はそれがどこにも書くことができないようにパーミッションを変更したい、だけ
を読み出して実行しますファイル自体にアクセス権を設定すると、実行可能ファイルが書き込めるものを制限することはできません。
一部のLinuxやUnixでは、実行可能ファイルに何かを書き込まないようにするための回避策は、実行可能なsetuidをアクセス権のないユーザー(ほとんど「存在しない」)にすることです。 DebianまたはUbuntuで)。注意してください。seteuid & setreuid & capabilities & credentials(これらのすべてのシステムコールがPythonインターフェイスを備えているかどうかはわかりません)。
'chmod'はそれをしません。必要なのは、このプロセスをサンドボックスで実行することです。 –
[類似の質問はUnix&Linuxに掲載](http://unix.stackexchange.com/questions/24469/chmod-change-permissions-on-a-file)。 – Gilles