Samba -> no hay manera!!
-
Grrrr
:rabieta:Mira que me he mirado tutoriales del samba, pero no consigo que se comporte como es debido!
pc linux (knoppix 3.3) <–-----> pc windows xp
En el pc linux:
Veamos, he creado 2 carpetas, una llamada 'accesototal' y otra llamada 'sololectura', para probar desde windows el funcionamiento de lectura/escritura y de solo lectura, pero el samba 'pasa' de mi. Además, está la carpeta home de cada usuario.En linux tengo definido SOLO al usuario knoppix.
En Samba tengo definido el usuario knoppix y el nobody (con sendas contraseñas que no voy a revelar :rolleyes: ), y puedo entrar con ambos. Con knoppix puedo leer/escribir en su home (en el pc de windows sale una carpeta knoppix y otra llamada home, que es la misma). El usuario nobody tiene tambien una carpeta nobody y otra home, pero como este usuario no existe en linux, pues no van estas carpetas a ningún sitio, que es el comportamiento esperado). Teóricamente, el usuario nobody es el 'invitado'.
He intentado configurar para entrar como nobody en todas las carpetas, pero el usuario NOBODY solo puede ver el arbol de directorios, mas no entrar en ninguno.
Así pues, desde pc windows se ven TODAS las carpetas ( la home, la del usuario, accesototal, sololectura), pero NO puedo entrar en accesototal y en sololectura. De hecho, si quito el acceso a home no puedo ni entrar desde el pc windows.
Lo que yo quiero es poder entrar con un usuario anónimo en accesototal y sololectura, y poder leer/escribir y leer respectivamente. También quiero poder especificar QUÉ USUARIO lee QUÉ carpeta.(Y por IP también, pero + adelante ).
Aquí va mi smb.conf para que lo mireis please. Está comentado porque así aprendo y veo qué hace cada cosa. Estaría bien que entre todos los completemos/arreglemos los errores que seguro cometí:
;
; ARCHIVO DE CONFIGURACION DE SAMBA
;
; Situado en /etc/samba/smb.conf
;
; Cualquier linea que empiece por ; (punto-y-coma) o por # (almohadilla)
; es un comentario y es ignorado.
;
; NOTA: Despues de modificar este archivo, deberías ejecutar el comando
; "testparm" para comprobar que no hay errores de sintaxis.
;
; root$ testparm
;
; Hecho todo lo anterior, solo resta reinicializar el daemon correspondiente
; a fin de que cargue los nuevos parámetros configurados.
;
; root$ /etc/init.d/samba restart (hay q esperar unos segundos para que los pcwin se re-conecten)
;; Este archivo se divide en 3 partes: Conf. general, Conf. local y compartir carpetas
;------------ Configuracion general de samba -------------
[global]
#Impresora/s
; #aqui indicamos el nombre del archivo que samba busca para compartir impresora/s
; printcap name = /etc/printcap
; #si aquí pone 'yes', se comparten una o mas impresoras (las indicadas antes)
; #si pone 'no, no se puede imprimir desde fuera del smb
; load printers = yes
;
; #Indica el modo de impresion
; printing = bsd
;
; #cuenta de invitado o anonima. Especifica el nombre del usuario anonimo
; guest account = nobody#Passwords
#indicamos si queremos passwords encriptados entre máquinas (Para WNT,WXP,W98->Si, W95->No)
encrypt passwords = true#las siguientes lineas especifican cosas internas de samba que paso de explicar pq ni las se XD
passwd program = /usr/bin/passwd %u
passwd chat = Enter\snew\sUNIX\spassword: %n\n Retype\snew\sUNIX\spassword: %n\n .
unix password sync = false#Identificacion del servidor
#Cadena de texto que identifica al servidor (ponemos lo que queramos)%h=nombre del host de la maquina samba // %v=version de samba
server string = Servidor %h (Samba %v)
#grupo de trabajo (tiene que ser el mismo en windows)
workgroup = MORDOR#especifica que hacer si no se encuentra un servidor WINS
'no' -> desativado
dns proxy = no
#nombre Netbios
netbios name = NILO#Configuracion interna
#tamaño max para los archivos internos de samba
max log size = 1000#Lugar donde el servidor samba busca asignar hostnames a direcciones IP de forma manual
name resolve order = lmhosts host wins bcast
#Especifica si importan MAY/min en los nombres de archivo
preserve case = yes
#Especifica como se tratan los archivos tipo 12345678.abc
#(no esta explicado como funciona)
short preserve case = yes#Otros
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=4096 SO_RCVBUF=4096
obey pam restrictions = yes
invalid users = root
syslog only = no
os level = 20
syslog = 0;;–---------- Configuracion local de samba (lo común para cada usuario) -------------
#Directorios home de cada usuario
[homes]
#Descripción del recurso para la gente que se conecte
comment = Home Directories
#Si 'browseable = yes', entonces los homes de cada usuario podrán ser compartidos
#browseable se aplica al recurso actual, en este caso 'homes'
browseable = yesPor defecto, los home directories son solo lectura. Cambia el siguiente parametro
a 'no' si quieres ser capaz de escribir en ellos
read only = no
#writable es similar (no hace falta usar read only y writable a la vez, basta con uno)
writable = yes; La mascara de creacion de archivos esta a 0700 por razones de seguridad. Es decir, al copiar archivos
; de win->linux, se crean con estos permisos (solo lect/escrit para el usuario, grupo=nada, otros=nada).
; Si quieres crear archivos con permisos de grupo=rw, pon el parametro a 0775.
create mask = 0700
;create mask = 0775; Lo mismo pero con los directorios. Esta a 0700 por defecto. If you want to
; Para crear permisos para el grupo, pon p.e. grupo=rw -> 0775.
directory mask = 0700#Establece las opciones de las impresoras
;[printers]; comment = All Printers
; browseable = no
; #indica el directorio temporal
; path = /tmp
; #indica si es posible imprimir (yes) o no (no)
; printable = yes
; #indica si puede acceder un usuario anonimo
; public = no
; writable = no
; create mode = 0700;–---------- Compartir carpetas del servidor ------------------------
;Ahora ponemos los directorios compartidos
;carpeta con acceso total
; Si quieres que en una carpeta se tenga acceso total, tienes que darle los permisos maximos
; para que funcione bien.En este caso solamente tengo la carpeta "accesototal". para que vaya bien,
; hay que hacer esto: (con el "777" le damos permiso a todo el mundo)
;
; root$ chmod 777 /mnt/hdb1/samba/accesototal
;(nota: esto se puede hacer desde el konqueror mirando las propiedades de la carpeta)[accesott]
comment = AccesoTotal
path = /mnt/hdb1/samba/accesototal
browseable = yes
;writable = yes
create mask = 0777
directory mask = 0775
guest ok = yes
share modes = yes
printable = no
public = yes
read only = no
;copy = dos;carpeta de solo lectura
[sololec]
comment = SoloLectura
path = /mnt/hdb1/samba/sololectura
browseable = yes
writable = no
create mask = 0700
directory mask = 0700
guest ok = yes
share modes = no
printable = no
public = yes
read only = yesHe editado tanto el smb.conf a mano como usado el Webmin. He seguido las indicaciones del manual del foro para instalar un server (he hecho chmod 777 nombrecarpeta) donde tocaba.
HELP! -
¡¡HELP!! :nono:
-
Ya se lo que pasa!
El problema es mi segundo disco duro, que se me ha rebelado. Si pongo una carpeta en el disco duro ppal, el samba va de PM!Pero, desde hace unos días, el disco duro que tengo en hdb1 ha decidido ponerse a funcionar en modo 'solo lectura'. Es decir, pasa olimpicamente de mi cuando quiero escribir/leer en él, aun siendo root.
La línea en el fstab es:
/dev/hdb1 mnt/hdb1 vfat users,exec,umask=000,uid=knoppix,gid=knoppix 0 0
Lo cachondo es que, nada más arrancar linux, puedo entrar y crear un directorio, y borrarlo, pero entonces el disco decide que ya ha currado lo suficiente, y ya no puede hacer nada más. Puedo leer pero ya no escribir.
Una ayuditaaaa
-
/dev/hdb1 mnt/hdb1 vfat users,exec,umask=0,rw,uid=knoppix,gid=knoppix 0 0
yo siempre pongo umask=0, y el rw es de la pagina man del mount sirve para montar como lectura escritura
-
Lo de rw lo probe ya, pero lo de umask 0 no. Vamos a ello.
Gracias por contestar!!
-
Ya está solucionado!!
He formateado el disco a ext2. A tomar por culo!! (no funcionó lo de umask ni lo de rw ni na de na)
Ale!Ahora, si os apetece, podeis corregirme los comentarios del smb.conf para que entre todos aprendamos un poco much. :sisi: