লিনাক্সের অন্যান্য ব্যবহারকারীর মাধ্যমে গ্রাফিকাল অ্যাপ্লিকেশন চালাতে কীভাবে xauth ব্যবহার করবেন


48

আমার নিয়মিত ব্যবহারকারীর অ্যাকাউন্টটি, যাক, ইউজার 1। আমি কিছু এক্স অ্যাপ্লিকেশনের জন্য পৃথক ইউজার 2 তৈরি করেছি যা আমি এক্স 1 হিসাবে ইউজার 1 হিসাবে লগ ইন করার সময় চালাতে চাই তবে এমন পদ্ধতিতে যা এটি ব্যবহারকারীর 1 ডেটা পড়তে / লেখার অ্যাক্সেস থেকে বাধা দেবে। আমি ভেবেছিলাম যে এই অ্যাপ্লিকেশনটি চালানোর জন্য আমি ব্যবহারকারীর 1 থেকে xauth এবং sudo / su ব্যবহার করতে পারি। আমি এটা কিভাবে করবো? Xauth কীভাবে কনফিগার করবেন তা আমি নিশ্চিত নই।

উত্তর:


32

ব্যবহারকারী 1 রান হিসাবে নির্বাচিতভাবে xauth ব্যবহার করতে :

xauth list|grep `uname -n`

এটি আপনার জন্য হেক্সকি অনুমোদনের এন্ট্রি মুদ্রণ করে। আপনার সেই হোস্টগুলির সাথেও আলাদা আলাদা ডিসপ্লে যুক্ত থাকতে পারে

হিসাবে ব্যবহারকারী 2 আপনার প্রদর্শন সেট করে (ডিফল্ট কেস ধরে):

DISPLAY=:0; export DISPLAY

তারপরে চালান:

xauth add $DISPLAY . hexkey

$ DISPLAY এর পরে এবং হেক্স্কির আগে ডটটি নোট করুন।

যখন অ্যাক্সেস আর প্রয়োজন হয় না, ব্যবহারকারী 2 হিসাবে আপনি চালাতে পারেন:

xauth remove $DISPLAY

সমস্যা 1: ব্যবহারকারী .Xauthority2 এর হোম ডিরেক্টরিতে ইউজার 2 এর কোনও ফাইল নেই । সমস্যা 2: কোনওভাবে এবং কোনও কারণে আমি বুঝতে পারি না, এর পরে su, XAUTHORITY ফাইলপথটি ইউজার 1 এর কাছে ধারণ করে। তবে সেই ফাইলটি ব্যবহারকারী 2 দ্বারা পঠনযোগ্য নয়।
ওথিউস

দেখে মনে হচ্ছে, আপনি ব্যবহারকারী 2 এর unset XAUTHORITY অধীনে ভুলে গেছেন
217 এ সকেটপায়ার

হয় hexkeyxauth addথেকে হিসাবে একই কমান্ড xauth listঅথবা আমি একটি র্যান্ডম নতুন তৈরি করতে হবে?
বোনানজা

বনানজা: এটি xauth তালিকা থেকে এক আউটপুট।
জন একেনবেরি

1
এটি করার আরেকটি উপায় হ'ল ... "xauth এক্সট্রাক্ট - $ DISPLAY | sudo -iu স্টিম xauth মার্জ -"। এই ক্ষেত্রে আমার কাছে প্রফাইলে XAUTHORITY সেট আছে, সুতরাং 'sudo -i' সেটটি সঠিকভাবে পেয়ে যায়।
জন একেনবেরি

12

আমি আমার সাথে .zshrcএকটি লাইন রেখেছি export XAUTHORITY=~/.Xauthorityএবং এখন আমি কার্যকর করতে সক্ষম হয়েছি sudo -E xcommand। অনেকগুলি গুগল করার পরে, আমার জন্য এটি ছিল সবচেয়ে সহজ উপায়।


1
নোট করুন যে এই পদ্ধতিটি সাধারণত আপনার ব্যবহারের প্রয়োজন হয় না sudo -E(এবং -Eবেশিরভাগ ডিফল্ট ইনস্টলগুলিতে ব্যবহার নিষ্ক্রিয় করা হয়) কারণ সাধারণত ডিফল্ট sudoersকনফিগারেশনটি XAUTHORITYপরিবেশের পরিবর্তনশীলটিকে সুডোতে যেতে দেয় ।
গাস

@ গুস এর প্রয়োজন নেই -E । এটি একটি পরিবর্তনশীল হিসাবে সেট করা যেতে পারে যা পাস হতে পারে এবং রেড হ্যাট বা দেবিয়ান উভয়ই এটির পরামর্শ দেয়।
ড্যানিয়েল সি সোব্রাল

@ ড্যানিয়েলসি.সোব্রাল - যা আমি বলেছিলাম :-)
গাস

ওহ, দুঃখিত আপনার লেখা প্রতিটি বাক্য আমি কোনওভাবে উল্টো করে দিয়েছি। :-)
ড্যানিয়েল সি সোব্রাল

তবুও আমার জন্য কাজ করেননি, ম্যাক ওএস এক্সে
জেডএস

9

ধরে নিচ্ছেন ডেবিয়ান বা উবুন্টু (রেড হ্যাট / এসইউএসই-তে একই হওয়া উচিত)।

sudo apt-get install sux
sux user -c 'command'

+1 ভাল উত্তর, চাকাটি পুনর্নির্মাণের কোনও অর্থ নেই। ঘটনাচক্রে, sux বেশিরভাগই আমার উপরের উত্তরটি যা বোঝায় সেগুলি করে। অবশ্যই এটি আরও শক্তিশালী এবং সহজ ব্যবহার।
সলসকে

