Tenho o Raspberry Pi executando o RaspBMC com um WD MyBook conectado usando USB. A unidade é montada automaticamente em /media/My Book
. Criei uma pasta /media/My Book/downloads
e configurei o diretório de download do Trasmission como sendo /media/My Book/downloads
.
Quando tento baixar um arquivo, a Transmission diz
Error: Permission denied (/media/My Book/downloads/The.Simpsons.S24E09.720p.HDTV.X264-DIMENSION [PublicHD]/The.Simpsons.S24E09.720p.HD
ls -la me dá
drwx------ 1 pi 0 Dec 15 16:24 downloads
Então, acho que o problema é que a transmissão é executada sob um usuário diferente pi
e não pode gravar na pasta. No entanto, quando executo
chmod 777 downloads -R
as operações são bem-sucedidas sem nenhum erro, mas as permissões não são alteradas, elas permanecem 700 apenas para o proprietário.
O que estou fazendo de errado e como posso ativar o Transmission para gravar nesse diretório?
fonte
root
está errado. Fazer umchmod 777
está errado. Definir o grupo e o usuário corretos é a única maneira correta.pi
para outra coisa. No entanto, quando o façols -al
, meus arquivos ainda estão em umpi
grupo. Com as instruções acima, devo alterar todas as instânciaspi
para o meu novo nome de usuário ou alguma referência ao grupo que ainda estápi
? Essas instruções não funcionam quando eu mudei todaspi
para o meu nome de usuário.O problema era a maneira como o disco USB era automontado. Montei-o manualmente com o mount -t ntfs-3g e ele começou a funcionar.
fonte
sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /media/HDD/
é 0777 e a transmissão funciona perfeitamente, muito estranha.exfat defaults,auto,umask=000,users,rw 0 0
, eu mudei para montar compi
IDs de usuárioexfat defaults,uid=1000,gid=1000 0 0
e funcionou. Verifique esta resposta do AskUbuntu: Problema de propriedade / permissão com automounting exfat driveEu não sou especialista em Linux, mas você pode tentar isso, pode funcionar. A maior parte dessas informações veio de http://www.superfecta.ca/?p=44
mudança
para
Eu sei que rodar como root é um grande linux, não, não (não tenho certeza se isso conta como rodar em root), mas funcionou para mim, então estou bem com isso. Você poderia tentar,
USER=pi
mas eu não tenho amor lá, então eu fiquei com raizfonte
ls -l
dirá quem é o proprietário) ou modificar o arquivo / etc / fstab para mostrar um proprietário diferente (por exemplo, debian- transmissão).Acredito que seu problema é que o seu pendrive USB está formatado como NFTS ou FAT, sistemas de arquivos que não suportam as permissões por usuário / grupo. A solução é reformatar como ext4. Se você fizer isso, também terá muito menos atraso se estiver usando o Pi como um media center. Os drivers para o Pi são muito mais rápidos quando você usa o ext4.
fonte
Nenhuma das respostas aqui funcionou para mim, por isso estou escrevendo uma nova referenciando https://pimylifeup.com/raspberry-pi-torrentbox/, que funcionou muito bem para mim e me permitiu executar a transmissão como
pi
usuário para acessar minha unidade USB. Isso não está respondendo diretamente ao OP, mas essa pergunta é muito popular (primeiro resultado do Google) para esse tipo de problema, então coloquei aqui.Entrar:
e encontre
USER
na parte superior do arquivo e mude para:Então, precisamos de
chown
alguns arquivos em nosso escopo de permissões:E então execute (isso é realmente importante, caso contrário, o daemon do serviço será executado apenas como
debian-transmission
)e encontre
user
lá e mude para:e recarregar a unidade de serviço
E, finalmente, precisamos vincular nosso arquivo de configurações ao diretório inicial pi e conceder permissões:
E, em seguida, inicie a transmissão novamente:
e pronto. Agora deve funcionar.
fonte
Eu acho que uma das principais coisas que as pessoas estão ignorando é que você deve montar sua unidade USB / externa na pasta / mnt / myUsbDrive, e NÃO em / media / pi / myUsbDrive.
Eu tentei todas as respostas dadas nesta discussão (incluindo raiz) de centenas de maneiras diferentes, com opções diferentes e não consegui obter transmissão para salvar na minha unidade SSD USB. Então, ao ler algo diferente, foi mencionado que não seria montado em / media / pi, pois os daemons ou outros grupos podem não ter acesso. Portanto, montei a unidade USB em / mnt / usb_disk, defina os caminhos em /etc/transmission-daemon/settings.json como / mnt / usb_disk / downloads e a transmissão começa a ser salva no disco.
Para sua informação, eu tenho user = pi em /etc/init.d/transmission-daemon.
Para sua informação, mudei o proprietário de / mnt / usb_disk / downloads para pi e o grupo para transmissão-debian com 777 permissões.
fonte
onde / downloads é o diretório em que você deseja que seus downloads estejam (ou local de montagem).
isso é mais seguro do que usar root.
isso concede ao usuário 'direitos de transmissão debian' a pasta
fonte
Encontrei a mesma solução que Igor e puigcerber. Minha unidade foi configurada para montagem automática, então editei meu fstab para remover a montagem automática e usei
sudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/*mymountpoint/
fonte
Enquanto a resposta da biketire está correta, o debian mudou para systemd recentemente e você deve alterar o usuário agora aqui
sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service
e verifique se na seção
você tem a linha
fonte
Solução:
Depois de muita leitura e frustração.
Antes de tudo, verifique se o usuário normal tem acesso de leitura e gravação à unidade USB. A correção 'não raiz' correta para ter acesso de gravação à unidade USB é:
Etapa 1: parar o daemon de transmissão
sudo service transmission-daemon stop
Etapa 2: adicionar pi ao grupo de transmissão debian
sudo usermod -a -G debian-transmission pi
Etapa 3: alterando o daemon-user
sudo nano /etc/init.d/transmission-daemon
Altere USER para pi.
sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service
Altere USER para pi.
Etapa 4: alterar os direitos da pasta dos arquivos de configuração
sudo chown -R pi /var/lib/transmission-daemon/info/ sudo chmod 755 /var/lib/transmission-daemon/info/settings.json
Etapa 5: defina as permissões corretas para as pastas de download / incompletas
sudo chown -R pi /somewhere/downloads sudo chown -R pi /somewhere/incomplete
Etapa 6: iniciar o daemon de transmissão
sudo service transmission-daemon start
fonte
Eu descobri que o sistema de arquivos era o problema para mim. Felizmente, era um novo disco rígido USB, por isso não foi um problema para formatá-lo.
Formatei o disco rígido pela primeira vez para ext4
Então eu montei o disco rígido USB
Depois de montado, mudei o grupo do disco rígido para
debian-
Finalmente, adicionei o usuário pi ao grupo de transmissão debian e funcionou muito bem para o meu caso de uso.
fonte
Depois de alterar o usuário do servidor de transmissão para root, o problema de permissões acaba com um compartilhamento usb ou smb.
sudo nano /etc/init.d/transmission-daemon
altere a linha do usuário para:
USER = raiz
fonte
O problema está relacionado ao FAT não reconhecer vários usuários.
Se você usar uma linha no seu arquivo fstab como / dev / [your dev] / mnt / usb1 padrões vfat, uid = 65534, gid = 65534, dmask = 000, fmask = 111 0 0
ele deve montar seu sistema de arquivos com pastas 777 e arquivos como 666 pertencentes a "nobody" pertencentes a "nogroup"
você precisará remontar (ou reiniciar) para que as alterações sejam vistas.
fonte
Finalmente encontrei uma solução funcional.
Desliguei os dispositivos removíveis de compartilhamento automático nas configurações XBIAN e adicionei o disco ao shares.conf manualmente
Apenas adicioná-lo ao shares.conf não é suficiente, o compartilhamento automático deve ser desativado.
fonte
Eu tive um problema de permissões semelhante.
Tentei seguir cegamente a solução da sabi e descobri que ela não funcionava. Não apenas isso, mas acredito que é um pouco exagerado.
Na minha situação, simplesmente ignorei o fato de que o daemon de transmissão estava sendo executado como usuário: debian-transmission .
Portanto, para conceder permissão para o daemon de transmissão gravar em uma pasta ( nome_da_pasta ), basta executar os seguintes comandos:
Isso pressupõe, é claro, que você tenha configurado o settings.json já
fonte
O chmod 777 deve conceder a todos os usuários todas as permissões para um arquivo ou diretório. Se isso não funcionar, é provável que o usuário que executa esse comando chmod não possua o diretório ou arquivo. Por exemplo, se o root possui / media / My Book / e o usuário pi não poderá alterar as permissões desse arquivo. Os três números que você passa para o comando chmod afetam o proprietário, o grupo e todos os outros nessa ordem. Portanto, as configurações mais comuns para um diretório são "chmod 755 somedirectory". Isso significa que o proprietário pode ler, gravar e mudar para o diretório, mas o grupo e todos os outros só podem ler arquivos e mudar para o diretório.
fonte