ट्रांसमिशन: USB डिस्क पर अनुमति अस्वीकृत


22

मेरे पास रास्पबेरी पाई है जो यूएसबी के उपयोग से जुड़े एक WD MyBook के साथ RaspBMC चल रहा है। ड्राइव स्वचालित रूप से मुहिम शुरू की है /media/My Book। मैंने एक फ़ोल्डर बनाया है /media/My Book/downloadsऔर मैंने Trasmission की डाउनलोड डायरेक्टरी को सेट किया है /media/My Book/downloads

जब मैं फ़ाइल डाउनलोड करने का प्रयास करता हूं, तो ट्रांसमिशन कहता है

Error: Permission denied (/media/My Book/downloads/The.Simpsons.S24E09.720p.HDTV.X264-DIMENSION [PublicHD]/The.Simpsons.S24E09.720p.HD

ls -ला मुझे देता है

drwx------ 1 pi       0 Dec 15 16:24 downloads 

इसलिए मुझे लगता है कि समस्या यह है कि ट्रांसमिशन अलग-अलग उपयोगकर्ता के अंतर्गत आता है piऔर फ़ोल्डर में नहीं लिख सकता है। हालांकि जब मैं निष्पादित करता हूं

chmod 777 downloads -R

संचालन बिना किसी त्रुटि के सफल होता है, लेकिन अनुमतियाँ नहीं बदलती हैं, वे केवल स्वामी के लिए 700 रहते हैं।

मैं क्या गलत कर रहा हूं और मैंने उस निर्देशिका को लिखने के लिए ट्रांसमिशन को कैसे सक्षम किया?

जवाबों:


19

बहुत पढ़ने और हताशा के बाद। सबसे पहले, सुनिश्चित करें कि सामान्य उपयोगकर्ता ने यूएसबी ड्राइव के एरेस को पढ़ा और लिखा है। USB ड्राइव में लिखने के लिए सही 'नॉन-रूट' फिक्स है:

चरण 1: ट्रांसमिशन डेमॉन बंद करो

sudo service transmission-daemon stop

चरण 2: piडेबियन-ट्रांसमिशन समूह में जोड़ें

sudo usermod -a -G debian-transmission pi 

चरण 3: डेमॉन-उपयोगकर्ता को बदलना

sudo nano /etc/init.d/transmission-daemon

बदलें USERकरने के लिए pi

चरण 4 कॉन्फ़िगरेशन फ़ाइल फ़ोल्डर के अधिकारों को बदलें

sudo chown -R pi /var/lib/transmission-daemon/info/
sudo chmod 755 /var/lib/transmission-daemon/info/settings.json 

चरण 5: डाउनलोड / अपूर्ण फ़ोल्डरों के लिए सही अनुमतियाँ सेट करें

sudo chown -R pi /somewhere/downloads
sudo chown -R pi /somewhere/incomplete

चरण 5: ट्रांसमिशन डेमॉन शुरू करें

sudo service transmission-daemon start

से संकलित:


2
यह एकमात्र सही उत्तर है। rootगलत के रूप में चल रहा है। ए करना chmod 777गलत है। सही समूह और उपयोगकर्ता सेट करना एकमात्र सही तरीका है।
कजिनकैनिन

यह स्वीकृत उत्तर होना चाहिए।
पाउलो रोड्रिग्स पिंटो

1
शायद यह सही उत्तर है, लेकिन यह मेरे लिए काम नहीं करता है।
rebolek

मैंने अपना उपयोगकर्ता नाम piकुछ और से बदल दिया है। हालाँकि, जब मैं ऐसा ls -alकरता हूं तो प्रतीत होता है कि मेरी फाइलें अभी भी एक piसमूह में हैं। उपरोक्त निर्देशों के साथ, क्या मुझे piअपने नए उपयोगकर्ता नाम के हर उदाहरण को बदलना चाहिए , या किसी भी समूह का उल्लेख करना चाहिए जो अभी भी है pi? जब मैं piअपने उपयोगकर्ता नाम में परिवर्तन करता हूं तो ये निर्देश काम नहीं करते हैं ।
केवॉन

@Keavon "क्या मुझे पीआई के हर उदाहरण को अपने नए उपयोगकर्ता नाम में बदलना चाहिए" हां, डेबियन-ट्रांसमिशन समूह में भी नया उपयोगकर्ता है?
बीकानेर

11

समस्या यह थी कि जिस तरह से USB डिस्क को स्वचालित किया गया था। मैंने इसे माउंट -t ntfs-3G के साथ मैनुअल किया और यह काम करने लगा।


4
मेरे साथ भी ऐसा ही हुआ। एचडीडी ऑटो-माउंटेड के साथ सभी अनुमतियों को 0700 पर सेट किया गया था, लेकिन इसके साथ बढ़ते हुए sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /media/HDD/वे 0777 हैं और ट्रांसमिशन पूरी तरह से काम करता है, वास्तव में अजीब है।
Puigcerber

मेरा एक्सफ़ैट ऑटो-माउंटिंग के साथ था exfat defaults,auto,umask=000,users,rw 0 0, मैंने इसे piउपयोगकर्ता आईडी के साथ माउंट करने के लिए बदल दिया exfat defaults,uid=1000,gid=1000 0 0और यह काम किया। इस AskUbuntu उत्तर की जांच करें: स्वचालित एक्सफ़ैट ड्राइव के साथ स्वामित्व / अनुमति की समस्या
brasofilo

10

मैं कोई लिनक्स विशेषज्ञ नहीं हूं, लेकिन आप यह कोशिश कर सकते हैं, काम कर सकते हैं। इस जानकारी के अधिकांश http://www.superfecta.ca/?p=44 से आया है

sudo service transmission-daemon stop
sudo nano /etc/init.d/transmission-daemon

परिवर्तन

USER=debian-transmission

सेवा मेरे

USER=root
ctrl-x
Y
# hit enter to overwrite
sudo service transmission-daemon start

मुझे पता है कि रूट के रूप में रनिंग एक बड़ा linux no no (निश्चित नहीं है कि अगर रूट में रनिंग के रूप में गिना जाता है) लेकिन यह मेरे लिए काम करता है इसलिए मैं इसके साथ ठीक हूं। आप USER=piइसके बजाय कोशिश कर सकते हैं लेकिन मुझे वहां कोई प्यार नहीं मिला, इसलिए मैं जड़ से चिपक गया


3
बेशक रूट के रूप में चल रहा है, यह सिर्फ एक सुरक्षा जोखिम है।
बजे ब्लिसबोरलेड

बस कुछ जोड़ने के लिए: लिनक्स माउंट का उपयोग करता है / etc / fstab फ़ाइल माउंट बिंदु और अनुमतियाँ / ड्राइव के स्वामित्व को सेट करने के लिए। तो, आपके पास तीन विकल्प हैं, ट्रांसमिशन को रूट के रूप में चलाएं, उस फ़ोल्डर के मालिक के रूप में ट्रांसमिशन को चलाएं जहां ड्राइव रहता है ( ls -lआपको बताएगा कि इसका मालिक कौन है), या एक अलग मालिक (यानी डेबियन-) को दिखाने के लिए / etc / fstab फ़ाइल को संशोधित करें। संचरण)।
टेरी

मैं एक एनएएस ड्राइव पर अतिथि के रूप में घुड़सवार torrents को बचाने के साथ एक समान समस्या का सामना कर रहा था। मैंने हर जगह उल्लिखित सभी समाधानों की कोशिश की, लेकिन मेरे लिए कुछ भी काम नहीं किया, इसलिए मैंने हार मान ली और ट्रांसमिशन-डेमॉन रन को जड़ बना दिया। मुझे यह पसंद नहीं है, लेकिन यह केवल एक चीज है जो काम करती है।
आलाप

यह गलत है और इस तरह के डेमॉन को कभी भी विशेषाधिकारों के साथ नहीं चलना चाहिए। आपको इस उत्तर को हटा देना चाहिए क्योंकि इससे अन्य लोगों के सेटअप को नुकसान होगा।
कजिनकैनिन

5

मुझे विश्वास है कि आपकी समस्या यह है कि आपकी USB स्टिक को NFTS या FAT के रूप में स्वरूपित किया गया है, फाइलसिस्टम जो प्रति-उपयोगकर्ता / समूह अनुमतियों का समर्थन नहीं करता है। समाधान ext4 के रूप में पुन: स्वरूपित करना है। यदि आप ऐसा करते हैं, तो आप एक मीडिया केंद्र के रूप में अपने पीआई का उपयोग कर रहे हैं, तो आपके पास बहुत कम अंतराल होगा। जब आप ext4 का उपयोग करते हैं, तो Pi के लिए ड्राइवर बहुत तेज़ होते हैं।


Ntfs-3G से काफी तेज? क्या आप उस कथन का समर्थन करने के लिए कुछ डेटा दिखा सकते हैं?
जोसेफ

@ जोसेफ यह रास्पबेरी पी 1 के साथ ज्यादातर एक समस्या थी क्योंकि NTFS काफी सीपीयू-भारी है। यहाँ स्थानांतरण गति का एक मानदंड है: htpcguides.com/wp-content/uploads/2015/03/…
hifkanotiks

4

यहां किसी भी जवाब ने मेरे लिए काम नहीं किया, इसलिए मैं एक नया एक संदर्भ लिख रहा हूं https://pimylifeup.com/raspberry-pi-torrentbox/ जो मेरे लिए बहुत काम आया और मुझे piअपने यूएसबी ड्राइव का उपयोग करने के लिए उपयोगकर्ता के रूप में ट्रांसमिशन चलाने की अनुमति दी । यह सीधे ओपी का जवाब नहीं दे रहा है लेकिन यह प्रश्न इस तरह की समस्या के लिए बहुत लोकप्रिय (पहला Google परिणाम) है इसलिए मैंने इसे यहां रखा है।

दर्ज:

sudo vi /etc/init.d/transmission-daemon

और USERफ़ाइल के शीर्ष में खोजें और इसमें परिवर्तन करें:

USER=pi

फिर हमें chownअपनी अनुमतियों के दायरे में कुछ फाइलों की जरूरत है :

sudo chown -R pi:pi /etc/transmission-daemon
sudo chown -R pi:pi /etc/init.d/transmission-daemon
sudo chown -R pi:pi /var/lib/transmission-daemon

और फिर भागो (यह वास्तव में महत्वपूर्ण है सेवा से डेमन बस के रूप में चला जाएगा debian-transmission)

sudo vi /etc/systemd/system/multi-user.target.wants/transmission-daemon.service

और userवहां खोजें और उसमें परिवर्तन करें:

user=pi

और सेवा इकाई को पुनः लोड करें

sudo systemctl daemon-reload

और आखिरकार हमें अपनी सेटिंग्स फाइल को पीआई होम डायरेक्टरी में सिमिलिंक करना होगा और उसे परमिशन देनी होगी:

sudo mkdir -p /home/pi/.config/transmission-daemon/
sudo ln -s /etc/transmission-daemon/settings.json /home/pi/.config/transmission-daemon/
sudo chown -R pi:pi /home/pi/.config/transmission-daemon/

और फिर फिर से प्रसारण शुरू करें:

sudo service transmission-daemon start

और आपने कल लिया। यह अब काम करना चाहिए।


2

मुझे लगता है कि मुख्य बातों लोगों को अनदेखा कर रहे में से एक है कि आप करना चाहिए अपने यूएसबी / बाहरी ड्राइव माउंट में / MNT / myUsbDrive फ़ोल्डर, और नहीं में / मीडिया / अनुकरणीय / myUsbDrive।

sudo umount /media/pi/usb_disk
sudo mkdir /mnt/usb_disk
sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /mnt/usb_disk

मैंने इस चर्चा (रूट सहित) पर दिए गए हर एक उत्तर को अलग-अलग विकल्पों के साथ सौ अलग-अलग तरीकों से आजमाया और अपने यूएसबी एसएसडी ड्राइव पर सहेजने के लिए ट्रांसमिशन नहीं मिला। तब कुछ अलग पढ़ने के दौरान, यह उल्लेख नहीं किया गया था कि / मीडिया / पीआई में माउंट नहीं है क्योंकि डेमोंस या अन्य समूहों तक पहुंच नहीं हो सकती है। इसलिए मैं USB ड्राइव को / mnt / usb_disk पर माउंट करता हूं, /etc/transmission-daemon/settings.json / mnt / usb_disk / डाउनलोड में पथ सेट करता हूं और ट्रांसमिशन डिस्क पर सेव करना शुरू कर देता है।

