সুরক্ষা এবং গোপনীয়তায় লোকেশন পরিষেবাদিগুলি থেকে ম্যাক ওএস এক্স 10.8 এ অ্যাপ্লিকেশনগুলি সরান


20

আমি ম্যাক ওএস এক্স 10.8 মাউন্টেন লায়নটিতে সুরক্ষা এবং গোপনীয়তার সেটিংসে অবস্থান পরিষেবাগুলি থেকে অ্যাপ্লিকেশনগুলি সরিয়ে দিতে চেয়েছিলাম। (অ্যাপসটি আনইনস্টল করা সত্ত্বেও এখনও তালিকাভুক্ত ছিল)) আমি ম্যাক ওএস এক্স 10.7 এর সুরক্ষা এবং গোপনীয়তায় অবস্থান পরিষেবাদি থেকে অ্যাপ্লিকেশন সরান পোস্টটি পেয়েছি এবং এটি আমাকে সঠিক দিকে যেতে বাধ্য করেছে। এখানে OS X 10.8.2 মাউন্টেন লায়ন সমতুল্য যেটি আমার পক্ষে কাজ করেছিল। মূল পার্থক্য হ'ল ক্লায়েন্ট.প্লেস্ট ফাইলের অবস্থান। আমি এক ধাপে ধাপে প্রক্রিয়া সরবরাহ করতে চেয়েছিলাম।

অস্বীকৃতি: এটি আমার পক্ষে কাজ করেছে। আপনার সিস্টেমের একটি ভাল ব্যাকআপ রয়েছে তা নিশ্চিত করুন। এই প্রক্রিয়াটির মধ্যে ক্লায়েন্ট.প্লেস্ট ফাইলটির ব্যাকআপ নেওয়া অন্তর্ভুক্ত তবে কোনওটি কখনই খুব বেশি নিরাপদ হতে পারে না।

1. টার্মিনাল শুরু করুন এবং তারপরে একটি রুট শেলের সাথে sudo করুন
sudo -s

2. / var / db / অবস্থানের উপর যান
cd /var/db/locationd

৩. ক্লায়েন্ট.পলিট ফাইলটির ব্যাকআপ নিন
cp -p clients.plist clients.plist.save

৪. ক্লায়েন্ট.প্লেস্টকে এক্সএমএল (সম্পাদনযোগ্য ফর্ম্যাট) এ রূপান্তর করুন
plutil -convert xml1 clients.plist

৫. ক্লায়েন্ট.প্লেস্ট ফাইলটি সম্পাদনা করতে এবং অ্যাপ্লিকেশনটি সরাতে vi (vim) ব্যবহার করুন।
vi clients.plist

ফাইলটিতে সম্ভবত অনেকগুলি অ্যাপ্লিকেশন এন্ট্রি থাকবে। এখানে একটি একক অ্যাপ্লিকেশন প্রবেশের ফর্ম্যাট (এই ক্ষেত্রে সাফারি)। পুরো এন্ট্রি মুছতে হবে।

    <key>com.apple.Safari</key>
    <dict>
        <key>Authorized</key>
        <true/>
        <key>BundleId</key>
        <string>com.apple.Safari</string>
        <key>Executable</key>
        <string>/Applications/Safari.app/Contents/MacOS/Safari</string>
        <key>LocationTimeStopped</key>
        <real>376348187.80421197</real>
        <key>Registered</key>
        <string>/Applications/Safari.app/Contents/MacOS/Safari</string>
        <key>RequirementString</key>
        <string>identifier "com.apple.Safari" and anchor apple</string>
        <key>Whitelisted</key>
        <false/>
    </dict>

The. ক্লায়েন্টস.প্লেস্ট ফাইলটিকে বাইনারিতে ফিরে রূপান্তর করুন
plutil -convert binary1 clients.plist

7. পুনরায় চালু করুন
killall locationd

অ্যাপসটি যদি এখনও সেখানে থাকে তবে পিআইডি নির্ধারণের পরে কিল -9 ব্যবহার করে পুনরায় আরম্ভ না করে প্রক্রিয়াটি আবার করুন। পিআইডি হ'ল পিএস আউটপুটে দ্বিতীয় ক্ষেত্র।

ps -ef | grep locationd | grep -v grep
আউটপুট: 205 427 1 0 6:31PM ?? 0:00.07 /usr/libexec/locationd
kill -9 427

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

