Управление разрешениями файлов

Я хотел бы иметь возможность перемещать файлы, загруженные при передаче, от имени моего основного пользователя.

Я добавил этого пользователя в группу debian-translation, но этого недостаточно, только владелец имеет разрешение на запись в загруженные файлы.

Итак, я вижу некоторые возможности:

  • изменение пользователя передачи, но это не является хорошей практикой.
  • установить опцию в передаче, чтобы позволить ему написать файл с разрешениями на запись для группы, но я не знаю, возможно ли это.

Итак, что вы посоветуете, чтобы привести к хорошему решению?

3 ответа

Решение

Решение, предложенное @sverker, хорошо, но я предлагаю вам изменить конфигурацию передачи так, чтобы она изменила маску, с которой записываются загруженные файлы. Конфигурация хранится в

~/.Config/ передачи /settings.json

Найдите и измените значение "umask". Обратите внимание, что формат json использует десятичную запись, поэтому взгляните на таблицу и найдите значение для нового umask (например: 22)

Umask   Created Files       Created Directories
-------------------------------------------------------------
000     666 (rw-rw-rw-)     777     (rwxrwxrwx)
002     664 (rw-rw-r--)     775     (rwxrwxr-x)
022     644 (rw-r--r--)     755     (rwxr-xr-x)
027     640 (rw-r-----)     750     (rwxr-x---)
077     600 (rw-------)     700     (rwx------)
277     400 (r--------)     500     (r-x------)

затем в терминале:

#echo $((8#022)) 
18

Наконец, измените значение umask на 18

Transmission, по крайней мере, как демон, имеет возможность запустить скрипт по завершении торрента. Вы должны быть в состоянии передать этот скрипт chmod на 664 после завершения. Оттуда файлы должны быть доступны и доступны для записи от вашего основного пользователя. Вы можете сделать скрипт, который содержит эти строки:

#!/usr/bin/env bash    
chmod -R 664 ${TR_TORRENT_DIR}
exit 0

Затем вы делаете этот сценарий исполняемым и размещаете его где-нибудь, где демон передачи может получить к нему доступ, например /usr/local/bin или что-то в этом роде.

Затем вы указываете демоду передачи запускать скрипт по завершении торрента. Вы можете сделать это с помощью графического интерфейса или иметь эту строку в своем /etc/transmission-daemon/settings.json файл:

"script-torrent-done-filename": "/usr/local/bin/your-script.sh", 

И это должно быть так. Концепция script-torrent-done довольно мощная, я использую ее для сортировки торрентов в фильмы / музыку / и т. Д. В соответствии с их содержанием, но это довольно длинный скрипт:)

Вам следует ознакомиться с ACL, он позволяет добавлять дополнительные разрешения, например, добавлять разрешения для вашего основного пользователя.

например sudo setfacl -d -R u:gael:rw /home/transmission позволяет вашему пользователю читать и писать в этот каталог. -d по умолчанию означает, что файлы, созданные в этом каталоге, будут иметь эти новые разрешения. Обычно вы используете -m вместо -d. Запустите с -m, чтобы применить к существующим файлам.

Вы можете создать скрипт для запуска команды setfacl по завершении, чтобы убедиться, что все файлы правильные, как предположил Сверкер;

Другие вопросы по тегам