আমার 18.04-তে একটি সমমানের দরকার u


23

আমি উবুন্টু 18.04 সহ অনেক লিনাক্স স্বাদ থেকে gksu অপসারণ সম্পর্কে প্রচুর থ্রেড পড়েছি। অনেকগুলি বলে যে gksu একটি ঘৃণা এবং কোনও ব্যবহারকারীর পক্ষে এর মতো কিছু ব্যবহার করার দরকার নেই। আমার 2 টি উদাহরণ রয়েছে যেখানে আমি যতদূর জানি আমার কাছে এমন কিছু অবশ্যই থাকতে হবে যা আমাকে রুট হিসাবে চালাতে দেয় (কেবলমাত্র ফাইল সম্পাদনা করার জন্য নয়)।

প্রথমত, এনক্রিপ্ট করা ফোল্ডারটি (জিইউআই) কমান্ডটি খোলার পরে আমার কেবল মাইএসকিএল শুরু করা দরকার। এর অর্থ এনক্রিপশন সিস্টেম দ্বারা চালিত স্ক্রিপ্ট থাকা যা মাইএসকিএল পরিষেবা শুরু করে। এটি রুট হিসাবে করতে হবে, তাই আমি সেই স্টার্টআপ স্ক্রিপ্টে gksu ব্যবহার করি যা আমাকে একটি পাসওয়ার্ড জিজ্ঞাসা করে। জিইআইআই সিস্টেম থেকে আমি আর কীভাবে পরিষেবা শুরু করতে পারি?

আমি রুট হিসাবে উবুন্টু সিস্টেমের ব্যাকআপগুলিও চালিত করি, অন্যথায় অনেকগুলি সিস্টেমের ফাইল ব্যাক আপ করা যায় না। সুতরাং ডেস্কটপ ফাইল ব্যাকআপ শুরু করতে gksu ব্যবহার করে।

পিকেেক্সেক জটিল দেখাচ্ছে, নীতি ফাইলের প্রয়োজন। এটি কি একমাত্র বিকল্প, এবং যদি তা হয় তবে কেন এটি আরও নিরাপদ?

অনুরূপ প্রশ্নের অন্যান্য উত্তরগুলি পৃথক সমস্যার সমাধান করে না বলে মনে হয় না যে লোকেরা এখন gksu আর নেই (বা খুঁজে পাওয়া আরও শক্ত ...)। আমি মনে করি অ-বিশেষজ্ঞ ব্যবহারকারীদের এই জাতীয় প্রশ্নগুলি আরও বিস্তারিত উত্তর থেকে উপকৃত হবে। আমার এখন কিছু আছে, এবং তাই আমার নিজের প্রশ্নের উত্তর দিতে চাই।


কি pkexecপরিবর্তে আপনার জন্য কাজ gksu?
থমাস ওয়ার্ড

@ কারেল একমত হয়েছে, যদিও এই পোস্টটি পরিষ্কারভাবে 'প্রতিস্থাপন' বলে উল্লেখ করে না pkexec। (আপনাকে এটির জন্য শিকার করতে হবে)
থমাস ওয়ার্ড

2
এছাড়াও আপনি ব্যবহার করার চেষ্টা করতে পারেন sudo -H GUI-programএবং যদি ওয়েল্যান্ডের এই লিঙ্কটি রয়েছে তবে এটি কার্যকর হতে পারে, ... আপনার যদি জিইআইআই সরঞ্জাম থাকে তবে এটি আপনার পক্ষে ভাল কাজ করে এবং উন্নত অনুমতিগুলির প্রয়োজন।
সুডোডাস

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

