[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[OT] Samba + ESET (LD_PRELOAD)



Saludos,

Tengo un servidor samba al cual le instale un antivirus para servidor de
archivos de modo que los clientes windows estén más protegidos.

La cuestión es que el fabricante del software a la hora de cargar un módulo
para analizar los archivos al ser abiertos/cerrados por samba dice que hay
que hacer lo siguiente:

(...)
In order to activate the On-access scanner immediately after file system
start-up, the ?LD_PRELOAD? environment
variable must be defined within the appropriate network file server
initialization script.
Example: Let's assume we want to have the On-access scanner to monitor all
file system access events immediately
after starting the Samba server. Within the Samba daemon initialization
script (/etc/init.d/smb), we would replace the
statement
daemon /usr/sbin/smbd $SMBDOPTIONS
with the following line:
LD_PRELOAD=/usr/lib/libesets_pac.so daemon /usr/sbin/smbd $SMBDOPTIONS
In this way, selected file system objects controlled by Samba will be
scanned at system start-up.
(...)

Estoy usando debian 6, con samba de los repositorios y el archivo
/etc/init.d/samba parece ser distinto de al que se refiere el fabricante.

Lo que yo intenté fue en el /etc/init.d/samba es esto:

(...)
                if [ "$RUN_MODE" != "inetd" ]; then
                        log_progress_msg "smbd"
ESTA LINEA ->           if ! start-stop-daemon --start --quiet --oknodo
--exec LD_PRELOAD=/opt/eset/esets/lib/libesets_pac.so /usr/sbin/smbd -- -D;
then
                                log_end_msg 1
                                exit 1
                        fi
                fi
(...)

O sea, le agregué LD_PRELOAD=/opt/eset/esets/lib/libesets_pac.so luego de
--exec.

Al ejecutar samba obtengo:

[....] Starting Samba daemons: nmbd smbdstart-stop-daemon: unable to stat
//LD_PRELOAD=/opt/eset/esets/lib/libesets_pac.so (No such file or directory)
 failed!

Y el modulo existe:

ls /opt/eset/esets/lib/
esets_dac   esets_icap     esets_pop3  esets_wwwi        libesets_pac.so
libspamcatcher.so.0.0.0
esets_ftp   esets_imap     esets_sci   libesetphp.so     libspamcatcher.so
libspamcatcher.so.6.3.5
esets_gwia  esets_mird     esets_smfi  libesets_asdk.so  libspamcatcher.so.0
ssfi
esets_http  esets_modules  esets_smtp  libesets_gcm.so
libspamcatcher.so.0.0  wwwi

Sin embargo, si en la consola ejecuto:

LD_PRELOAD=/opt/eset/esets/lib/libesets_pac.so /usr/sbin/smbd -D

Funciona bien.

Alguna idea? De que otra forma puedo hacer el LD_PRELOAD?

PD: El software no lo compré, de modo que no tengo soporte.

Gracias de antemano.


Reply to: