ইভানস শুরু করতে ব্যর্থ হয়েছে কারণ এটি পড়তে পারে না aঅধিকার


10

আমি উবুন্টু 10.04 (লুসিড) চালিত মেশিনে এক্স ফরওয়ার্ডিং সহ এসএসএইচে দূরবর্তীভাবে লগ ইন করছি। বেশিরভাগ এক্স 11 অ্যাপ্লিকেশন (যেমন এক্সটার্ম, জিনোম-টার্মিনাল) ঠিকঠাক কাজ করে। তবে ইভানস শুরু হয় না। ~/.Xauthorityফাইলটি উপস্থিত থাকলেও এটি পড়তে অক্ষম বলে মনে হয় এবং এটি স্পষ্টতই পঠনযোগ্য (এটির সঠিক অনুমতি রয়েছে এবং অন্যান্য অ্যাপ্লিকেশনগুলি এটি ঠিকঠাকভাবে পড়ে) read

$ evince
X11 connection rejected because of wrong authentication.
Cannot parse arguments: Cannot open display:
$ echo DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY
DISPLAY=localhost:10.0 XAUTHORITY=
$ strace evince
…
access("/home/gilles/.Xauthority", R_OK) = 0
open("/home/gilles/.Xauthority", O_RDONLY) = -1 EACCES (Permission denied)
…
$ ls -l ~/.Xauthority
-rw------- 1 gilles gilles 496 Jul  5 13:34 /home/gilles/.Xauthority

এভিন্স সম্পর্কে এত বিশেষ কী যে এটি পড়তে পারে না ~/.Xauthority? আমি কীভাবে এটি শুরু করতে পারি?

উত্তর:


12

টিএল, ডিআর: এটি অ্যাপারমোরের দোষ, এবং আমার হোম ডিরেক্টরিটি বাইরে থাকার কারণে /home

উবুন্টু 10.04-এর একটি ডিফল্ট ইনস্টলেশনের অধীনে অ্যাবারমোর প্যাকেজটি উবুন্টু-স্ট্যান্ডার্ড প্যাকেজের পরোক্ষ প্রস্তাব-স্তরের নির্ভরতা হিসাবে টানছে । সিস্টেম লগগুলি ( /var/log/syslog) দেখায় যে অ্যাপারমার এভিন্সের পড়ার প্রয়াস প্রত্যাখ্যান করছে ~/.Xauthority:

Jul 5 17:58:31 darkstar kernel: [15994724.481599] type=1503 audit(13415 03911.542:168): operation="open" pid=9806 parent=9805 profile="/usr/bin/evince" requested_mask="r::" denied_mask="r::" fsuid=1001 ouid=1001 name="/elsewhere/home/gilles/.Xauthority"

অ্যাপারমার (ইন /etc/apparmor.d/usr.bin.evince) এর জন্য ডিফল্ট ইভানিসের কনফিগারেশনটি খুব অনুমোদিত: এটি সমস্ত হোম ডিরেক্টরিতে স্বতন্ত্রভাবে পড়তে এবং লেখার অনুমতি দেয় allows তবে এই মেশিনে আমার হোম ডিরেক্টরিটি অ-মানক অবস্থানের প্রতীকী লিঙ্ক যা ডিফল্ট AppArmor কনফিগারেশনে তালিকাভুক্ত নয়। অ্যাক্সেসের অধীনে অনুমোদিত /home, তবে আমার হোম ডিরেক্টরিটির আসল অবস্থান /elsewhere/home/gillesতাই অ্যাক্সেস অস্বীকার করা হয়েছে।

এই সমস্যা দ্বারা প্রভাবিত হতে পারে এমন অন্যান্য অ্যাপ্লিকেশনগুলির মধ্যে রয়েছে:

  • ফায়ারফক্স, তবে এর প্রোফাইলটি ডিফল্টরূপে অক্ষম করা হয়েছে (প্রতীকী লিঙ্কের উপস্থিতিতে /etc/apparmor.d/disable/usr.bin.firefox -> /etc/apparmor.d/usr.bin.firefox)।
  • সিইপিএস পিডিএফ প্রিন্টিং; আমি পরীক্ষা করিনি, তবে আমি এটিতে লেখার ব্যর্থতা আশা করি ~/PDF

