[homes] - directorios personales
Esta sección permite la compartición del directorio home de los usuarios, de forma que, dependiendo que usuario se haya autentificado en el sistema, Samba compartirá su directorio personal únicamente a él.
Los parámetros de esta sección se muestran a continuación:
#======================= Share Definitions =======================
# Un-comment the following (and tweak the other settings below to suit)
# to enable the default home directory shares. This will share each
# user's home directory as \\server\username
;[homes]
; comment = Home Directories
; browseable = no
Indica si este recurso aparecerá en la lista de recursos compartidos o no. En este caso, si se mostrará.
# By default, \\server\username shares can be connected to by anyone
# with access to the samba server. Un-comment the following parameter
# to make sure that only "username" can connect to \\server\username
; valid users = %S
# By default, the home directories are exported read-only. Change next
# parameter to 'yes' if you want to be able to write to them.
; writable = no
Esta opción permite escribir datos en los directorios home, si su valor fuese "no", los directorios home se compartirían como sólo lectura.
# File creation mask is set to 0600 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0664.
; create mask = 0600
Máscara de creación de archivos, el valor de este parámetro indicará los permisos que tendrán los archivos de nueva creación.
# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
; directory mask = 0700
Máscara de creación de directorios, el valor de este parámetro indicará los permisos que tendrán los directorios de nueva creación.
Los cambios que haremos será retirar el “;” de las instrucciones que se detallan y activar los atributos que listo
con los valores que indico:
[homes]
comment = Home Directories.
browseable = yes
writeable = yes
create mask = 0755
directory mask = 0755
Yo tengo preferencia por poner el atributo 755 ya que es el mas habitual para no tener problemas
el primer 7 = permitida la lectura, escritura, ejecución al dueño del archivo/fichero
el segundo valor 5 = permitida la lectura, ejecución al anónimos del archivo/fichero
el tercer valor 5 = permitida la lectura, ejecución al grupo del archivo/fichero.
Reiniciamos Samba y el pc windows y volvemos a acceder a la red esta vez veremos los siguientes iconos
Ahora hemos entrado como usuario tele podemos navegar por ftp homes y tele homes y tele son las carpetas que se han creado al realizar los cambios en los homes de usuario si intentamos acceder a home y www nos pedirá una nueva autentificación.
Buscando en internet información para realizar esta receta de Samba encontré una referencia a un entorno gráfico de configuración a través de un navegador Web paso a describir su instalación aunque tal como he dejado la configuración a mi me es suficiente, con lo cual, instale este interfaz pero no me he preocupado de estudiar sus posibilidades.
SWAT (Samba Web Administration Tool) es una herramienta que permite la configuración gráfica de . Samba
Para instalar Swat desde Synaptic debemos instalar 2 paquetes lanzamos el instalador de Synaptic y pinchado en el icono de buscar tecleamos 1º swat lo seleccionamos y luego netkit y lo seleccionamos en caso de querer hacerlo desde comandos sería sudo aptitude install samba swat netkit-inetd una vez tengamos instalado los 2 paquetes es necesario arrancar el demonio y establecer la contraseña de acceso ya que es una aplicación administrativa del sistema.
para arrancar la aplicación pasamos a modo consola y:
sudo update-inetd --enable 'swat'
para establecer la contraseña hay que ejecutar 2 comandos con el 1º no notaremos nada con el segundo ya nos pedirá la contraseña 2 veces, yo metí la misma contraseña que tengo asignada al usuario root.
sudo -s
passwd
Ya esta tenemos instalada la aplicación para acceder a SWAT vamos al navegador
y escribimos lo siguiente en la barra de direcciones http://localhost:901, SWAT pide un nombre de usuario y contraseña,
tecleamos root y nuestra contraseña habitual.
Llegados a este punto como ya he comentado antes ya tengo configurado Samba tal como lo necesito, por lo cual instale Swat como curiosidad pero no se si lo llegaré a usar, también si lo deseamos podemos instalar la aplicación Webmin es un programa que también a traves del navegador Web es capaz de gestionar todos los recursos Apache, Samba, Vsftp, DCHP, usuarios, etc. Webmin no se haya en los repositorios de Ubuntu.
Aspecto de la aplicación Swat
Como hemos visto el recurso Samba no esta de todo logrado en el aspecto de interface hay que realizar ciertas cosas a mano y es un sistema complejo de entender aquí doy lo básico para una red de unas pocas personas Samba también puede trabajar como dominio principal, creando grupos listas de usuarios cambio de contraseña automática y etc.. para mas información de Samba lo mejor recurrir ha Internet pero Ojo no he encontrado una receta que realmente aclaré todos los conceptos de una manera fácil de entender para los profanos.
Verificando el servidor FTP:
Vamos ha verificar el servidor FTP -->VSFTPD una vez instalado podemos verificar poniendo ftp://localhost o nuestra ip del equipo o bien el nombre de la computadora en el navegador WEB pero ojo no ponemos HTTP:// si no que esta vez tecleamos FTP:// vemos un directorio vació. ¿Que directorio? pues abrimos el Nautilus y vamos a //home/ftp este es el directorio que nos esta mostrando el navegador FTP, probemos a dejar un fichero que tengamos en nuestro directorio home de usuario, no podemos, ya que no tenemos permisos como Root. OJO no editemos los permisos de la carpeta ya que cambiaría el comportamiento del navegador con lo cual como root dejamos un fichero cualquiera MP3, imagen, y damos a refrescar al navegador para actualizar la conexión ahora veremos el fichero que hemos dejado como Root, y lo podemos abrir. Yo en principio revise los permisos de la carpeta y los deje como RWX para el usuario FTP R-X para grupo y otros con esto nos permite entrar y visualizar el contenido de las carpetas es importante el permiso X que nos permite abrir carpetas ya que si no nos daría error 550 failed to change directory.
VsFTPd es un servidor de archivos por FTP muy ligero y seguro. Es el recomendado por Debian y Ubuntu, tiene una configuración muy sencilla en un sólo fichero y se adapta muy bien a un servidor multihosting.
Por defecto la configuración en la distribución de Ubuntu es la siguiente:
Acceso de sólo lectura a los usuarios anónimos.
Los usuarios anónimos acceden a la carpeta /home/ftp
Los usuarios del sistema no pueden acceder a sus carpetas privadas.
El usuario anónimo podría -si no administramos bien los permisos del sistema- acceder a otras carpetas.
Vamos a proceder a modificar la configuración para que los usuarios del sistema puedan acceder al servidor autentificandose. Lo primero es estar trabajando en el sistema como root.
Lo segundo es poner a salvo la configuración por defecto de vsftpd que es este momento está correctamente instalado y lo mas seguro funcione, para ello en modo root navegamos a la carpeta /etc/ y buscamos el fichero vsftpd.conf y lo copiamos en la misma carpeta lo dejará con el nombre vsftp(copia).conf podemos renombrarlo y dejarlo como vsftpd(original).conf con lo cual dispondremos de una copia de seguridad original.
Seguidamente vamos a modificar el fichero vsftpd.conf para deshabilitar el usuario anónimo y habilitar los usuarios del sistema
Para ello realizar los siguientes cambios:
Poner write_enable en Yes descomentado la línea o sea quitando el símbolo #Poner local_enable en Yes descomentado la línea o sea quitando el símbolo #Poner local_umask en 022 descomentado la línea o sea quitando el símbolo #Poner anonymous_enable en NO añadiendo el símbolo #
Ahora siempre después de editar el archivo vsftpd.conf hay que realizar lo siguiente abrimos una consola en modo root y tecleamos cd //etc/init.d con lo cual nos situamos en el directorio init.d y teclemos la orden para rearrancar el servidor vsftpd con ./vsftpd restart esto hará un stop / start al servidor suponemos que ha respondido OK si no es así hemos metido la pata con lo cual toca reparar el archivo vsftpd.conf bién usando la copia integra que tenemos o bien editando y buscando el error ojo ya no sirve poner ftp://localhost ya que por defecto iniciaríamos una conexión anónima hay que poner ftp://nomberusuario:contraseña@localhost o bien usar un cliente ftp como filezilla.
Mas cosas tal como hemos visto al entrar como usuarios del sistema tendremos acceso a otros directorios del sistema fuera de nuestro directorio personal. Si se deseamos recluir a los usuarios a poder utilizar su propio directorio personal, puede hacerse fácilmente con el parámetro chroot_local_user que habilitará la función de chroot() opcionalmente podemos usar los parámetros chroot_list_enable y chroot_list_file para establecer la lista de usuarios que quedarán excluidos de la función chroot().
Descomentamos la opción chroot_local_user=YES
Reiniciamos nuevamente el servidor VSFTPD ahora cuando nos conectemos veremos que no podemos salir del directorio home del usuario con el cual nos hemos conectado.
Reiniciamos nuevamente el servidor VSFTPD ahora cuando nos conectemos veremos que no podemos salir del directorio home del usuario con el cual nos hemos conectado
Con esta configuración es suficiente para funcionar en un pequeño grupo de personas, de todos modos tal como he comentado antes si aún te quedan ganas de experimentar muestro un copiar pegar de un foro de Suse linux en el cual un tal Alejandro Lopez hernandez explica bastante bien lo de los ficheros Chroot .
Recorte del Manual de Alejandro Lopez hernandez 20/03/2005 yo no lo he probado ya que la configuración que anteriormente hemos realizado me es suficiente.
chroot_list_enable=NO/YES
chroot_list_file=/etc/vsftpd.chroot_list Esta directiva habilita la función “chroot” o jaulas de vsftpd. Con “chroot_list_enable” establecida a “YES”, vsftpd entonces busca un archivo “chroot_list_file”, del cual su ubicación es espeficicada en la siguiente línea. Cualquier usuario que este listado en el archivo /etc/vsftpd.chroot_list es automaticamente “enjaulado” a su directorio home. Esto prohibe al usuario ir a un directorio fuera de su directorio home FTP. Esto es muy útil en entornos FTP compartidos o como una politica de privacidad y seguridad.
userlist_enable=NO/YES
userlist_deny=NO/YES La opción “userlist_enable” le indica a vsftpd si consultará o no consultará 2 archivos: vsftpd.ftpusers y vsftpd.user_list. Si está opción es establecida a “YES”, los 2 archivos funcionan como una lista de usuarios que estan autorizados a conectarse al servidor FTP. Sin embargo, cuando es usada en combinación con la opción “userlist_deny=YES”, los 2 archivos funcionan como una lista de usuarios que NO están autorizados a conectarse al servidor FTP. Esta opción es muy útil para negar completamente el acceso FTP a usuarios criticos del sistema como “root”, “apache” o “www”. Una muy buena capa de seguridad para tu servidor FTP.
5) Los archivos de configuración vsftpd.ftpusers y vsftpd.user_list
Estos dos archivos se enlazan dentro de las opciones “userlist_enable” y “userlist_deny” en el archivo de configuración /etc/vsftpd/vsftpd.conf. Cuando la opción “userlist_enable” es establecida a “YES”, estos 2 archivos funcionan como una lista de usuarios que estan autorizados a conectarse al servidor FTP. Sin embargo, cuando se combina con la opción “userlist_deny=YES” estos 2 archivos funcionan como una lista de usuarios que NO están autorizados a conectarse al servidor FTP. Cuando la opción “userlist_deny” es utilizada, la naturaleza de la denegacion de servicio FTP que un usuario prohibido recibe difiere dependiendo de en cual de los 2 archivos este listado.
Si un usuario esta listado en el archivo “vsftpd.user_list” y la opción “userlist_deny” está activada, a los usuarios ni siquiera se les preguntará por una contraseña cuando intenten conectarse al servidor FTP. Son rechazados desde el principio.
Si un usuario es listado dentro de el archivo “vsftpd.ftpusers” y la opción “userlist_deny” esta activada, a los usuarios se les preguntará por una contraseña, pero nunca podrán iniciar sesión.
Verificando el servidor Mysql:
Seguramente si hemos seguido los pasos de la instalación ye tendremos instalado Mysql client y Mysql server de todos modos por curiosidad vamos a describir como se realizaría en modo terminal.
Para instalar MySQL, ejecute el siguiente comando en un terminal teniendo el CD de la distribución Ubuntu en el lector de CD:
sudo apt-get install mysql-server mysql-client
Cuando se complete la instalación, el servidor MySQL deberá iniciarse automáticamente. Puede ejecutar la siguiente orden en la línea de órdenes de una terminal para comprobar si se está funcionando el servidor MySQL:
sudo netstat -tap | grep mysql.
Sudo es el prefijo que hay que añadir cuando no estamos en modo Root para poder realizar tareas administrativas SU=superusuario nos pedira la contraseña Root cada 1 orden su introducida si estamos en modo Root no es necesario.
Cuando ejecute este comando, deberá ver la siguiente línea o algo similar:
tcp 0 0 localhost.localdomain:mysql *:* LISTEN -
Si el servidor no se está ejecutando correctamente, puede teclear la siguiente orden para arrancarlo:
sudo /etc/init.d/mysql restart
La contraseña del administrador no está establecida de forma predeterminada. Una vez que haya instalado MySQL, lo primero que debe hacer es establecer la contraseña del administrador de MySQL. Para ello, ejecute las siguientes órdenes:
sudo mysqladmin -u root -h localhost password “contraseñadeseada” nota: la palabra password debe estar precedida de la contraseña que vamos ha introducir yo la primera vez pensé que había que sustituir la palabra password por la contraseña pero no.
para ingresar en modo Shell de Mysql hay que teclear posteriormente: mysql -u root -p teclear enter y nos pedirá el password de Mysql tecleamos el passwor y entraremos en la shell mostrada por el texto mysql> ahora ya estamos en modo comando para salir pulsar exit.
para crear una base de datos tecleamos en la shell mysqladmind -u root -p create “Nombre de la base de datos”
Anotaciones varias
Puede cambiar el archivo /etc/mysql/my.cnf para configurar las opciones básicas — archivo de registro, número de puerto, etc. Diríjase al archivo /etc/mysql/my.cnf para más detalles.
Notas finales:
Si este documento os ha sido de utilidad y en este momento tenéis conexión a Internet agradecería que bien por Mail a gestor@z84.es o bien usando el formulario_comentario on line me hagáis llegar vuestra dirección y si incluis vuestro correo cada vez que este documento sufra una modificación se os comunicará por Mail.
Seria un favor aunque sea manera telegráfica, tosca, anónima uséis el formulario_comentario aunque sea para decir “me llamo Pedro lo encuentro útil, muy útil, cutre, muy cutre etc…….”
El Mundo de Ubuntu en las Redes Sociales
Espero que esta publicación te haya gustado. Si tienes alguna duda, consulta o quieras complementar este post, no dudes en escribir en la zona de comentarios. También puedes visitar Facebook, Twitter, Google +, Linkedin, Instagram, Pinterest, restantes Redes Sociales y Feedly donde encontrarás información complementaria a este blog. COMPARTE EN!