আমি জিনোম-এনসিএফএস-ম্যানেজার ব্যবহার করি, যা এনক্রিপ্ট করা ফোল্ডারগুলি মাউন্ট করার জন্য একটি গুই সরবরাহ করে। ড্রাইভ মাউন্ট করার সময় এটি স্ক্রিপ্ট চালানোর ব্যবস্থা করে for সেই স্ক্রিপ্টে আমার মাইএসকিএল শুরু করা দরকার। আমি আর কীভাবে এটি করতে পারি? ওয়েল্যান্ডল্যান্ডের ক্ষেত্রে, সাধারণ হোম ডেস্কটপ ব্যবহারকারীর দৃষ্টিকোণ থেকে সিনাপটিক বা জিপিআর্ট গুই না দেওয়া হাস্যকর। এগুলি অমূল্য। সিস্টেমগুলি এতটাই সুরক্ষিত হতে পারে যে কেউ এগুলি ব্যবহার করতে চায় না - একটি ভারসাম্য রয়েছে এবং এই বিশেষ ক্ষেত্রে (ওয়েল্যান্ড্যান্ড) ব্যবহারকারীকে অবশ্যই সঠিক হতে হবে।
পাস্টিম

উত্তর:



8

আমি জানি অন্য কোথাও এর উত্তর আছে বলে জানা গেছে, তবে এই সমস্যাটি সমাধান করার জন্য আমি তাদের কোনওটিই পরিষ্কার এবং সহজ খুঁজে পাইনি। তাই আমি অনেক জায়গায় খোঁড়াখুঁড়ি করেছি এবং এটি নিয়ে এসেছি। লিনাক্স সম্প্রদায় কেন আমাদের সাধারণ ডেস্কটপ ব্যবহারকারীদের জন্য জীবনকে এত কঠিন করার সিদ্ধান্ত নিয়েছে তা আমি এখনও বুঝতে পারি না (এবং আমি অনেকগুলি ব্যাখ্যা বোঝার চেষ্টা করেছি), তবে এটিই জীবন। আমি জিওআইআই ব্যবহার করি কেবলমাত্র সমস্ত কিছুর জন্য, যখন প্রয়োজন হয় কেবলমাত্র টার্মিনাল উইন্ডোটি ব্যবহার করে। যতদূর আমি সমাধান বলতে পারি sudo অপশন ব্যবহার করে এর সাথে সহায়তা করবে না help সুতরাং আমার কাছে .desktopফাইল এবং স্ক্রিপ্ট রয়েছে যা আমি নিয়মিত ব্যবহার করি এমন সমস্ত কাজ করে।

দুটি প্রাথমিক সমাধান আছে।

1. পুনরায় ইনস্টল করুন gksu

এই সমাধানটি দীর্ঘস্থায়ী হতে পারে বা নাও পারে। অ্যান্টি-গিক্সু প্রযুক্তিগুলি এটি বন্ধ করার উপায় খুঁজে পেতে পারে। তবে মাঝামাঝি সময়ে, libgksu (x64) এবং gksu (x64).deb থেকে 2 ফাইল ডাউনলোড করুন । Libgksu2 ইনস্টল করুন এবং তারপরে gdebi বা আপনি যে কোনও ইনস্টলেশন সরঞ্জাম ব্যবহার করতে চান তা ব্যবহার করে gksu। এটি আমার পক্ষে কাজ করেছে।

2. ব্যবহার করুন pkexec