FYI करें, मेरे पास /etc/init.d/transmission-daemon में उपयोगकर्ता = pi है।

FYI करें, मैंने / mnt / usb_disk / डाउनलोड के स्वामी को pi और समूह में बदलकर d77 ट्रांसमिशन के साथ डेबियन-ट्रांसमिशन कर दिया।


1
sudo chown debian-transmission /downloads

जहाँ / डाउनलोड निर्देशिका है आप चाहते हैं कि आपके डाउनलोड (या माउंट स्थान) में हों।

यह रूट का उपयोग करने से अधिक सुरक्षित है।

यह 'उपयोगकर्ता' को फ़ोल्डर में 'डेबियन-ट्रांसमिशन' अधिकार के रूप में जाना जाता है


1

मुझे इगोर और पुइगिसबर के समान समाधान मिला। मेरा ड्राइव ऑटो माउंट करने के लिए सेट किया गया था, इसलिए मैंने ऑटोमेट को हटाने के लिए अपने fstab को संपादित किया, फिर उपयोग किया गयाsudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/*mymountpoint/


1

जबकि बाइकेटियर का जवाब सही है कि हाल ही में सिस्टमबेड पर स्विच किया गया डेबियन और आपको अब यहां उपयोगकर्ता को बदलना होगा

sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service

और सुनिश्चित करें कि अनुभाग में

[Service]

आपके पास लाइन है

User=pi

1

समाधान:

बहुत पढ़ने और हताशा के बाद।

सबसे पहले, सुनिश्चित करें कि सामान्य उपयोगकर्ता ने यूएसबी ड्राइव तक पहुंच पढ़ी और लिखी है। USB ड्राइव पर राइट एक्सेस के लिए सही 'नॉन-रूट' फिक्स है:

चरण 1: ट्रांसमिशन डेमॉन बंद करो

sudo service transmission-daemon stop

चरण 2: पाई को डेबियन-ट्रांसमिशन समूह में जोड़ें

sudo usermod -a -G debian-transmission pi

चरण 3: डेमॉन-उपयोगकर्ता को बदलना

sudo nano /etc/init.d/transmission-daemon

USER को pi में बदलें।

sudo nano /etc/systemd/system/multi-user.target.wants/transmission-daemon.service

USER को pi में बदलें।

चरण 4: विन्यास फाइल फ़ोल्डर के अधिकार बदलें sudo chown -R pi /var/lib/transmission-daemon/info/ sudo chmod 755 /var/lib/transmission-daemon/info/settings.json

चरण 5: डाउनलोड / अपूर्ण फ़ोल्डरों के लिए सही अनुमतियाँ सेट करें sudo chown -R pi /somewhere/downloads sudo chown -R pi /somewhere/incomplete

चरण 6: ट्रांसमिशन डेमॉन शुरू करें

sudo service transmission-daemon start


1

मैंने पाया कि फ़ाइल सिस्टम मेरे लिए समस्या थी। सौभाग्य से यह एक नया USB हार्ड ड्राइव था इसलिए इसे प्रारूपित करने का कोई मुद्दा नहीं था।

मैंने पहली बार हार्ड ड्राइव को ext4 में स्वरूपित किया

sudo mkfs.ext4 /dev/<usb disk> -L <diskname>

फिर मैंने usb हार्ड ड्राइव को माउंट किया

sudo mount /dev/<usb disk> /mnt/<my mount folder>

एक बार घुड़सवार होने के बाद मैंने हार्ड ड्राइव के लिए समूह को बदल दिया debian-

sudo chgrp debian-transmission /mnt/rpi_nas/

अंत में मैंने पाई उपयोगकर्ता को डेबियन-ट्रांसमिशन समूह में जोड़ा और इसने मेरे उपयोग के मामले में बहुत अच्छा काम किया।


0

एक बार जब आप ट्रांसमिशन-डेमॉन उपयोगकर्ता को बदल देते हैं तो अनुमतियाँ समस्या को जड़ देने के लिए या तो यूएसबी या एसएमबी शेयर के साथ चला जाता है।

sudo nano /etc/init.d/transmission-daemon

फिर उपयोगकर्ता लाइन को इसमें बदलें:

उपयोगकर्ता = जड़


7
यह एक सुरक्षा जोखिम है।
बजे ब्लिसबोरलेड

यह गलत है और इस तरह के डेमॉन को कभी भी विशेषाधिकारों के साथ नहीं चलना चाहिए। आपको इस उत्तर को हटा देना चाहिए क्योंकि इससे अन्य लोगों के सेटअप को नुकसान होगा।
कज़िनकोकीन

0

समस्या FAT से संबंधित है जो कई उपयोगकर्ताओं को नहीं पहचानता है।

यदि आप अपने fstab फ़ाइल में एक लाइन का उपयोग करते हैं जैसे कि / dev / [your dev] / mnt / usb1 vfat चूक, uid = 65534, gid = 65534, dmask = 000, fmb = 111 0 0

यह आपके फाइल सिस्टम को फोल्डर 777 के साथ माउंट करना चाहिए और 666 के रूप में फाइल "nogroup" से संबंधित "कोई नहीं" के पास है

देखे जाने वाले परिवर्तनों के लिए आपको रीमाउंट (या रिबूट) करना होगा।


0

अंत में एक काम कर समाधान मिला।

मैंने XBIAN सेटिंग में रिमूवेबल डिवाइसों को ऑटोसहरिंग कर दिया और डिस्क को शेयरों से जोड़ दिया। हाथ से

[mybook]
    path = /media/mybook
    guest ok = yes
    read only = no
    browseable = yes
    writeable = yes
    force user = xbian

बस इसे शेयरों में जोड़ना है। अगर यह पर्याप्त नहीं है, तो ऑटोशेयरिंग को बंद कर देना चाहिए।


0

मुझे एक समान अनुमति की समस्या थी।

मैंने साबी के समाधान का आँख बंद करके अनुसरण किया और पाया कि यह काम नहीं किया। इतना ही नहीं, लेकिन मेरा मानना ​​है कि यह थोड़ा ज्यादा है।

अपनी स्थिति में मैंने केवल इस तथ्य की अनदेखी की कि ट्रांसमिशन-डेमन उपयोगकर्ता के रूप में चल रहा था: डेबियन-ट्रांसमिशन

इसलिए एक फ़ोल्डर ( folder_name ) को लिखने के लिए ट्रांसमिशन-डेमॉन को अनुमति देने के लिए , आपको बस निम्नलिखित कमांड करने की आवश्यकता है:

chgrp -R folder_name
chmod -R 765 folder_name

यह निश्चित रूप से मान लिया गया है कि आपने सेटिंग्स को ठीक से कॉन्फ़िगर किया है। पहले से ही


-1

chmod 777 को प्रत्येक उपयोगकर्ता को फ़ाइल या निर्देशिका के लिए सभी अनुमतियाँ देनी चाहिए। यदि वह काम नहीं करता है, तो यह संभावना है कि उपयोगकर्ता जो कि chmod कमांड निष्पादित करता है, वह निर्देशिका या फ़ाइल का मालिक नहीं है। उदाहरण के लिए, यदि रूट का मालिक / मीडिया / मेरी पुस्तक / और पीआई उपयोगकर्ता उस फाइल की अनुमतियों को बदलने में सक्षम नहीं होगा। चोमॉड कमांड में आपके द्वारा पास किए गए तीन नंबर मालिक, समूह और बाकी सभी को उस क्रम में प्रभावित करते हैं। इस प्रकार एक निर्देशिका के लिए सबसे आम सेटिंग्स "chmod 755 somedirectory" हैं। इसका मतलब है कि मालिक निर्देशिका में पढ़, लिख और बदल सकता है, लेकिन समूह और बाकी सभी केवल फाइलों को पढ़ सकते हैं और निर्देशिका में बदल सकते हैं।


1
यह उत्तर वास्तव में प्रश्न का उत्तर नहीं देता है। पूछने वाले ने पहले ही फ़ाइल को चकमा देने की कोशिश की है और यह काम नहीं किया।
hifkanotiks
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.