Discussion:
configuración de permisos predeterminados (umask) para nuevos usuarios.
Fran Torres
2018-11-11 19:48:52 UTC
Permalink
Buenas,

estoy tratando de configurar un servidor FTP con varios usuarios (sí,
ya lo sé, es lo más inseguro que existe pero, cumple con las
necesidades para lo que se le necesita).

Ahora, me encuentro que, a la hora de crear los usuarios con
useradd, todos cogen los permisos 022 (644/755) que son los
predeterminados de linux. Pero, no quiero utilizar esos permisos si
no, predeterminar otros:
047/057 (740/750 si no me equivoco).
(RWX/R--/---//RWX/RX/---)
de modo que los usuarios nuevos puedan leer, escribir y ejecutar
(propietario), leer (no escribir y no ejecutar grupo), y nada el
resto. (fichero).
Leer, escribir, ejecutar (propietario), leer y ejecutar (grupo), nada
el resto (directorios); sin tener que modificar yo los permisos a
mano.

Leyendo por google, dicen que hay que modificar el fichero
/etc/profile pero, este es un script que llama a otros ficheros por lo
que, aparentemente no me vale.
También mencionan la modificación de los ficheros /etc/bash.bashrc
pero, me da a mi que tampoco. Y lo mismo con /.bashrc pero, este es
para el usuario actual. por tanto, me vale menos.

lo que he hecho, ha sido aprovechar el grupo ftp que viene con el
sistema, y modificar /etc/default/useradd de la siguiente forma:

home: /srv/ftp
group: 1001 #gid del grupo ftp.
shell: /bin/ghost #shell fantasma

En la carpeta /srv, tengo creado el directorio ftp y, le tengo los permisos:
rwx/r-s/--- (2770). de modo que, todo lo que se cree dentro, coja los
permisos del grupo ftp. que son: rwx/r-x/---).
Y para los ficheros quiero que sea: RWX/R--/---
Lo suyo es, que en el ftp una vez operativo, todo dios pueda crear
directorios y ficheros, pero no borrarlos, salvo los suyos propios. Y
a la vez, el resto pueda acceder a los ficheros y directorios de
todos. NO se si me explico.
Y la idea, es hacerlo sin necesidad de ir usuario por usuario.
Los usuarios los creo de la siguiente forma:
useradd -g ftp -d /srv/ftp -c comentario nombre
passwd nombre

Alguna idea?

Fran.
j***@escomposlinux.org
2018-11-11 20:17:08 UTC
Permalink
Post by Fran Torres
Buenas,
estoy tratando de configurar un servidor FTP con varios usuarios (sí,
ya lo sé, es lo más inseguro que existe pero, cumple con las
necesidades para lo que se le necesita).
Ahora, me encuentro que, a la hora de crear los usuarios con
useradd, todos cogen los permisos 022 (644/755) que son los
predeterminados de linux. Pero, no quiero utilizar esos permisos si
047/057 (740/750 si no me equivoco).
(RWX/R--/---//RWX/RX/---)
de modo que los usuarios nuevos puedan leer, escribir y ejecutar
(propietario), leer (no escribir y no ejecutar grupo), y nada el
resto. (fichero).
Leer, escribir, ejecutar (propietario), leer y ejecutar (grupo), nada
el resto (directorios); sin tener que modificar yo los permisos a
mano.
Leyendo por google, dicen que hay que modificar el fichero
/etc/profile pero, este es un script que llama a otros ficheros por lo
que, aparentemente no me vale.
También mencionan la modificación de los ficheros /etc/bash.bashrc
pero, me da a mi que tampoco. Y lo mismo con /.bashrc pero, este es
para el usuario actual. por tanto, me vale menos.
Si, si que vale. Habría que añadir una línea con "umask xxx" en esos
archivos para que los permisos por defecto al crear un achivo sean los
que te interesen. Lo puedes ver muy bien explicado aquí:

https://wiki.archlinux.org/index.php/Umask_(Espa%C3%B1ol)
Post by Fran Torres
lo que he hecho, ha sido aprovechar el grupo ftp que viene con el
home: /srv/ftp
group: 1001 #gid del grupo ftp.
shell: /bin/ghost #shell fantasma
rwx/r-s/--- (2770). de modo que, todo lo que se cree dentro, coja los
permisos del grupo ftp. que son: rwx/r-x/---).
Y para los ficheros quiero que sea: RWX/R--/---
Lo suyo es, que en el ftp una vez operativo, todo dios pueda crear
directorios y ficheros, pero no borrarlos, salvo los suyos propios. Y
a la vez, el resto pueda acceder a los ficheros y directorios de
todos. NO se si me explico.
Ok.
Post by Fran Torres
Y la idea, es hacerlo sin necesidad de ir usuario por usuario.
useradd -g ftp -d /srv/ftp -c comentario nombre
passwd nombre
Alguna idea?
Si, puedes configurar el comando useradd para que al crear los usuarios
el "umask" sea el que te interese.