আমার ফিক্সটি ছিল /etc/apparmor.d/tunables/home.d/localলাইনটি সম্পাদনা করা এবং যুক্ত করা

@{HOMEDIRS}+=/elsewhere/home/

হোম ডিরেক্টরিগুলির অ-মানক অবস্থানটি স্বীকৃতি পেতে (চূড়ান্ত /গুরুত্বপূর্ণটি মনে রাখবেন ; এতে মন্তব্যগুলি দেখুন /etc/apparmor.d/tunables/home.d/ubuntu), তারপরে /etc/init.d/apparmor reloadঅ্যাপারমোর সেটিংস আপডেট করতে চালনা করুন।

যদি আপনার প্রশাসকের অধিকার না থাকে এবং সিস্টেম অ্যাডমিনিস্ট্রেটরটি প্রতিক্রিয়াহীন না হয়ে থাকে তবে আপনি evinceবাইনারিটি অন্য কোনও জায়গায় যেমন অনুলিপি করতে পারেন ~/bin, এবং এটি অ্যাপারমার নীতি দ্বারা আবৃত হবে না (সুতরাং আপনি এটি শুরু করতে সক্ষম হবেন তবে অ্যাপ্পর্মার সরবরাহ করে এমন খুব সীমাবদ্ধ অতিরিক্ত সুরক্ষা বহন করা হবে না)।

এই সমস্যাটি উবুন্টু বাগ # 447292 হিসাবে রিপোর্ট করা হয়েছে । রেজোলিউশনটি কেসটি পরিচালনা করে যখন কিছু ব্যবহারকারীর নিজস্ব ডিরেক্টরি ডিরেক্টরি /etc/passwdবাইরের তালিকাভুক্ত থাকে /homeতবে আমার ক্ষেত্রে যেমন /home/gillesপ্রতীকী লিঙ্ক থাকে তেমন ক্ষেত্রে হয় না ।


ধন্যবাদ. উবুন্টু ১.0.০৪-তে, সম্পর্কিত ফাইলটি '/etc/apparmor.d/uneables/home.d/ubuntu' এবং এটি নিজেই সম্পাদনা করার পরিবর্তে একটি চালিত হওয়ার পরামর্শ দেয়: 'sudo dpkg-reconfigure apparmor' (যা আপনাকে দেবে বাড়ির অবস্থানগুলি যুক্ত করার সুযোগ)
arr_sea

2

একই সমস্যা ছিল এবং আপনার উত্তর আমাকে সঠিক দিকে নির্দেশ করেছে। আমি একটি আলাদা সমাধান পেয়েছি যার জন্য অ্যাপারমোর কনফিগারেশন সম্পাদনা করার দরকার নেই। অ্যাক্সেসকে পুনর্নির্দেশ করতে একটি সিমিলিংক /homeব্যবহার না করে bindবিকল্পটি চালু করুন mount। আমি নিম্নলিখিত লাইনটি যুক্ত করেছি /etc/fstab:

/elsewhere/home /home none bind

একবার আপনি এটি করেন, অ্যাপমর্ম এমনকি এমনকি জানবেন না যে ডিরেক্টরিগুলি /home"সত্যই" অন্য কোথাও অবস্থিত, তাই অভিযোগগুলি দূরে চলে যাবে।

এই পদ্ধতির সুবিধাটি হ'ল এটি প্রতিটি অ্যাপ্লিকেশনগুলির জন্য পৃথক অ্যাপ্লর্মর কনফিগারেশন ফাইলকে সম্পাদনা না করেই কাজ করবে।


1
এটি আমার ক্ষেত্রে প্রযোজ্য ছিল না: এখানে হোম ডিরেক্টরি ছিল /homeএবং অন্যদের অধীনে ছিল না /home। এই ক্ষেত্রে এর জন্য একটি বৈকল্পিক বাঁধে-mount হয় /elsewhere/home/gillesথেকে /home/gilles, অথবা /elsewhere/homeকরার /home/elsewhere
গিলস 15'৩
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.