2016-11-02 5 views

答えて

0

おそらくどんなバイナリを実行するユーザーを禁止する価値があるかもしれないいくつかの状況(私はそれが権限昇格の悪用対策のものであってもよいと仮定)があるかもしれません。しかし、多くの場合、通常のユーザは自分のバイナリを実行することができるので、ユーザが自分でfdiskなどを作成してコンパイルするとどうなりますか?実際には、ユーザーがfdiskを実行することを許可したくありません。 fdiskまたは他のプログラムが何らかの形でシステム状態を変更しないようにしたいだけです。だから、通常のユーザーは本当にfdiskを実行することができます。

$ fdisk --help 
Usage: 
fdisk [options] <disk>  change partition table 
fdisk [options] -l [<disk>] list partition table(s) 
... 

実際に行うことはできません通常の何ユーザーが制限された操作を実行している:

$ fdisk /dev/sda 
Welcome to fdisk (util-linux 2.27.1). 
Changes will remain in memory only, until you decide to write them. 
Be careful before using the write command. 
fdisk: cannot open /dev/sda: Permission denied 

のでfdiskは、正常に起動したいくつかのメッセージを印刷しました。その後、生のディスクデバイス/dev/sdaを開こうとしましたが、その操作は本当にアクセス許可によって制限されていたので、fdiskは何もできず終了していると不平を言っていました。

ただし、一部のユーザーが一部のバイナリの実行可能性を制限したい場合があります。管理者またはOSのメンテナンス担当者が通常のユーザに(/etc/fstabの何らかのレコードによって許可されているパーティションをマウントするなど)何らかの特権的なアクションを実行させたい場合は、mountまたはsudoなどの特別な強化バイナリを設定します。許可ユーザーIDの設定:この場合には、

なバイナリが実行される
$ ls -l /bin/mount /usr/bin/sudo 
-rwsr-xr-x 1 root root 40152 May 27 02:31 /bin/mount 
-rwsr-xr-x 1 root root 136808 Aug 17 16:20 /usr/bin/sudo 

は、カーネルは呼び出し元のユーザーのユーザーIDを、それを与えていない、しかし、UID 0(ルート)。通常のユーザはこのようにバイナリを設定することはできないので(ルートオーナーとUIDビットセットを設定する)、これらのバイナリの実行可能性を特定のグループに制限する価値があるかもしれません(しかし、上記の場合、 set-UID実行可能ファイルの実行可能性の制限がなんらかの方法で回避できないのか、そしてアプローチが本当に誰かによって広く使用されているのかどうか、私は本当に分かりません。

そして、1つの余分ノートは:お使いのシステム上のfdiskの場合には、それがまたは通常のユーザーのPATH変数であってもなくてもよい/usr/sbinディレクトリにインストールされているので、fdiskは、または通常のユーザが実行してもしなくてもよいですコマンドプロンプトでfdiskと入力するだけですが、これは実際には制限ではありません(コマンドラインで実行可能ファイルへのフルパスを指定するだけでもよい)。

関連する問題