ファイルのアクセス許可に影響を与えることなく、別のユーザーに属する実行可能ファイルの文字列を置き換えることは可能ですか?

ȚurcanuȘtefan

別のユーザーに属する単純な実行可能ファイルがあります。ある時点で、system( "ls / path / file")コマンドがあり、/path/fileは実行可能ファイルと同じ所有者を持ち、それによってのみ読み取り可能です。ファイルの内容が表示されるようにlsコマンドを変更してみましsedたが、所有権に影響します。実行可能ファイルの文字列を変更して所有権を維持する方法はありますか?

その他の男

所有権の変更が表示される理由は、エディターがファイルを変更していない可能性が高いです。代わりに、既存のファイルを置き換える新しいファイル(必要に応じてユーザーが所有)を作成します。

GNUsed -iはこのモデルを使用するため、ファイルを編集すると所有権が変更されます。

$ ls -l foo
-rwxrwxrwx 1 bob    ourgroup   26 Nov  5 18:10 foo

$ sed -i 's/foo/bar/g' foo
(no output)

$ ls -l foo
-rwxrwxrwx 1 alice  ourgroup   26 Nov  5 18:10 foo

所有権を保持するには、置換ではなく上書きするエディターを使用するだけです。nanovimはこれを行うインタラクティブなエディターですedが、はスクリプト可能なエディターです

ファイルにsuidu + sビットが設定されている場合、この権限を保持している間は、他のユーザーがファイルを変更することはできないことに注意してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