Si haces un man useradd verás que es configurable y podrás definir los
permisos por defecto de todos los archivos que un usuario crea. Busca
UMASK en el man useradd.

Un saludo

JulHer
Post by Fran Torres
Fran.
Fran Torres
2018-11-11 22:04:09 UTC
Permalink
Buenas,

julher, estoy haciendo lo que me dices, de modificar /etc/login.defs
pero, hay dos líneas que no entiendo y que, no sé si pueden afectar a
la de UMASK, ya que están en su misma sección.

ERASECHAR 017
KILLCHAR 025
UMASK 022

La última la entiendo pero, las otras 2 no.
Por otro lado, me dices que a /etc/profile puedo agregarle la línea
umask xxx. Pero... en que parte de todos los ifs que contiene?

Fran.
Post by j***@escomposlinux.org
Post by Fran Torres
Buenas,
estoy tratando de configurar un servidor FTP con varios usuarios (sí,
ya lo sé, es lo más inseguro que existe pero, cumple con las
necesidades para lo que se le necesita).
Ahora, me encuentro que, a la hora de crear los usuarios con
useradd, todos cogen los permisos 022 (644/755) que son los
predeterminados de linux. Pero, no quiero utilizar esos permisos si
047/057 (740/750 si no me equivoco).
(RWX/R--/---//RWX/RX/---)
de modo que los usuarios nuevos puedan leer, escribir y ejecutar
(propietario), leer (no escribir y no ejecutar grupo), y nada el
resto. (fichero).
Leer, escribir, ejecutar (propietario), leer y ejecutar (grupo), nada
el resto (directorios); sin tener que modificar yo los permisos a
mano.
Leyendo por google, dicen que hay que modificar el fichero
/etc/profile pero, este es un script que llama a otros ficheros por lo
que, aparentemente no me vale.
También mencionan la modificación de los ficheros /etc/bash.bashrc
pero, me da a mi que tampoco. Y lo mismo con /.bashrc pero, este es
para el usuario actual. por tanto, me vale menos.
Si, si que vale. Habría que añadir una línea con "umask xxx" en esos
archivos para que los permisos por defecto al crear un achivo sean los
https://wiki.archlinux.org/index.php/Umask_(Espa%C3%B1ol)
Post by Fran Torres
lo que he hecho, ha sido aprovechar el grupo ftp que viene con el
home: /srv/ftp
group: 1001 #gid del grupo ftp.
shell: /bin/ghost #shell fantasma
rwx/r-s/--- (2770). de modo que, todo lo que se cree dentro, coja los
permisos del grupo ftp. que son: rwx/r-x/---).
Y para los ficheros quiero que sea: RWX/R--/---
Lo suyo es, que en el ftp una vez operativo, todo dios pueda crear
directorios y ficheros, pero no borrarlos, salvo los suyos propios. Y
a la vez, el resto pueda acceder a los ficheros y directorios de
todos. NO se si me explico.
Ok.
Post by Fran Torres
Y la idea, es hacerlo sin necesidad de ir usuario por usuario.
useradd -g ftp -d /srv/ftp -c comentario nombre
passwd nombre
Alguna idea?
Si, puedes configurar el comando useradd para que al crear los usuarios
el "umask" sea el que te interese.
Si haces un man useradd verás que es configurable y podrás definir los
permisos por defecto de todos los archivos que un usuario crea. Busca
UMASK en el man useradd.
Un saludo
JulHer
Post by Fran Torres
Fran.
j***@escomposlinux.org
2018-11-11 23:04:37 UTC
Permalink
Post by Fran Torres
Buenas,
julher, estoy haciendo lo que me dices, de modificar /etc/login.defs
pero, hay dos líneas que no entiendo y que, no sé si pueden afectar a
la de UMASK, ya que están en su misma sección.
ERASECHAR 017
KILLCHAR 025
UMASK 022
Se trataría de cambiar ese valor de 022 por el que necesites tener, las
otras dos líneas son definiciones de códigos de teclas que no te
afectan y deberías no tocarlas.
Post by Fran Torres
La última la entiendo pero, las otras 2 no.
Por otro lado, me dices que a /etc/profile puedo agregarle la línea
umask xxx. Pero... en que parte de todos los ifs que contiene?
En ninguno, me explico, antes de todos o después de todos, o en
cualquier sitio siempre que no esté dentro de ningún "if". De todos
modos si lo cambias en el /etc/login.defs entiendo que no sería
necesario cambiar el /etc/profile.

