¿Cómo cambiar los permisos predeterminados de los archivos creados por transmission-daemon?


25

Tengo una máquina que ejecuta el servidor Ubuntu 12.04 con transmisión-daemon ejecutándose para manejar bitorrents. Todo funciona bien, excepto que el demonio de transmisión crea archivos como usuario / grupo debian-transmission, y con 744 permisos de archivo.

  • Me gustaría poder eliminar y mover estos archivos desde un recurso compartido de samba.

  • Pensé en cambiar el grupo primario de la transmisión de Debian del usuario, pero me preocupaba que eso pudiera arruinar el acceso a otros archivos.

  • Pensé que sería mejor cambiar el permiso predeterminado de los nuevos archivos creados por debian-transmission a 774, y agregarme al grupo debian-transmission.

    Sé que esto se puede hacer con una umask, pero entiendo que esto se establecería en el archivo .profile y dado que la transmisión debian no tiene una carpeta de inicio, no estoy seguro de si ese archivo existe para el usuario. Entonces, ¿cómo puedo lograr esto?

    Sugerencias o soluciones alternativas son bienvenidas. Gracias por adelantado.


Hice eso en Crystalubuntu, ahora recibo un error al iniciar la transmisión: "no se puede establecer gid en 113 (Operación no permitida)". ¿Alguna idea?

Terminé con la siguiente entrada crontab <pre> #! / Bin / sh trap "" 1 logfile = / dev / null exec> $ logfile 2> & 1 set -x mientras es verdadero; do a = "$ (inotifywait -q -r -e move -e create -e delete / data / completedownloads / Movies --format% w% f)" chown -R nobody: nobody "$ a" done </pre>

Respuestas:


46

Puede especificar una umask en el archivo de configuración de la transmisión ( /etc/transmission-daemon/settings.json). Umask normalmente representamos en octal, pero desafortunadamente, json no es compatible con eso, por lo que tenemos que convertirlo a base 10. Puede hacer esto en el shell de esta manera:

$ echo $(( 8#022 ))
18

Ese es el valor predeterminado, pero probablemente desee 002, que es el mismo en decimal, así que

sudo editor /etc/transmission-daemon/settings.json
# change "umask": 18 to "umask": 2 and save
sudo reload transmission-daemon # tells transmission-daemon to re-read the config 
                                # file. This is important, otherwise, the changes
                                # will be lost

Otra cosa. Si cambia la propiedad del grupo del directorio de descarga y agrega el bit setgid, todos los archivos creados en ese directorio tendrán la misma propiedad del grupo que ese directorio.

sudo chgrp "$USER" /path/to/transmission/download/dir
sudo chmod g+s /path/to/transmission/download/dir

No afectará a los archivos que ya existen. Ver http://mywiki.wooledge.org/Permissions para más información.


Exactamente lo que necesitaba. Gracias por incluir la información de bit setgid, me olvidé de esos bits adicionales.
— jpetersen

Creo que estoy haciendo algo mal. Quiero establecer los permisos como chmod 775, así que intenté con ese comando echo $ ((8 # 775)) y obtuve 509, pero parece que esto simplemente rompió el demonio de transmisión ya que no descargará más archivos torrent.
— Fran Marzoa

3
@Fran Si configura la umask en 0775, los archivos obtendrán el modo 002; La máscara especifica qué bits NO establecer en nuevos archivos. Desea la umask predeterminada (002) aquí, para que los archivos se creen con el modo 664 y los directorios con el modo 775.
— geirha

Oh! Ya me di cuenta de que tenía que poner 002, ¡pero no sabía por qué! ¡Un millón de gracias por la aclaración! :)
— Fran Marzoa

Era lo chmod g+sque me faltaba. ¡Gracias!
— Flith

0

Prueba esto:

mkdir /your_path/progress
mkdir /your_path/completed
sudo usermod -a -G debian-transmission your_user
chgrp debian-transmission /your_path/progress
chgrp debian-transmission /your_path/completed
chmod 770 /your_path/progress
chmod 770 /your_path/completed
sudo service transmission-daemon stop
sudo adduser your_user debian-transmission
sudo nano /etc/init.d/transmission-daemon
sudo chown your_user -R /var/lib/transmission-daemon/info/
sudo chown your_user -R /your_path/progress
sudo chown your_user -R /your_path/completed
sudo chown your_user -R /etc/transmission-daemon/settings.json

Y cambie en el archivo: sudo nano /etc/transmission-daemon/settings.json

"rpc-whitelist": "127.0.0.1" > "rpc-whitelist": "*.*.*.*",
"rpc-password": "password" > "rpc-password": "your_password",
"download-dir": "/var/lib/transmission-daemon/downloads" > "download-dir": "/your_path/completed"
"incomplete-dir": "/var/lib/transmission-daemon/downloads" > "incomplete-dir": "/your_path/progress"

Simplemente reinicia el demonio:

service transmission-daemon start
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.