Tengo Raspberry Pi ejecutando RaspBMC con un WD MyBook conectado mediante USB. La unidad se monta automáticamente en /media/My Book
. He creado una carpeta /media/My Book/downloads
y he configurado el directorio de descarga de Trasmission /media/My Book/downloads
.
Cuando intento descargar un archivo, Transmission dice
Error: Permission denied (/media/My Book/downloads/The.Simpsons.S24E09.720p.HDTV.X264-DIMENSION [PublicHD]/The.Simpsons.S24E09.720p.HD
ls -la me da
drwx------ 1 pi 0 Dec 15 16:24 downloads
Así que supongo que el problema es que la transmisión se ejecuta con un usuario diferente pi
y no puede escribir en la carpeta. Sin embargo cuando ejecuto
chmod 777 downloads -R
las operaciones tienen éxito sin ningún error pero los permisos no cambian, permanecen 700 solo para el propietario.
¿Qué estoy haciendo mal y cómo puedo habilitar la transmisión para escribir en ese directorio?
fuente
root
está mal. Hacer achmod 777
está mal. Establecer el grupo y el usuario correctos es la única forma correcta.pi
a algo más. Sin embargo, cuando lo hagols -al
, parece que mis archivos todavía están en unpi
grupo. Con las instrucciones anteriores, ¿debería cambiar cada instancia depi
mi nuevo nombre de usuario, o hacer alguna referencia al grupo que todavía estápi
? Estas instrucciones no funcionan cuando cambiépi
mi nombre de usuario.El problema era la forma en que se automatizó el disco USB. Lo monté manualmente con mount -t ntfs-3g y comenzó a funcionar.
fuente
sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /media/HDD/
ellos son 0777 y la transmisión funciona perfectamente, realmente extraño.exfat defaults,auto,umask=000,users,rw 0 0
, cambié eso para montar conpi
ID de usuarioexfat defaults,uid=1000,gid=1000 0 0
y funcionó. Compruebe esta respuesta de AskUbuntu: problema de propiedad / permiso con el montaje automático de la unidadNo soy un experto en Linux, pero podrías probar esto, podría funcionar. La mayor parte de esta información proviene de http://www.superfecta.ca/?p=44
cambio
a
Sé que correr como root es un gran linux no no (no estoy seguro si eso cuenta como correr en root) pero funcionó para mí, así que estoy bien con eso. Podrías intentarlo,
USER=pi
pero no tengo amor allí, así que me quedé con la raízfuente
ls -l
le dirá quién es el propietario) o modificar el archivo / etc / fstab para mostrar un propietario diferente (es decir, debian- transmisión).Creo que su problema es que su memoria USB está formateada como NFTS o FAT, sistemas de archivos que no admiten los permisos por usuario / grupo. La solución es formatear como ext4. Si hace eso, también tendrá mucho menos retraso si está utilizando su Pi como centro de medios. Los controladores para el Pi son mucho más rápidos cuando usa ext4.
fuente
Ninguna de las respuestas aquí funcionó para mí, así que estoy escribiendo una nueva que hace referencia a https://pimylifeup.com/raspberry-pi-torrentbox/ que funcionó muy bien para mí y me permitió ejecutar la transmisión como
pi
usuario para acceder a mi unidad USB. Esto no responde directamente al OP, pero esta pregunta es muy popular (primer resultado de Google) para este tipo de problema, así que lo puse aquí.Entrar:
y encontrar
USER
en la parte superior del archivo y cambiar a:Luego necesitamos
chown
algunos archivos en nuestro alcance de permisos:Y luego ejecutar (esto es realmente importante, de lo contrario el demonio del servicio simplemente se ejecutará como
debian-transmission
)y encontrar
user
allí y cambiar a:y la recarga de la unidad de servicio
Y finalmente necesitamos vincular nuestro archivo de configuración al directorio de inicio de pi y otorgarle permisos:
Y luego comience la transmisión nuevamente:
y tu estas listo. Ahora debería funcionar.
fuente
Creo que una de las principales cosas que la gente pasa por alto es que debe montar su unidad usb / externa en la carpeta / mnt / myUsbDrive, y NO en / media / pi / myUsbDrive.
Intenté cada respuesta dada en esta discusión (incluida la raíz) de cien maneras diferentes con diferentes opciones y no pude obtener la transmisión para guardar en mi unidad SSD USB. Luego, mientras leía algo diferente, se mencionó que no debía montarse en / media / pi ya que los demonios u otros grupos pueden no tener acceso. Así que monte la unidad USB en / mnt / usb_disk, configuro las rutas en /etc/transmission-daemon/settings.json en / mnt / usb_disk / downloads y la transmisión comienza a guardarse en el disco.
FYI, tengo user = pi en /etc/init.d/transmission-daemon.
FYI, cambié el propietario de / mnt / usb_disk / downloads a pi y group a debian-transmission con 777 permisos.
fuente
donde / downloads es el directorio en el que desea que estén sus descargas (o ubicación de montaje).
Esto es más seguro que usar root.
esto le da al 'usuario' los derechos de 'transmisión debian' sobre la carpeta
fuente
Encontré la misma solución que Igor y Puigcerber. Mi unidad estaba configurada para montaje automático, así que edité mi fstab para eliminar el montaje automático, luego usé
sudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/*mymountpoint/
fuente
Si bien la respuesta de biketire es correcta, Debian cambió a systemd recientemente y debe cambiar el usuario ahora aquí
sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service
y asegúrate de que en la sección
tienes la linea
fuente
Solución:
Después de mucha lectura y frustración.
En primer lugar, asegúrese de que el usuario normal tenga acceso de lectura y escritura a la unidad USB. La solución correcta 'no root' para tener acceso de escritura a la unidad USB es:
Paso 1: detener el demonio de transmisión
sudo service transmission-daemon stop
Paso 2: agregue pi al grupo de transmisión de Debian
sudo usermod -a -G debian-transmission pi
Paso 3: cambiar el usuario daemon
sudo nano /etc/init.d/transmission-daemon
Cambiar USUARIO a pi.
sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service
Cambiar USUARIO a pi.
Paso 4: cambie los derechos de la carpeta de archivos de configuración
sudo chown -R pi /var/lib/transmission-daemon/info/ sudo chmod 755 /var/lib/transmission-daemon/info/settings.json
Paso 5: establezca los permisos correctos para la descarga / carpetas incompletas
sudo chown -R pi /somewhere/downloads sudo chown -R pi /somewhere/incomplete
Paso 6: iniciar el demonio de transmisión
sudo service transmission-daemon start
fuente
Descubrí que el sistema de archivos era el problema para mí. Afortunadamente, era un nuevo disco duro USB, así que no fue un problema formatearlo.
Primero formateé el disco duro para ext4
Luego monté el disco duro usb
Una vez montado, cambié el grupo del disco duro a
debian-
Finalmente agregué el usuario pi al grupo de transmisión de Debian y funcionó muy bien para mi caso de uso.
fuente
Una vez que cambia el usuario de transmisión-daemon a root, el problema de permisos desaparece con un recurso compartido usb o smb.
sudo nano /etc/init.d/transmission-daemon
luego cambie la línea de usuario a:
USUARIO = root
fuente
El problema se relaciona con que FAT no reconoce a múltiples usuarios.
Si usa una línea en su archivo fstab como / dev / [your dev] / mnt / usb1 vfat por defecto, uid = 65534, gid = 65534, dmask = 000, fmask = 111 0 0
debería montar su sistema de archivos con carpetas 777 y archivos como 666 propiedad de "nobody" perteneciente a "nogroup"
deberá volver a montar (o reiniciar) para que se vean los cambios.
fuente
Finalmente encontré una solución de trabajo.
Dejé de compartir dispositivos extraíbles en la configuración XBIAN y agregué el disco a shares.conf a mano
Solo agregarlo a shares.conf no es suficiente, el uso compartido automático debe estar desactivado.
fuente
Tuve un problema de permisos similar.
Intenté seguir la solución de sabi a ciegas y descubrí que no funcionaba. No solo eso, sino que creo que es un poco exagerado.
En mi situación, simplemente pasé por alto el hecho de que el demonio de transmisión se estaba ejecutando como usuario: debian-transmission .
Por lo tanto, para otorgar permiso para la transmisión-demonio para escribir en una carpeta ( nombre_carpeta ), solo necesita hacer los siguientes comandos:
Esto es suponiendo por supuesto que ha configurado correctamente settings.json ya
fuente
chmod 777 debería otorgar a todos los usuarios todos los permisos para un archivo o directorio. Si eso no funciona, es probable que el usuario que ejecuta ese comando chmod no sea el propietario del directorio o archivo. Por ejemplo, si el usuario root posee / media / My Book / y el usuario pi no podrá cambiar los permisos de ese archivo. Los tres números que pasa al comando chmod afectan al propietario, al grupo y a todos los demás, en ese orden. Por lo tanto, la configuración más común para un directorio es "chmod 755 somedirectory". Eso significa que el propietario puede leer, escribir y cambiar en el directorio, pero el grupo y todos los demás solo pueden leer archivos y cambiar en el directorio.
fuente