Un saludo

JulHer
z***@gmail.com
2018-11-14 00:55:14 UTC
Permalink
estoy tratando de configurar un servidor FTP con varios usuarios (sí, ya lo sé,
es lo más inseguro que existe pero, cumple con las necesidades para lo que
se le necesita).
No sé si te servirá o aplicara a tu caso (omito el tema de los permisos que necesitas), *pero*:

Cuando tienes un servidor FTP con varios usuarios, "lo normal" es que cada uno tenga su propio home.
Al menos así lo entiendo yo.
Alguna idea?
Si, una idea sería usar usuarios "virtuales" con autenticación.

Por ejemplo, si usas vsftpd, sería algo así (va lo relevante):

guest_username=ftp # todos los usuario se conectan "en realidad" con este usuario local.
local_enable=YES
chroot_local_user=YES # los enjaulas a cada uno en su propio $HOME.
local_root=/dir/ftp/$USER # el usuario "usuarioFTP1" solo va a poder acceder, leer, escribir ,etc solo y solo en: /dir/ftp/usuarioFTP1 (y no va a poder subir de directorio por el chroot)

Luego asignas permisos 700 (o incluso 755) recursivo a /dir/ftp/$USER con propietario y grupo ftp. Siempre usuario real "ftp"

i.e.:
drwxr-xr-x 9 ftp ftp 4096 Jul 4 08:43 .
Fran.
Por último, dejo un enlace desde el cual más o menos te puedes valer para hacer lo que digo: https://www.rosehosting.com/blog/easy-ftp-vsftpd-server-with-virtual-users-on-debian-8-jessie/

Saludos
z***@gmail.com
2018-11-14 18:46:40 UTC
Permalink
Post by Fran Torres
Buenas,
Buenas, reenvío a la lista.
Post by Fran Torres
Gracias. De todas formas, ya está solucionado. No, no me interesaba que
cada usuario tubiera su propio home; si no que, compartiesen todos un solo
/srv/ftp.
la carpeta ftp, pertenece al grupo ftp, con permisos 2770 (rwxrwxs---).
y de paso se le ha añadido el stickibit (rwxrwxs-wxt).
d-rwxrws-wt.
Para lo del umask, he editado el fichero (/etc/login.defs), como sugirieron
por aquí.
Y como servidor ftp, estoy usando proftpd; para que coja los usuarios, lo
tengo configurado para que los coja del fichero /etc/passwd Como dige
anteriormente en el primer mail, el fichero /etc/default/useradd está
también editado, de modo que los usuarios por defecto tengan los siguientes
home: /srv/ftp
shell: /bin/ghost (shell que obviamente me he sacado de la patilla y no vale
para nada)
group: 1001
Me alegro que hayas podido solucionarlo.

Pienso que cuando tienes que "meter tanta mano" o modificar tantos archivos del s.o. (que por lo general muy poco frecuente se modifican) para levantar un servicio, puede que algo no ande bien o no estés usando la solución/software adecuado.

Tu necesidad/caso aplica más a un servidor de archivos y no a un FTP.
Como quiera que sea, si lo pudiste resolver y funciona, no hay más que decir.

Un saludo
Galvatorix Torixgalva
2018-11-14 18:58:53 UTC
Permalink
Hola,

una cosilla... has pensado en usar owncloud?. Puede que te sirva.

P. D: juro que se me acaba de ocurrir hace 5 minutos

Saludos
Fran Torres
2018-11-14 22:17:42 UTC
Permalink
Buenas,

NO, no he querido usar owncloud, pues más o menos quise basarme en lo
que hemos estudiado en clase y owncloud a parte que no lo hemos tocado
(y dudo que lo hagamos), no es accesible.

Fran.
Post by Galvatorix Torixgalva
Hola,
una cosilla... has pensado en usar owncloud?. Puede que te sirva.
P. D: juro que se me acaba de ocurrir hace 5 minutos
Saludos
Loading...