Sea que deseemos protegernos contra Sambacry o no, siempre es buena idea mantener nuestro software actualizado. Esto es particularmente importante si estamos hablando de servidores. En este post nos dedicaremos a instalar o actualizar Samba desde código fuente. Dicho sea de paso, la versión que instalaremos incluye el parche para protegernos de Sambacry.
El procedimiento descrito en este post para actualizar Samba aplica únicamente en el caso de que la instalación original haya sido realizada también desde el código fuente. De otra manera, es preferible actualizar como mostramos en el post anterior.
Samba desde código fuente
Para empezar, es crucial que hagamos una copia de respaldo del archivo smb.conf si vamos a actualizar. De otra manera, podemos proceder directamente con la instalación.
A fin de poder compilar Samba, es necesario que instalemos una serie de herramientas adicionales.
En Debian y Ubuntu:
aptitude install acl attr autoconf bison build-essential \ debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user \ libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev \ libcap-dev libcups2-dev libgnutls28-dev libjson-perl \ libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl \ libpopt-dev libreadline-dev perl perl-modules pkg-config \ python-all-dev python-dev python-dnspython python-crypto xsltproc \ zlib1g-dev libsystemd-dev libgpgme11-dev python-gpgme python-m2crypto
En CentOS 7 o similar:
yum install attr bind-utils docbook-style-xsl gcc gdb krb5-workstation \ libsemanage-python libxslt perl perl-ExtUtils-MakeMaker \ perl-Parse-Yapp perl-Test-Base pkgconfig policycoreutils-python \ python-crypto gnutls-devel libattr-devel keyutils-libs-devel \ libacl-devel libaio-devel libblkid-devel libxml2-devel openldap-devel \ pam-devel popt-devel python-devel readline-devel zlib-devel
A continuación, descarguemos el código fuente desde el sitio oficial del proyecto:
Al momento de escribir este post, la última versión de Samba es la 4.6.4.
wget https://www.samba.org/samba/ftp/samba-latest.tar.gz
Como podemos ver, se trata de un tarball que deberemos descomprimir con tar:
tar xzf samba-latest.tar.gz
Al finalizar, entremos en el directorio creado al realizar la operación anterior:
cd samba-4.6.4
En este directorio tendremos las herramientas para realizar la compilación como veremos a continuación.
La compilación
Antes de proceder con la compilación, podemos utilizar el siguiente comando para ver cuáles son las opciones disponibles de configuración del programa:
./configure --help
Si estamos actualizando desde una versión previa, el comando anterior nos será útil para confirmar que las opciones utilizadas en ese entonces todavía están disponibles en la versión actual.
Finalmente, podemos proceder:
./configure make make install
De haber algún error, se nos mostrará por pantalla y deberemos corregirlo para poder llevar la compilación a buen puerto.
Cuando se instala Samba desde código fuente, los archivos ejecutables se encontrarán dentro de /usr/local/samba/bin. Por tal motivo, deberemos agregar dicho directorio a la variable de entorno PATH para poder utilizarlos directamente.
Espero que este post les haya resultado útil. ¡Nos leemos en breve!