একটি (আশাবাদী) দীর্ঘমেয়াদী সমাধান হিসাবে, আমি আমার প্রয়োজনীয় সরঞ্জামগুলির জন্য কাজ করতে পেকেক্সেক পেতে সক্ষম হয়েছি।

  1. স্ক্রিপ্ট থেকে একটি পরিষেবা শুরু করতে। দেখা যাচ্ছে যে gksu বা pkexec উভয়েরই প্রয়োজন নেই। কেবল start service xyzএবং এটি আপনার পাসওয়ার্ড চাইবে।

  2. রুট ফাইলগুলি সম্পাদনা করতে, বা রুট হিসাবে নটিলাস খোলার জন্য , gksu - ওয়েব আপডেট 8 এর পরিবর্তে পিকেক্সেক দিয়ে রুট হিসাবে গেডিট এবং নটিলাস কীভাবে চালানো যায় তা দেখুন । এটি পেকেক্সের জন্য দুটি 'পোলকিট' ফাইল সরবরাহ করে যা আপনাকে pkexec geditএকটি রুট ফাইল সম্পাদনা করতে এবং একইভাবে নটিলাসের জন্য একটি স্ক্রিপ্ট ব্যবহার করতে দেয় । নির্দেশাবলী সমস্ত সেই ওয়েব পৃষ্ঠায় রয়েছে। আমি এখন 'ফাইল ম্যানেজার-অ্যাকশনস' ব্যবহার করছি জিডিট বা নটিলাসকে রুট হিসাবে চালাতে ডান ক্লিকের ক্রিয়া সরবরাহ করতে।

  3. আমি কোর সিস্টেমের ব্যাকআপের জন্য রুট হিসাবে দেজা-ডুপ চালাই। আমি ব্যতীত এটিকে প্রায়শই করি /home(কারণ /homeআমি ঘন ঘন ব্যাকআপগুলি করি যা রুট অ্যাক্সেসের প্রয়োজন হয় না)। এটি কাজ করতে আমি পদক্ষেপের জন্য দ্বিতীয় ধাপে ব্যবহৃত ফাইলটির একটি অনুলিপি নিয়েছিলাম এবং এটি ডিজা-ডুপের জন্য সম্পাদনা করি। আমি সত্যিই সামগ্রীগুলি বুঝতে পারি না, তবে এটি pkexec backupএকটি .ডেস্কটপ ফাইল থেকে শুরু করা স্ক্রিপ্টে ব্যাকআপ এবং ফাইলগুলি পুনরুদ্ধার করার জন্য উভয়ই কাজ করে । আমি এই নতুন ফাইলটি যুক্ত করে যুক্ত করেছি /usr/share/polkit-1/actions:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD polkit Policy Configuration 1.0//EN" "http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
    
    <policyconfig>
      <icon_name>deja-dup</icon_name>
    
      <action id="org.gnome.DejaDup">
        <description gettext-domain="deja-dup">Backup</description>
        <message gettext-domain="deja-dup">Privileges are required to backup system files</message>
        <defaults>
        <allow_any>no</allow_any>
        <allow_inactive>auth_admin</allow_inactive>
        <allow_active>auth_admin</allow_active>
         </defaults>
        <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/deja-dup</annotate>
        <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
      </action>
    
    </policyconfig>
    

    মনে রাখবেন যে এই ডিরেক্টরিতে আরও একটি ডিজা-ডুপ ফাইল রয়েছে, যা ফাইলগুলি পুনরুদ্ধার করতে সহায়তা করার দাবি করে, তবে আমি এটি কাজ করতে পারিনি। এই নতুন ফাইলটির একটি অনন্য নাম থাকা দরকার org.gnome.DejaDupNew.policy

আমি আপাতত, gksu ছাড়া চালাচ্ছি। আমি চালিয়ে যাওয়ার চেষ্টা করব ...


pkexec deja-dupআপনার বর্ণিত ফাইল যুক্ত করার পরে ব্যাকআপটি শুরু করার আদেশটি আমার ছিল । কথোপকথনটি আমাকে প্রথমে সেটিংস চয়ন করতে দেয়, যা দুর্দান্ত।
wbloos

নীতির ফাইলটি স্থাপন করা /usr/share/polkit-1/actionsছিল উচ্চতর pkexecঅনুমতি সহ ডেস্কটপ লঞ্চার তৈরি করার উপায় । এখানে আরও একটি উদাহরণ
সার্জ স্ট্রোব্যা্যান্ড্ট

4

নটিলাস অ্যাডমিন ( নটিলাস-অ্যাডমিন ) নটিলাস ফাইল ম্যানেজারের জন্য একটি সাধারণ পাইথন এক্সটেনশন যা ডান-ক্লিক মেনুতে কিছু প্রশাসনিক ক্রিয়া যুক্ত করে:

  • প্রশাসক হিসাবে খুলুন: প্রশাসক (রুট) সুবিধাসমূহের সাথে চলমান একটি নতুন নটিলাস উইন্ডোতে একটি ফোল্ডার খোলে op
  • প্রশাসক হিসাবে সম্পাদনা করুন: অ্যাডমিনিস্ট্রেটর (মূল) সুবিধাসমূহের সাথে চালিত গেডিট উইন্ডোতে একটি ফাইল খোলে।

