GNU/Linux >> Linux の 問題 >  >> Linux

特定のユーザーのバイナリへのパスをオーバーライドする

バイナリが /usr/bin/binary の場合 スクリプトはフルパスを指定せずにバイナリを呼び出しますが、代わりに /usr/bin に依存しています PATH にいる 次に、新しいバイナリの場所をユーザーの PATH の先頭に追加するだけです .このようなものを ~/.bashrc に入れます :

PATH=/mount/new_version:$PATH

セキュリティ上の理由から、スクリプトはこの種のことを防ぐためにバイナリへのフル パスを指定することがよくあります。


バイナリにアクセスできる場合は、バックアップしてシンボリック リンクを作成できます。

mv /urs/bin/binary /urs/bin/binary.bkp
ln -s /mount/new_version/binary /urs/bin/binary

[編集]

申し訳ありませんが、1 人のユーザーに対してのみ変更を行う必要があることを知りませんでした。

バイナリの代わりに呼び出される関数を作成できます。

バイナリの実行方法 (フル パスまたは名前のみ) に応じて、適切な関数を作成する必要があります。 など:

# Full path
function /urs/bin/binary () { command /mount/new_version/binary "[email protected]"; }
export -f /urs/bin/binary
# Name
function binary () { command /mount/new_version/binary "[email protected]"; }
export -f binary

バイナリが引数を受け入れない/必要としない場合は、"[email protected]" を削除します .

関数の作成を自動化するには、関数行をユーザーのホーム ディレクトリにある .profile ファイルに入れます。


alias commandname=/mount/new_version/binary

プロファイル内のパス ステートメント/エクスポーターの上の .bashrc で、簡単に実行できます。


Linux
  1. Linux – LinuxでIptablesを使用して、LAN上の特定のユーザーのインターネットアクセスを制限する方法は?

  2. 別の user.home 用に Jenkins を構成する

  3. Amazon Ec2 で apache ユーザーのパス変数を設定する

  1. RPM インストール パスを上書きする

  2. 特定のユーザーの合計ディスク使用量

  3. sudo コマンドのパスを設定する方法

  1. root ユーザーの ulimit を決定する

  2. Linux で iptables を使用して LAN 上の特定のユーザーのインターネット アクセスを制限する方法

  3. 特定のユーザーに対して Linux で特定のコマンドをブロックする