আমি কীভাবে ব্যবহারকারীর ট্রান্সমিশনের চলমান পরিবর্তন করতে পারি?


10

আমি একটি পিপিএ মাধ্যমে ট্রান্সমিশন ইনস্টল করেছি এবং ডিমন বুট থেকে শুরু হয়। আমি ডিমন চালিত ব্যবহারকারীর পরিবর্তন করতে চাই কারণ আমি চাইছি যে ডাউনলোড করা ফাইলগুলি আমার এক্সবিএমসি ইনস্টলেশন হিসাবে একই ব্যবহারকারীর অধীনে থাকে এবং আমি কোথায় এটি সম্পাদনা করব তা খুঁজে পাচ্ছি না।

ডেমন ব্যবহার ভুঁইফোড় তাই কিছুই যা সম্পর্কে ব্যবহারকারীদের এটা চালনা করে /etc/init.d/transmission-daemonএবং সেখানে কিছু নয় /etc/default/transmission-daemonপারেন ব্যবহারকারী সম্পর্কে

আমি এই প্যাপাগুলি ট্রান্সমিশনের জন্য ব্যবহার করছি:

/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list:deb //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main

/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list:deb-src //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main

/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list.save:deb //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main

/etc/apt/sources.list.d/transmissionbt-ppa-quantal.list.save:deb-src //ppa.launchpad.net/transmissionbt/ppa/ubuntu quantal main

আপনি দয়া করে পিপিএ এবং উবুন্টুর সংস্করণটি সরবরাহ করতে পারেন? আমি যেখানেই দেখেছি ট্রান্সমিশন-ডেমন প্যাকেজটিতে /etc/init.d/transmission-daemon ফাইল রয়েছে।
ব্যবস্থা করুন

দুঃখিত, যদি আমি পরিষ্কার না হয়ে থাকি, তবে আমি বোঝাতে চেয়েছিলাম যে কোনও ব্যবহারকারী সেই ফাইলটিতে ডেমন চালায় সে সম্পর্কে কিছুই নেই
BvdBijl

/Etc/init.d/transmission-daemon ফাইলের শুরুতে আপনার "USER = ডেবিয়ান-সংক্রমণ" রেখাটি দেখতে হবে; এটা হওয়া উচিত।
ব্যবস্থা করুন


আমি প্রারম্ভিক পোস্টে কোন পিপিএ ব্যবহার করেছি
বিভিডিবিজল

উত্তর:


4

Upstart v1.4 হিসাবে, setuidএবং setgidকনফিগ ফাইলে স্থানীয়ভাবে সমর্থিত:

setgid <groupname>

এবং

setuid <username>

ভি 1.4 এর আগে আপনি এটি ব্যবহার করতে পারেন ( এখানে বর্ণিত হিসাবে ):

exec start-stop-daemon --start -c {user} --exec {command}

2
আমাকে সম্পাদনা করতে হবে /etc/init/transmission-deemon.conf
BvdBijl


15

যেহেতু অন্যান্য সমস্ত উত্তর উবুন্টু প্রাক- সিস্টেমডের জন্য, তাই এখানে উবুন্টু 16.04 এর জন্য একটি আপডেট গাইড ( সেনসেকডনস ডটকম থেকে ) guide মূলত, User=...সেটিংস পরিবর্তন করতে "ট্রান্সমিশন-ডেমন.সার্ভিস" এর জন্য পরিপূরক ইউনিট তৈরি করুন এবং তারপরে সেই ব্যবহারকারীর "~ / .config / সংক্রমণ-ডেমন / সেটিংস.জসন" ফাইলটি আপডেট করুন।

সংক্রমণ বন্ধ করুন (এটি ইতিমধ্যে চলমান থাকলে)।

sudo systemctl stop transmission-daemon

সংক্রমণের জন্য পরিপূরক ফাইল ডিরেক্টরি তৈরি করুন:

sudo mkdir -p /etc/systemd/system/transmission-daemon.service.d

"রান-অ্যাস-ইউজার-কনফ" নামে একটি নতুন পরিপূরক ফাইল তৈরি করুন।

sudo vi /etc/systemd/system/transmission-daemon.service.d/run-as-user.conf

এবং এটিতে নীচের পাঠ্যটি রাখুন।

[Service]
User=codon

স্পষ্টতই, আপনার পছন্দসই ব্যবহারকারীর নামটি ব্যবহার করুন, "কোডন" নয়।

সিস্টেমডকে এর ইউনিটগুলি পুনরায় লোড করতে বলুন।

sudo systemctl daemon-reload

এরপরে, আপনি ~/.config/transmission-daemon/আপনার নতুন ব্যবহারকারীর জন্য ডিরেক্টরি তৈরি করতে এটি শুরু করতে এবং তারপরে ট্রান্সমিশন বন্ধ করতে চান ।

সঞ্চালন শুরু করুন এবং তারপরে সংক্রমণ বন্ধ করুন।

sudo systemctl start transmission-daemon; sudo systemctl stop transmission-daemon

আপনার ব্যবহারকারীর হোম ডিরেক্টরিতে এখন নিম্নলিখিত ডিরেক্টরি থাকা উচিত: .config/transmission-daemon/

এখান থেকে আপনার ~/.config/transmission-daemon/settings.jsonস্বাভাবিকভাবে আপডেট করা উচিত ।

আপনার কাজ শেষ হয়ে গেলে, সঞ্চালন শুরু করুন।

sudo systemctl start transmission-daemon

3
ম্যানুয়ালি সেই ডিরেক্টরি এবং ফাইল তৈরির পরিবর্তে, ব্যবহার করুন systemctl edit transmission-daemon.serviceযা স্বয়ংক্রিয়ভাবে 1. এটি ডিরেক্টরি এবং ফাইল তৈরি করবে এবং 2 যখন আপনি সংরক্ষণ এবং প্রস্থান করবেন, তখনও চালান systemctl daemon-reload
মুড়ু

7

অনুমিতি:

  • আপনি এই পিপিএ ব্যবহার করেছেন: ppa:transmissionbt/ppa
  • আপনি ব্যবহারকারীর সাথে ট্রান্সমিশন চালাতে চান: some_userএবং গ্রুপ:some_group

সিস্টেম ভি (এসআইএসভি) আর ডি সিস্টেমের জন্য (উদা: উবুন্টু 10.04 এলটিএস):

  1. সংক্রমণ দমন বন্ধ করুন:

    sudo service transmission-daemon stop
    
  2. Init.d স্ক্রিপ্টগুলি সম্পাদনা করুন

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

    ... এবং পরিবর্তন USER=debian-transmissionকরার জন্যUSER=some_user

আপস্টার্ট ইনি সিস্টেমের জন্য (যেমন: উবুন্টু 14.04 এলটিএস):

  1. সংক্রমণ দমন বন্ধ করুন:

    sudo service transmission-daemon stop
    
  2. Init স্ক্রিপ্টগুলি সম্পাদনা করুন:

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

    ... এবং নিম্নলিখিত হিসাবে সম্পাদনা করুন:

    • পরিবর্তন setuid debian-transmissionকরার জন্যsetuid some_user

    • এবং পরিবর্তন setgid debian-transmissionকরার জন্যsetgid some_group