উবুন্টুর সমস্ত সমর্থিত সংস্করণগুলিতে নটিলাস অ্যাডমিন ইনস্টল করতে টার্মিনালটি খুলুন এবং টাইপ করুন:

sudo apt install nautilus-admin

ফাইল এবং গেডিট ছাড়াও অন্যান্য অ্যাপ্লিকেশনগুলির জন্য আমি 18.04-তে জিকসুর সমস্ত বিকল্প পরীক্ষা করে দেখেছি এবং যেটি সবচেয়ে ধারাবাহিকভাবে কাজ করে বলে মনে হয় তা হ'ল:

sudo -H অ্যাপনাম &> / dev / নাল

pkexecএটি যখন কাজ করে তখন গিক্সুর জন্য সর্বোত্তম প্রতিস্থাপন কারণ এটি উচ্চতর সুরক্ষা সরবরাহ করে তবে এটি বিভিন্ন অ্যাপ্লিকেশনগুলিতে খুব অসম্পূর্ণ (উদাহরণস্বরূপ এটি গেডিটের সাথে কাজ করে না) এবং কিছু অ্যাপ্লিকেশনের সাথে ক্র্যাশ হতে পারে। sudo -iঅপ্রয়োজনীয়ভাবে পরিচালনা করা কঠিন কারণ এটি আপনার সুবিধাগুলিটিকে সময়সীমার জন্য রুটে উন্নীত করে যখন আপনাকে কেবল একটি কমান্ড চালানোর জন্য রুট হওয়া দরকার।


3

আমি একটি স্ক্রিপ্ট ব্যবহার করি sgeditযা ফন্ট, ট্যাব এবং এক্সটেনশনের জন্য ব্যবহারকারী পছন্দগুলি উত্তরাধিকার সূত্রে প্রাপ্ত হয়। এটি জিইউআই পরিবেশে স্থিতিশীলতার sudo -H geditপরিবর্তে ব্যবহার করে gksu gedit। এটি একটি পাসওয়ার্ডের জন্য অনুরোধ জানায়।

আছে sudoউত্তরাধিকারী আপনার ব্যবহারকারী অ্যাকাউন্টের geditসেটিংস

sgedit 80 কলাম ডান স্লাইডার.gif

এই উদাহরণে ফন্টের নাম, ফন্টের আকার, ট্যাব স্টপস, ট্যাবগুলিকে স্পেসে রূপান্তর, 80 কলাম হাইলাইট এবং ডান পাশের থাম্বনেইল স্লাইডার বারের জন্য ব্যবহারকারীর সেটিংস উত্তরাধিকার সূত্রে প্রাপ্ত হয়েছে sudo

নিয়মিত sudo -H geditআপনি এই কনফিগারেশন সেটিংস তৈরি বা সংরক্ষণ করতে পারবেন না। নীচের স্ক্রিপ্টটির সাথে sgeditসেটিংসটি আপনার ব্যবহারকারীর অ্যাকাউন্ট থেকে উত্তরাধিকার সূত্রে প্রাপ্ত।

এই স্ক্রিপ্টটি " gksuখারাপ এটি ডিফল্টরূপে ইনস্টল করা নেই" এবং " pkexecসেটআপ করা শক্ত" সমস্যাগুলিও সম্বোধন করে ।


পটভূমি

