残念ながら、これは非常に具体的な要求です。私はCentOS Linux 7システムの非ルートユーザーです。一般的に管理チームは非常に役に立ちましたが、残念ながらこの場合には全く答えがありませんでした。
したがって、ここにはrootアクセス権がなく、いくつかのコマンドをブロック/制限したいと思います。私:リンク、リンク2、サルク。理由は聞かないでください。変な挑戦だと思います。
root以外のユーザーとしてこれを達成する方法はありますか?
答え1
ホームディレクトリにディレクトリを作成し、制限したいプログラム名でいくつかのファイルを作成し、$ PATHに追加できます。たとえば、
$ mkdir ~/bin
次の内容で ~/bin/links を作成します。
#!/usr/bin/env sh
echo you are not allowed to use links
そして実行可能にしてください。 $PATH の前に ~/bin を追加します。
PATH=$HOME/bin:$PATH
ここでリンクを呼び出すと:
$ links
you are not allowed to use links
\
エイリアスを使用している場合、それをバイパスすることはできません。
$ \links
you are not allowed to use links
リンクはまだ$ PATHに存在します。
$ type -a links
links is /home/ja/bin/links
links is /usr/bin/links
そして、あなたや他のプロセスが絶対パス/usr/bin/linksを使って実際のリンクバイナリを呼び出すのを妨げることはありません。