সিস্টেমযুক্ত ডিআইডি সিস্টেমের জন্য (যেমন: উবুন্টু 16.04 এলটিএস):

  1. সংক্রমণ দমন বন্ধ করুন:

    sudo systemctl stop transmission-daemon.service
    
  2. Systemd ওভাররাইড.কনফ ফাইল তৈরি করুন:

    sudo systemctl edit transmission-daemon.service
    

    ... এবং নিম্নলিখিত হিসাবে সম্পাদনা করুন:

    [Service]
    User=
    User=some_user
    Group=
    Group=some_group
    

    মন্তব্য:

    • এটি নিম্নলিখিত ফাইলটি তৈরি করে: /etc/systemd/system/transmission-daemon.service.d/override.conf

    • খালি ভেরিয়েবল অ্যাসাইনমেন্টগুলি (যেমন User=:) বিদ্যমান ভেরিয়েবলের মানটি সাফ / রিসেট করতে ব্যবহৃত হয়। এটি সিস্টেমেড ইউনিট ফাইলের ড্রপ-ইন প্রতিস্থাপন ব্যবহার করার সময় জিনিসগুলি কীভাবে করা হয় তা মনে হয়। দেখুন: systemd.unit ম্যানুয়ালটিতে "উদাহরণ 2. ওভাররাইডিং বিক্রেতা সেটিংস" :

      "... ড্রপ-ইন ফাইলগুলির জন্য, যদি কেউ একটি তালিকা হিসাবে (এবং কোনও নির্ভরতা নয়) পার্স করা একটি সেটিং থেকে এন্ট্রিগুলি সরাতে চায়, ... তবে সমস্ত এন্ট্রি পুনরায় যুক্ত করার আগে প্রথমে তালিকাটি সাফ করা দরকার except যেটি মুছে ফেলা হবে ... "

  3. সিস্টেমড পুনরায় লোড করুন এবং সংক্রমণ ডেমন শুরু করুন:

    sudo systemctl daemon-reload
    sudo systemctl start transmission-daemon.service
    

    নোট: ভুঁইফোড় এবং সিস সঙ্গে ভিন্ন init সিস্টেম পরিবহন-ডেমন সমস্ত কনফিগারেশন এবং সেটিংস সংরক্ষণ /home/some_user/.config/transmission-daemon/পরিবর্তে /etc/transmission-daemon/settings.jsonএবং/var/lib/transmission-daemon

নোটস এবং রেফারেন্স


অনুমতি এবং প্যাকেজ আপডেট সম্পর্কিত ptionচ্ছিক / অতিরিক্ত তথ্য:

দ্রষ্টব্য: নিম্নলিখিতটি কেবলমাত্র কেবলমাত্র আপস্টার্ট এবং SysV init সিস্টেমের জন্য প্রাসঙ্গিক

ট্রান্সমিশনের কনফিগারেশন ফাইলগুলিতে অনুমতি পরিবর্তন করা হচ্ছে

আপনি systemd হল Init সিস্টেম ব্যবহার না করেন তাহলে আপনি এখন থেকে ট্রান্সমিশন কনফিগারেশন ফাইলের জন্য অনুমতি পরিবর্তন করার প্রয়োজন হতে পারে user=debian-transmissionকরতে user=some_userএবং থেকে group=debian-transmissionথেকে group=some_group

  1. আপনার ট্রান্সমিশন কনফিগারেশন ডিরেক্টরিটির অবস্থান পরীক্ষা করুন। আপনি এটির /etc/default/transmission-daemonমতো একটি লাইন হিসাবে এটি ফাইলটিতে উল্লিখিত দেখতে পাবেন:

    CONFIG_DIR="/var/lib/transmission-daemon/info"
    
  2. সুতরাং আপনার কনফিগারেশন ডিরেক্টরিটি ধরে নেওয়া /var/lib/transmission-daemon/info, কনফিগারেশন ফাইলগুলির মালিকানা পরিবর্তন করুন:

    sudo chown some_user:some_group /var/lib/transmission-daemon/downloads
    sudo chown some_user:some_group /var/lib/transmission-daemon/info
    sudo chown some_user:some_group /var/lib/transmission-daemon/info/blocklists
    sudo chown some_user:some_group /var/lib/transmission-daemon/info/dht.dat
    sudo chown some_user:some_group /var/lib/transmission-daemon/info/resume
    sudo chown some_user:some_group /var/lib/transmission-daemon/info/torrents
    
  3. অন্যান্য ফাইলগুলির মালিকানা পরিবর্তন করুন:

    sudo chown :some_group /etc/transmission-daemon
    sudo chown some_user:some_group /etc/transmission-daemon/settings.json
    