যদি জিনিসগুলি খারাপভাবে চলে যায় তবে মূল ফাইলটি অনুলিপি করুন এবং অবস্থান পুনরায় চালু করুন।
cp -p clients.plist.save clients.plist
killall locationd(বা হত্যা -9 পদ্ধতি)

আশা করি এটা কাজে লাগবে. চিয়ার্স!


1
হিট-হুপ আরও নির্ভরযোগ্য হতে পারে; এটি কোনও লেমনকে তার ক্যাশে ফ্লাশ করতে এবং এর কনফিগার ফাইলটি পুনরায় পড়তে বলার জন্য লিগ্যাসি কিল সংকেত। আমি দেখতে পাচ্ছি যে কিল্লাল -HUP অবস্থানযুক্ত কাজ করবে। অন্যান্য হত্যাকাণ্ড কাজ না করার একটি সম্ভাব্য কারণ হ'ল নতুন বানানো প্রক্রিয়াটি ক্যাশে ফাইলগুলি পড়ে থাকতে পারে।
নেভিন উইলিয়ামস

মজাদার ঘটনা: হাই সিয়েরার আগে এই আচরণটির অস্তিত্ব ছিল কিনা তা আমি নিশ্চিত নই, তবে কমপক্ষে এই ম্যাকোজে আপনি যদি এমন কোনও ফাইলটি চেক করেন যা পছন্দসই ফলকে আর বিদ্যমান না থাকে, সাধারণত অ্যাপ্লিকেশন আর তালিকায় এটি প্রদর্শন করে না। যাইহোক, এই পদ্ধতিটি ব্যবহার করে, আমি আবিষ্কার করেছি যে এইগুলি মুছে ফেলা অ্যাপ্লিকেশনগুলির মধ্যে বেশ কয়েকটি সত্যই এখনও তালিকায় রয়েছে, কেবল প্রদর্শিত হয়নি।
DonielF

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

উত্তর:


5

পুরানো অ্যাপ্লিকেশনগুলির এন্ট্রিগুলি মুছতে এক্সকোডের সম্পত্তি তালিকার সম্পাদকটিও ব্যবহার করা যেতে পারে, তবে ফাইলটি যেহেতু পাওয়া শক্ত, তাই অস্থায়ীভাবে অনুমতিগুলি খুলতে হবে:

mini-nevie:~ root# chmod o+rwx /var/db/locationd/ /var/db/locationd/clients.plist

সুতরাং ডিরেক্টরি এবং ফাইলটি সমস্ত ব্যবহারকারী পড়তে এবং লিখতে পারবেন। তারপরে, সুবিধার জন্য, আপনার লগইন আইডিতে মামলা করুন:

mini-nevie:~ root# su - nevinwilliams
mini-nevie:~ nevinwilliams$ open /var/db/locationd/clients.plist 

এটি ধরে নিয়েছে যে * .লিস্ট ফাইলগুলি খোলার জন্য Xcode হ'ল ডিফল্ট অ্যাপ্লিকেশন এবং আপনি সম্পত্তি তালিকা সম্পাদকের সাথে পরিচিত। রুট বৈশিষ্ট্যের অধীনে, 3 টি ডিফল্ট ডিকশনারি এন্ট্রি রয়েছে:

com.appl
com.appl.locationd.executable-/usr/libexec/UserEventAgent
com.appl.aosnotifyd

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

একবার আপনি নিজের সন্তুষ্টির কীগুলি মুছুন বা অক্ষম করুন, ফাইলটি সংরক্ষণ করুন এবং এক্সকোডটি প্রস্থান করুন। তারপরে, টার্মিনালে ফিরে, করুন:

mini-nevie:~ nevinwilliams$ exit
logout
mini-nevie:~ root# 

chmod কমান্ডটি পুনরায় স্মরণ ctrl-Aকরতে, লাইনটির প্রারম্ভিক দিকে যেতে, cursor-rightপ্রায় আট বার, '+' কে '-' তে পরিবর্তন করতে, বা অনুমতিগুলি কী ছিল সেগুলি পুনরুদ্ধার করার জন্য নিম্নলিখিতটি লিখুন:

mini-nevie:~ root# chmod o-rwx /var/db/locationd /var/db/locationd/clients.plist 

তারপরে অবস্থান ডেমনটি এইচপি করুন:

 mini-nevie:~ root# killall -HUP locationd

সুরক্ষার একটি দ্রুত চেক। প্রিফ্পেন গোপনীয়তা ট্যাবটি আপনার পরিবর্তনগুলি নিশ্চিত করতে হবে।

