Pregunta

¿SCP tiene problemas para configurar los permisos de archivo o he configurado mal mi servidor?

Actualizado (19 / Mar / 09) : En realidad: no hay ningún problema, solo he entendido mal la forma en que funcionan los permisos, no cambian cuando se cambia el contenido del archivo

Caso de uso:

Hay un archivo en un servidor que quiero editar llamado '' importantFile.txt ''. El archivo tiene el propietario y el grupo de "maestro":

ls -l importantFile.txt:
-rw-rw-r--  1 master master     7 Mar 18 08:11 importantFile.txt

Me llaman "esclavo" pero afortunadamente, estoy en el grupo "maestro" para poder editar el archivo como mejor me parezca. Sin embargo, soy un esclavo vago y no puedo molestarme en editar el archivo en el servidor, preferiría editar el archivo en mi máquina local y SCP al servidor:

echo "bored slave info" > importantFile.txt
scp importantFile.txt slave@theServerAddress:/pathToFile/importantFile.txt

Si hago esto, los contenidos del archivo en el servidor se cargan bien y la marca de tiempo del archivo se actualiza pero los permisos del archivo no cambian, el archivo sigue siendo propiedad de "maestro". Esto es un problema porque si '' esclavo '' subió contenido incorrecto, nadie sabría que era "esclavo" quién causó el problema, "maestro" parecería culpable.

¿Quizás tenga que configurar una umask? ¿si es así, donde? Intenté .bash_profile sin éxito y no encontré nada en Google sobre umask en / etc / ssh / sshd_config .

¿Fue útil?

Solución

Eso no tiene nada de especial con scp: intente iniciar sesión en el servidor como esclavo y edite el archivo con su editor de texto favorito ... Verá que se produce el mismo comportamiento ... Escribir en un archivo no lo convierte en el propietario del archivo.


Ejemplo:

como root

#cd /tmp
#mkdir fubar
#chgrp vboxusers fubar
#cd fubar/
#touch testfile
#chgrp vboxusers testfile 
#chmod g+w . testfile
#ls -al
total 16
drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
-rw-rw-r--  1 root vboxusers     0 2009-03-19 10:30 testfile
#echo foo > testfile 
#ls -al
total 20
drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
-rw-rw-r--  1 root vboxusers     4 2009-03-19 10:30 testfile

como usuario (en el grupo vboxusers)

>cd /tmp/fubar
>ls -al
total 20
drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
-rw-rw-r--  1 root vboxusers     4 2009-03-19 10:30 testfile
>echo bar >> testfile 
>ls -al
total 20
drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:30 .
drwxrwxrwt 15 root root      12288 2009-03-19 10:29 ..
-rw-rw-r--  1 root vboxusers     8 2009-03-19 10:31 testfile
>vim testfile
>ls -al
total 20
drwxrwxr-x  2 root vboxusers  4096 2009-03-19 10:31 .
drwxrwxrwt 15 root root      12288 2009-03-19 10:31 ..
-rw-rw-r--  1 root vboxusers    12 2009-03-19 10:31 testfile
>cat testfile 
foo
bar
baz

Otros consejos

Debe eliminar el archivo para sobrescribirlo. Si puede hacerlo, depende de los permisos y la propiedad del directorio. El secuestro de la propiedad de un archivo ya existente no es posible. El permiso de escritura que tiene solo se aplica al contenido del archivo.

Parece que puede configurar cómo Emacs se ocupa de esto a través de la variable backup-by-copying-when-incompatch (consulte el Manual de Emacs o escriba Chv backup-by-copying-when -mismatch en Emacs).

Realmente presenté un informe de error sobre esto, porque pensé fue un error en Tramp.

Entendí mal la forma en que funcionan los archivos, la modificación del contenido del archivo no cambia la propiedad o el grupo.

¿Por qué la confusión? EMACS : cada vez que editaba un archivo que estaba usando Emacs y Emacs cambia el propietario y el grupo al usuario actual. Hace esto porque crea un archivo de copia de seguridad en el momento de guardar moviendo el " nombre de archivo " a " nombre de archivo ~ " y creando un nuevo archivo llamado " nombre de archivo " - porque es un archivo nuevo, tiene los permisos de archivo de los usuarios actuales. ¿Supongo que esto es para los fanáticos de VI?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top