วิธีการเปลี่ยนการอนุญาตเริ่มต้นของไฟล์ที่สร้างโดย transmission-daemon?


24

ฉันมีเครื่องที่ใช้เซิร์ฟเวอร์ Ubuntu 12.04 ที่มี transmission-daemon กำลังทำงานเพื่อจัดการกับ bitorrents ทุกอย่างทำงานได้ดียกเว้น transmission-daemon สร้างไฟล์ในฐานะผู้ใช้ / กลุ่มdebian-transmissionและมีการอนุญาต 744 ไฟล์

  • ฉันต้องการที่จะลบและย้ายไฟล์เหล่านี้จากการแชร์แซมบ้า

  • ฉันพิจารณาการเปลี่ยนกลุ่มหลักของการส่งเดเบียนของผู้ใช้ แต่ฉันกังวลว่าอาจทำให้การเข้าถึงไฟล์อื่น ๆ

  • ฉันคิดว่ามันจะเป็นการดีกว่าที่จะเปลี่ยนการอนุญาตเริ่มต้นของไฟล์ใหม่ที่สร้างโดยการส่งเดเบียนเป็น 774 และเพิ่มตัวเองลงในการส่งเดเบียนกลุ่ม

    ฉันรู้ว่าสิ่งนี้สามารถทำได้ด้วย umask แต่ความเข้าใจของฉันคือสิ่งนี้จะถูกตั้งค่าในไฟล์. profile และเนื่องจากการส่งเดเบียนไม่มีโฟลเดอร์ภายในบ้านฉันไม่แน่ใจว่าไฟล์นั้นมีอยู่สำหรับผู้ใช้หรือไม่ แล้วฉันจะทำสิ่งนี้ได้อย่างไร

    คำแนะนำหรือทางเลือกอื่นยินดีต้อนรับ ขอบคุณล่วงหน้า.


ทำอย่างนั้นใน Crystalubuntu ตอนนี้ฉันได้รับข้อผิดพลาดเมื่อเริ่มการส่ง - "ไม่สามารถตั้งค่า gid เป็น 113 (ไม่อนุญาตการใช้งาน)" ความคิดใด ๆ

ฉันลงเอยด้วยรายการ crontab ดังนี้ <pre> #! / bin / sh trap "" 1 logfile = / dev / null exec> $ logfile 2> & 1 set -x ขณะจริง; ทำ = "$ (inotifywait -q -r -e move -e create -e delete / data / completeddownloads / Movies - รูปแบบ% w% f)" chown -R ไม่มีใคร: ไม่มีใคร "$ a" เสร็จแล้ว </pre>

คำตอบ:


45

คุณสามารถระบุ umask ในไฟล์ config ของการส่ง ( /etc/transmission-daemon/settings.json) Umask ปกติแล้วเราจะแทนด้วย octal แต่น่าเสียดายที่ json ไม่รองรับสิ่งนั้นดังนั้นเราต้องแปลงมันเป็นฐาน 10 คุณสามารถทำได้ในเชลล์แบบนี้:

$ echo $(( 8#022 ))
18

นั่นเป็นค่าเริ่มต้น แต่คุณอาจต้องการ 002 ซึ่งเหมือนกันเป็นทศนิยมดังนั้น

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

อีกสิ่งหนึ่งที่. หากคุณเปลี่ยนความเป็นเจ้าของกลุ่มของ dir ดาวน์โหลดและเพิ่ม setgid bit บนมันไฟล์ทั้งหมดที่สร้างในไดเรกทอรีนั้นจะมีความเป็นเจ้าของกลุ่มเดียวกันกับไดเรกทอรีนั้น

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

มันจะไม่ส่งผลกระทบต่อไฟล์ที่มีอยู่แล้ว ดูhttp://mywiki.wooledge.org/Permissionsสำหรับข้อมูลเพิ่มเติม


สิ่งที่ฉันต้องการ ขอบคุณที่รวมข้อมูล setgid bit ฉันลืมบิตพิเศษเหล่านั้น
jpetersen

ฉันคิดว่าฉันกำลังทำอะไรผิด ฉันต้องการตั้งค่าการอนุญาตเช่น chmod 775 ดังนั้นฉันจึงลองด้วยคำสั่ง echo $ ((# 8 # 775)) และรับ 509 แต่ดูเหมือนว่านี่เพิ่งจะส่ง -demon เพราะมันจะไม่ดาวน์โหลดไฟล์ torrent อีกต่อไป
ฟราน Marzoa

3
@Fran หากคุณตั้ง umask เป็น 0775 ไฟล์จะได้รับโหมด 002; รูปแบบจะระบุว่าบิตใดที่ไม่ควรตั้งค่าในไฟล์ใหม่ คุณต้องการ umask เริ่มต้น (002) ที่นี่เพื่อสร้างไฟล์ด้วยโหมด 664 และไดเรกทอรีที่มีโหมด 775
geirha

Oh! ฉันรู้แล้วว่าฉันจะใส่ 002 แต่ฉันไม่รู้ว่าทำไม! ขอบคุณสำหรับการชี้แจง! :)
Fran Marzoa

มันเป็นสิ่งchmod g+sที่ฉันขาดหายไป ขอบคุณ!
flith

0

ลองสิ่งนี้:

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

และเปลี่ยนไฟล์: 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"

เพิ่งรีสตาร์ท daemon:

service transmission-daemon start
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.