অতিরিক্ত তথ্য (সংক্রমণ আপডেট করে):

আপনি ডিফল্ট ব্যবহারকারীর পরিবর্তনের কারণে আপনি দেখতে পাচ্ছেন ট্রান্সমিশনটি আপডেট করার পরে সংগ্রহস্থল (উদাহরণস্বরূপ: অ্যাপটি-আপগ্রেড আপগ্রেড) ব্যবহার করে ট্রান্সমিশন ডিমন আর চলবে না।

"Sudo apt-get -f install" চালানো নিম্নলিখিত ত্রুটিটি দেয়:

Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up transmission-daemon (2.84-0ubuntu0.12.04.1) ...
 * Starting bittorrent daemon transmission-daemon
invoke-rc.d: initscript transmission-daemon, action "start" failed.
dpkg: error processing transmission-daemon (--configure):
 subprocess installed post-installation script returned error exit status 255
Errors were encountered while processing:
 transmission-daemon
E: Sub-process /usr/bin/dpkg returned an error code (1)

ডেমন শুরু করতে ব্যর্থ হওয়ার কারণ ("ইনভোক-আরসি.ডি: ইনসক্রিপ্ট ট্রান্সমিশন-ডেমন, অ্যাকশন" স্টার্ট "ব্যর্থ।") কারণ আমরা "ডিবিয়ান-ট্রান্সমিশন" থেকে "কিছু_উজার" এ অনুমতি পরিবর্তন করেছি এবং আপডেটের পরে এগুলি পুনরায় সেট হয়ে যায় । সুতরাং ঠিক করতে নিম্নলিখিতগুলি করতে:

  1. ডিমন বন্ধ করুন এবং কনফিগার ফাইল সম্পাদনা করুন:

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

    ... এবং পরিবর্তন USER=some_userকরার জন্যUSER=debian-transmission

  2. চালিয়ে আপডেট ফিক্সিং পুনরায় চেষ্টা করুন:

    sudo apt-get -f install
    
  3. আপডেটটি সফল হলে ট্রান্সমিশন ডেমনটি চলমান উচিত। আপনি এখন আবার ব্যবহারকারী / গোষ্ঠী পরিবর্তন করতে উপরের পদক্ষেপগুলি অনুসরণ করতে পারেন।


6

এটি সম্পূর্ণ গল্প নয়। পরিবর্তন ছাড়াও

setgid <groupname>

এবং

setuid <username>

ভিতরে

/etc/init/transmission-daemon.conf

আপনার ট্রান্সমিশন-ডেমনের কনফিগার ফাইলের অনুমতিও পরিবর্তন করতে হবে। অন্যথায় এটি এই ফাইলে সেটিংস পুনরায় লিখতে সক্ষম হবে না এবং ডেমোন পুনরায় আরম্ভ হবে যতক্ষণ না আপ্ট স্টার্ট মনে করে যে এটির যথেষ্ট সম্ভাবনা রয়েছে (init: সংক্রমণ-ডিমন দ্রুত গতিতে থামল, থামিয়ে দেওয়া)

sudo chown <user>:<group> /etc/transmission-daemon/settings.json
sudo chown -R <user>:<group> /var/lib/transmission-daemon/ 

এর অনুমতিগুলি পরিবর্তন করার বিষয়ে বিটের জন্য ধন্যবাদ settings.json। মিস করেছেন।
নাইটহক 454

2

সিস্টেমেড ব্যবহার করা সিস্টেমে আপনি যে ফাইলটি সম্পাদনা করতে চান তা আসলে হতে পারে:

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

এর সাথে সম্পাদনা অনুসরণ করুন:

sudo systemctl daemon-reload


এটিই আমাকে সাহায্য করেছিল। আমি অন্যান্য সমস্ত পদক্ষেপগুলি করেছি কিন্তু কাজ করি নি। ধন্যবাদ!
মার্টিজন স্মিড

2