স্ট্যান্ডার্ড অস্বীকৃতি, ধিক্কার, সতর্কতার বিবরণ, ক্লকিংস এবং "এই ট্রিপটি কি আসলেই প্রয়োজনীয়?" প্রতিবিম্ব বিশেষভাবে প্রযোজ্য।


3

Tccutil (ওএস এক্স কমান্ড লাইন ইউটিলিটি) ব্যবহার করে

আমি মনে করি এটি করার সবচেয়ে দ্রুত এবং নিরাপদতম উপায় হ'ল ওএস এক্স কমান্ড লাইন ইউটিলিটি tccutil

  • একটি নতুন টার্মিনাল উইন্ডো খুলুন
  • যে কোনও খোলা "সুরক্ষা ও গোপনীয়তা" প্রিফ্পেন উইন্ডোটি বন্ধ করুন
  • নিম্নলিখিত হাইলাইট কমান্ডগুলি থেকে টাইপ করুন বা আটকান

অবস্থান পরিষেবাগুলি পুনরায় সেট করুন

tccutil reset CoreLocationAgent

পরিচিতি / ঠিকানা বইতে অ্যাক্সেস পুনরায় সেট করুন:

tccutil reset AddressBook

অনুস্মারকগুলিতে অ্যাক্সেস পুনরায় সেট করুন

tccutil reset Reminders

ক্যালেন্ডারে অ্যাক্সেস পুনরায় সেট করুন

tccutil reset Calendar

এবং এটি এখানে আছে। কোনও সুডোর দরকার নেই, যাই হোক।


দুর্ভাগ্যক্রমে আমার জন্য কাজ করছি না। আমি ডাটাবেস বার্তাটি পুনরায় সেট করতে ব্যর্থ হয়েছি।
অদ্ভুত সময়

@ স্ট্রিংটাইমস: আমি এ সম্পর্কে পুরোপুরি ভুলে গিয়েছিলাম। আমি এই লিঙ্কটিতে উল্লিখিত পরিবর্তিত tccutil চেষ্টা করে দেখিনি, তবে এটি আমার কাছে শট করার মতো বলে মনে হচ্ছে: github.com/jacobsalmela/tccutil
Andreas

@ স্ট্রাইজটাইমস: আমি উল্লেখ করতে ভুলে গেছি যে এটি কাজ করছে না তার কারণটি সিস্টেম অখণ্ডতা সুরক্ষার কারণেই হয়েছে, github.com/jacobsalmela/tccutil
Andreas

কমান্ডটি tccutil reset CoreLocationAgentআর কাজ করবে বলে মনে হচ্ছে না। এই সমস্যাটি দেখুন ।
নিক্স

এটি আমার পক্ষে ক্যালেন্ডারগুলি সরানোর জন্য কাজ করেছে তবে নতুন অনুমোদনের জন্য অনুরোধ করছে না। এটি করার জন্য আমাকে ব্যবহারকারী / গ্রন্থাগার / ক্যালেন্ডার / ক্যালেন্ডার ক্যাশে ডাটাবেসটি সরিয়ে ফেলতে হয়েছিল এবং তারপরে কম্পিউটারটি পুনরায় চালু করতে হবে
Cristi Băluță

1

এটি পুরানো এবং আমার প্রস্তাবিত সমাধানটি পোস্টের সমাধান থেকে প্রযুক্তিগতভাবে পৃথক নয় এবং একটি গ্রহণযোগ্য হয়েছে, তবে এটি স্বয়ংক্রিয়ভাবে চালানো অনেক কম ঝামেলা এবং অনেক সহজ (ডিবাগিংয়ের জন্য দরকারী)। শুধু কর

/usr/libexec/PlistBuddy -c 'Delete <bundle-id>' /var/db/locationd/clients.plist
killall -HUP locationd

মূল হিসাবে


আমার জন্য কাজ কর. ধন্যবাদ!
ডিবিভি

0

পূর্ববর্তী উত্তরগুলি ছাড়াও, ফাইলের মালিকানা সংশোধন করার পরে এই সমস্যাটি কেবল আমার জন্য চলে গেল:

# chown -R _locationd:_locationd /var/db/locationd/
# chmod 750 /var/db/locationd/
# chmod 644 /var/db/locationd/clients.plist

তারপরে কম্পিউটারটি পুনরায় চালু করুন।

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