আমি বছরের পর বছর ধরে একই সমস্যা দ্বারা আটকানো হয়েছে। এই উইকএন্ডের প্রকল্পটি sgeditস্ক্রিপ্টটি লেখার ছিল :

  • কল করে কল করুন sgedit filename1 filename2...
  • ট্যাব স্টপস, হরফ, লাইন-মোড়ানো ইত্যাদির জন্য ব্যবহারকারীর জেডিট সেটিংস পান
  • sudo -Hরুট পাওয়ার পাওয়ার সাথে সাথে ফাইলের মালিকানা সংরক্ষণে উন্নীত হয় ।
  • শেষ সুডোর সময় শেষ হয়ে গেলে পাসওয়ার্ডের অনুরোধ জানায়।
  • সুডোর জিডিট সেটিংস পান
  • ব্যবহারকারী এবং সুডো জিডিট সেটিংসের মধ্যে পার্থক্য তুলনা করে
  • রান gsettings setপার্থক্য শুধুমাত্র (174 হ্রাস setএকটি ডজন আদেশগুলি বা তার কম। পরের বার এটি চালানোর হচ্ছে সম্ভবত শুধুমাত্র একটি বা দুটি পরিবর্তন কিন্তু প্রায়ই বার কেউই।
  • একটি পটভূমি টাস্ক হিসাবে জিডিট কল যেমন টার্মিনাল প্রম্পট তত্ক্ষণাত্ উপস্থিত হয়।

বাশ স্ক্রিপ্ট sgedit

#!/bin/bash

# NAME: sgedit
# PATH: /mnt/e/bin
# DESC: Run gedit as sudo using $USER preferences
# DATE: June 17, 2018.

# Must not prefix with sudo when calling script
if [[ $(id -u) == 0 ]]; then
    zenity --error --text "You cannot call this script using sudo. Aborting."
    exit 99
fi

# Get user preferences before elevating to sudo
gsettings list-recursively | grep -i gedit | grep -v history |
    grep -v docinfo |
    grep -v virtual-root | grep -v state.window > /tmp/gedit.gsettings

sudoFunc () {
    # Must be running as sudo
    if [[ $(id -u) != 0 ]]; then
        zenity --error --text "Sudo password authentication failed. Aborting."
        exit 99
    fi

    # Get sudo's gedit preferences
    gsettings list-recursively | grep -i gedit | grep -v history |
        grep -v docinfo |
        grep -v virtual-root | grep -v state.window > /tmp/gedit.gsettings.root
    diff /tmp/gedit.gsettings.root /tmp/gedit.gsettings | grep '>' > /tmp/gedit.gsettings.diff
    sed -i 's/>/gsettings set/g; s/uint32 //g' /tmp/gedit.gsettings.diff
    chmod +x /tmp/gedit.gsettings.diff
    bash -x /tmp/gedit.gsettings.diff  # Display override setting to terminal
    nohup gedit $@ &>/dev/null &
}

FUNC=$(declare -f sudoFunc)
sudo -H bash -c "$FUNC; sudoFunc $*;"

গৃহস্থালি

নামক একটি নতুন ফাইল উপরে ব্যাশ স্ক্রিপ্ট কপি sgedit। আমি এটি আপনার $HOME/binডিরেক্টরিতে রাখার প্রস্তাব দিই , যেমন /home/YOURNAME/bin। আপনাকে প্রথমে ডিরেক্টরি তৈরি করতে হতে পারে।

ব্যবহার করে ফাইলটিকে এক্সিকিউটেবল হিসাবে চিহ্নিত করুন:

chmod a+x ~/sgedit

নোট ~একটি শর্টকাট জন্য /home/YOURNAME


0

উবুন্টু 18.04: কিছু ইনস্টলেশন প্রোগ্রাম এবং অন্যদের একই নামের সাথে উপলব্ধ হওয়ার জন্য গ্যাক্সুডো বা গিক্সু প্রয়োজন। এই কাজগুলি করতে:

এর জিনোম সংস্করণ ইনস্টল করুন ssh-askpass। এটি ছাড়া পাসওয়ার্ড ডায়ালগটি অন্য উইন্ডোর পিছনে লুকিয়ে থাকতে পারে:

sudo apt-get install ssh-askpass-gnome

নতুন ফাইল তৈরি করুন my-gksudo.sh:

sudo -H gedit /etc/profile.d/my-gksudo.sh

ফাইল সামগ্রী:

export SUDO_ASKPASS=/usr/bin/ssh-askpass

অভিন্ন বিষয়বস্তু সহ নতুন ফাইলগুলি গেক্সুডো এবং গিকসু তৈরি করুন:

sudo -H gedit /usr/bin/gksudo

এবং

sudo -H gedit /usr/bin/gksu

উভয়ের জন্য ফাইল সামগ্রী:

sudo -A $@

Gksudo এবং gksu কার্যকর কার্যকর করুন:

sudo chmod +x /usr/bin/gksudo

এবং

sudo chmod +x /usr/bin/gksu

কম্পিউটারটি রিবুট করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.