Hola David,
Gracias por responder.

Se me olvido escribir qué mi sistema (Debian squeeze) está configurado para que
los comandos ejecutados con sudo no hereden la umask de la shell y usen
la que está establecida por defecto en el sistema a través de PAM.

Además revise el manual de sudo y el de sudoers, y efectivamente se
puede establecer la umask de sudo, pero si el sistema usa PAM se
sobreescribe la configuración de sudoers

Sin embargo, tanto en sudoers como en PAM la umask por defecto es 0022,
mientras que la mía es 0077, de hecho esta es la salida de los comandos
que me pediste que probara:

,----
|   $ umask
|    0077
|   $ touch testfile0
|   $ ls -l testfile0
|   -rw------- 1 sergio sergio 0 mar  2 17:05 testfile0
|
|   $ umask 777
|   $ sudo touch testfile1
|   $ ls -l testfile1
|   -rw-r--r-- 1 root root 0 mar  2 17:09 testfile1
|   
|   $ touch testfile2
|   $ ls -l testfile2
|   ---------- 1 sergio sergio 0 mar  2 17:13 testfile2
`----


Por lo que creo que TRAMP debería respetar este comportamiento, a no ser que 
haya
una buena razón para que no sea así.

-- Sergio

David Vázquez <[email protected]> writes:
> Hola Sergio,
>
> Es cierto lo que cuentas y que podría ser un problema de seguridad,
> pero, no es culpa de TRAMP.  Prueba a escribir en tu terminal:
>
> umask 777
> sudo touch testfile
> ls -l testfile
>
> La umask es un atributo asociado a cada proceso. El comando sudo lo
> hereda de la shell y este lo propaga hacia el comando a ejecutar. Por
> tanto la seguridad aquí recae sobre que el usuario haga bien las cosas.
>
> Busca en el manual de sudo, probablemente tendrá alguna opción para
> especificar la umask.
>
> David.
>
>
> Sergio Martínez <[email protected]> writes:
>
>> ¡Hola a todos!
>>
>> Aunque está algo abandonada la lista a ver si con esto se
>> activa un poco. :-)
>>
>> Les cuento que es lo que me pasa:
>>
>> He notado que cuando se crea un nuevo archivo con el método sudo o su de
>> TRAMP, este se crea con los permisos por defecto de mi usuario (en este
>> caso 0600) es decir se toma la umask que establece mi usuario (0077) en
>> lugar de la umask de root (0022).
>>
>> Para más corto cuando se crean archivos con el método sudo TRAMP, estos
>> se crean tomando la umask establecida por la shell que ejecuta emacs, en
>> lugar de tomar la umask del usuario root.
>>
>> Quizás algunos no hayan notado esto, porque su umask es igual a la de
>> root, pero creo que si se tiene una umask mas permisiva que la de root
>> esto implicaría un hoyo de seguridad.
>>
>> En mi caso esto no es así, pues de hecho mi umask es más restrictiva que
>> la de root. Pero también tiene sus implicaciones negativas: por ejemplo
>> si creo un nuevo archivo de configuración del sistema, el archivo no
>> puede ser leído por otro usuario que no sea root, por lo tanto si se
>> ejecuta un programa como usuario normal y este lee su configuración o
>> parte de ella en ese archivo en el mejor de los casos el programa
>> fallará y nos lo hará saber, para luego hacer un chmod 644 al supuesto
>> archivo, pero si no nos lo dice tendremos que indagar por qué no toma la
>> configuración del infame archivo.
>>
>> Bueno como no estoy seguro si esto es un bug en TRAMP, primero quisiera
>> saber qué opinan otros usuarios de emacs al respecto, o si esto ya se ha
>> reportado en algún lado más.
>>
>>
>> --- Gracias y Saludos!!

_______________________________________________
Emacs-es mailing list
[email protected]
http://es.gnu.org/cgi-bin/mailman/listinfo/emacs-es

Responder a