উবুন্টু ১.0.০৪-এ স্টার্টআপ পরিষেবাটি আপস্টার্ট থেকে সিস্টেমডে পরিবর্তন করা হয়েছিল, পূর্ববর্তী উত্তরগুলি অবশ্যই অচল করে দেওয়া। ব্যবহারকারীর ট্রান্সমিশন-ডেমন পরিবর্তন করতে এক্সিকিউট করুন:

ডিমন বন্ধ করুন:

sudo service transmission-daemon stop

কনফিগারেশন ফাইল এবং "হোম" এর মালিকানা পরিবর্তন করুন:

sudo chown -R USER:USER /var/lib/transmission-daemon/*
sudo chown -R USER:USER /etc/transmission-daemon/settings.json

তারপরে ফাইল সম্পাদনা করুন /lib/systemd/system/transmission-daemon.service:

[Unit]
Description=Transmission BitTorrent Daemon
After=network.target

[Service]
User=USER
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-debug --config-dir /var/lib/transmission-daemon/info
ExecReload=/bin/kill -s HUP $MAINPID

[Install]
WantedBy=multi-user.target

দয়া করে নোট করুন User, --config-dirএবং --log-debugপরিবর্তনগুলি।

সিস্টেমযুক্ত কনফিগারেশনটি পুনরায় লোড করুন:

sudo systemctl daemon-reload

ডিমন আবার শুরু করুন:

sudo service transmission-daemon start

একবার আপনি --log-debug(যা আপনাকে কোনও সমস্যার আরও তথ্য দেবে) বিকল্পটি সেট করে নিলে আপনি ডেমনের লগ পেতে পারেন:

sudo journalctl -u transmission-daemon.service

সম্পন্ন.

বিষয়গুলি নোট করুন:

আপনি ফাইল উপেক্ষা করতে পারেন:

/etc/default/transmission-daemon: এটি দেখে মনে হচ্ছে যে এটি সিস্টেমড সিস্টেমে কেউ স্যুরস করছে না।

/etc/init.d/transmission-daemon: মনে হয় এটি পুরাতন সিস্টেম 5 স্টার্ট স্ক্রিপ্ট ছিল।

/etc/init/transmission-daemon.conf: মনে হচ্ছে এটি পুরানো আপস্টার্ট শুরুর স্ক্রিপ্ট।


2
/lib/systemd/system/transmission-daemon.serviceম্যানুয়ালি সম্পাদনা করবেন না । systemctl edit transmission-daemon.serviceপরিবর্তে ব্যবহার করুন, বা আপনি প্যাকেজ আপগ্রেড করার সময় আপনার পরিবর্তনগুলি নষ্ট হবে।
মুড়ু

0

আমি নিম্নলিখিতগুলি করেছি, যা আমার কাছে অন্যান্য উত্তরগুলির চেয়ে কম আক্রমণাত্মক বলে মনে হচ্ছে।

  1. ট্রান্সমিশন-ডেমনটির শুরুটি সরান:

    sudo update-rc.d -f transmission-daemon remove
    
  2. নিম্নলিখিতগুলিতে এতে যুক্ত করুন /etc/profile:

    if [ -f "$HOME/.autostart" ]; then
      $HOME/.autostart
    fi
    
  3. তৈরি করুন ~/.autostart:

    #!/bin/bash
    if [ -z "$(pidof transmission-daemon)" ]; then
     /usr/bin/transmission-daemon --config-dir /home/[USERNAME]/.config/transmission-daemon &
    fi
    

এটি সম্ভবত কিছুটা বহনযোগ্য, এটি প্লেইন দেবিয়ান এবং মিনিবিয়ানের ক্ষেত্রেও আমার পক্ষে কাজ করে।


কোনও খারাপ ধারণা নয় তবে এটির জন্য শেলটি ব্যবহারকারীর লগইন করা দরকার যা /etc/profileকার্যকর করে (zsh এটি চালায় না, উদাহরণস্বরূপ)
elboletaire
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.