আপনি খেয়াল করতে পারেন, 'sux' সত্যই একটি সাধারণ শেল স্ক্রিপ্টও ..
মার্টিন মাচলার

5
suxunmaintained (এবং Debian / Ubuntu- এর ভান্ডার থেকে সরানো) হল: packages.qa.debian.org/s/sux/news/20140101T172633Z.html
রব ডব্লিউ

9

প্রথম: ব্যবহার করবেন না xhost +, এটি বরং অনিরাপদ (কম্বল অনুমতি দেয় / অস্বীকার করে)।

বরং এক্স-কুকি প্রক্রিয়াটি ব্যবহার করুন:

su user2
cp /home/user1/.Xauthority /home/user2/.Xauthority 
export DISPLAY=:0

বিকল্পভাবে, আপনি suxইনস্টল করা থাকলে, এটি ব্যবহার (ehempel এর উত্তর দেখুন)।

উভয় ক্ষেত্রেই ব্যবহারকারী 2 এক্স সার্ভারে অনুমোদন দেওয়ার জন্য .Xauthority মধ্যে গোপন কুকি ব্যবহার করবে এবং অন্য কারও কাছে এটির অ্যাক্সেস থাকবে না।

নোট:

  • আপনার ফাইল অনুমতিগুলির উপর নির্ভর করে আপনাকে অন্য কোনও উপায়ে .অনুষ্ঠানিকতা অনুলিপি করতে হতে পারে।
  • অনুলিপি করার পরিবর্তে .Xauthority, আপনি xauthঅনুমোদনের কীটি বের করতে এবং অনুলিপি করতেও ব্যবহার করতে পারেন (র্যান্ডালের উত্তর দেখুন)। আপনার যদি .Xauthorityফাইলটিতে একাধিক কী থাকে তবে এটি আরও নির্বাচনী; অন্যথায় এটি স্বাদের বিষয়।

হ্যাঁ, আমার সেই মেশিনে রুট অ্যাক্সেস রয়েছে
ফিল

এটি কেবল রুট অ্যাক্সেসের মাধ্যমে xauth কুকিজগুলি ম্যানুয়ালি অনুলিপি করছে। এটি জাওথ ব্যবহার করা থেকে আলাদা নয় কারণ র্যান্ডাল (বর্তমান) শীর্ষের উত্তরে ব্যাখ্যা করে, এটি যদি 'কৌতুক তালিকা' প্রদর্শিত প্রতিটি কুকির অনুলিপি করে। সুতরাং এটি শীর্ষে জাওথ উত্তরের চেয়ে কম সুরক্ষিত যা কেবলমাত্র আপনার চয়ন করা কুকিগুলিকে যুক্ত করবে।
জন একেনবেরি

@ জনএইকেনবেরি: সত্য, এটি দেখানোর জন্য ধন্যবাদ thanks আমি আমার উত্তর আপডেট।
sleske

7

এটি সমস্ত ব্যবহারকারীর জন্য সমস্যার সমাধান করবে:

cat <<EOF > /etc/profile.d/xauth.sh
#!/sbin/bash
export XAUTHORITY=~/.Xauthority
EOF

এটি মূলত আমি যা করেছি এবং এটি দুর্দান্ত কাজ করেছে, ধন্যবাদ!
20:32

3

মূল হিসাবে:

xhost local:yourusername

যেখানে আপনার ব্যবহারকারীর নাম আপনার ব্যবহারকারীর নাম :)

আপনার ব্যবহারকারী xclockএটি ইনস্টল করা উচিত হিসাবে কাজ করা উচিত হিসাবে su ব্যবহার করুন


2

এগুলি কেবল হ্যাকস:

  • xauth + (অনিরাপদ)
  • ssh -X ইউজার 2 @ লোকালহোস্ট (কুরুচিপূর্ণ)

উপরে sleske আছে, আমি মনে করি, সঠিক সমাধান।


ssh -Xএকটি খুব সহজ এবং মার্জিত সমাধান, কোনও অবমানিত / অবিচ্ছিন্ন gtk / kde স্টাফের উপর নির্ভর করে না (যার জন্য SID বিটের সাথে আরও বাইনারি ইনস্টল করা প্রয়োজন ...)।
স্টিফান

2

আমি কেডিএতে আমার জন্য দুর্দান্ত কাজ করার একটি জিনিস পেয়েছি

kdesu -u username /path/to/program

এর ডেবিয়ান অংশ উপর kde-cli-tools, এবং মধ্যে $PATHকিন্তু /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu(স্পষ্টত আর্কিটেকচারের উপর নির্ভর করে)।
স্টিফান

0

মামলা / খোলা ব্যবহারে এই উপায়ে তৈরি করা হয়েছে: http://www.novell.com/support/kb/doc.php?id=7003743

কেবলমাত্র /etc/pam.d/su পরিবর্তন করে বিকল্পটি (সাহসী) যুক্ত করুন:

সেশন al চ্ছিক pam_xauth.so systemuser = 1

তারপরে আপনি su ছাড়া স্যুইচ করতে পারেন -:

su ব্যবহারকারী 2

এবং অ্যাপ্লিকেশনটি গ্রাফিকালি চালিত করুন।


-1

জিনোমের জন্য (এবং কোনও ডেস্কটপ পরিবেশ সত্যিই ছাড়াই, আমি এটি কেবল আইসডব্লু দিয়ে ব্যবহার করি) gksu:

gksu -u username program

"gksu বছরের পর বছর ধরে অবহেলা
স্টিফান

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

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