web-dev-qa-db-ja.com

sambaデーモンの前にesetlibcライブラリを起動します

ESET FileSecurityで「プリロードLIBCライブラリを使用したオンアクセススキャナー」を設定しようとしています。

マニュアルには次のように記載されています。

... Sambaサーバーの起動直後にすべてのファイルシステムアクセスイベントを監視するオンアクセススキャナーを使用する。 Sambaデーモン初期化スクリプト内(/etc/init.d/smb)、ステートメントを置き換えます

daemon /usr/sbin/smbd $SMBDOPTIONS 

次の行で:

LD_PRELOAD=@LIBDIR@/libesets_pac.so daemon /usr/sbin/smbd $SMBDOPTIONS 

しかし、ファイル/etc/init.d/smbはありませんが、/ etc/init.d/smbdはあります。

誰かが、sambaの開始前にLIBCライブラリが起動されるこの行をどこに書き込むかを教えてもらえますか?

1
Nikita Gasov

したがって、/etc/init.d/smbdの深部には、実際にsmbdを起動している次の行があります。

if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/smbd -- -D; then

人気のあるアイデア 環境変数を渡すための==はenvであるため、次のようになります。

if ! start-stop-daemon --start --quiet --oknodo --exec /usr/bin/env LD_PRELOAD=@LIBDIR@/libesets_pac.so /usr/sbin/smbd -- -D; then

@LIBDIR@libesets_pac.soへの正しいパスに置き換えてほしいと期待していることに注意してください。


別の方法は、smbdの新しいランチャーを/usr/local/sbin/smbdとして作成することです。

#!/bin/sh

LD_PRELOAD=@LIBDIR@/libesets_pac.so /usr/sbin/smbd

次に、/etc/init.d/smbdを変更して/usr/local/sbin/smbdを呼び出します。

1
Oli