ফাইল অনুমতি কেবল কার্যকর


12

আমি কীভাবে ফাইলটিকে কেবল অন্য ব্যবহারকারীদের জন্য এক্সিকিউটেবল হিসাবে সেট করতে পারি তবে পাঠযোগ্য / লিখনযোগ্য নয়, এর কারণটি আমি নিজের ব্যবহারকারীর নাম দিয়ে কিছু সম্পাদন করছি তবে আমি পাসওয়ার্ডটি দিতে চাই না। আমি চেষ্টা করেছিলাম :

chmod 777 testfile
chmod a=x
chmod ugo+x

অন্য ব্যবহারকারী হিসাবে মৃত্যুদণ্ড কার্যকর করার সময় আমি এখনও অনুমতি অস্বীকার পেয়েছি।


এটি অন্য ব্যবহারকারী হিসাবে না হিসাবে কার্যকর যখন? এবং এটি কি কোনও স্ক্রিপ্ট, বা বাইনারি প্রোগ্রাম? দোভাষী দ্বারা স্ক্রিপ্টগুলি অবশ্যই পড়তে হবে।
psusi

আপনার কি ফাইলের শীর্ষে শেবাং আছে? #! / বিন / শ
জে ব্যারন

উত্তর:


10

এটি সম্পাদন করতে সক্ষম হতে আপনার কোনও স্ক্রিপ্টে অনুমতি এবং পড়ার অনুমতি উভয়ই দরকার। আপনি যদি স্ক্রিপ্টের বিষয়বস্তু পড়তে না পারেন তবে আপনি এটি কার্যকর করতে সক্ষম নন।

tony@matrix:~$ ./hello.world
hello world
tony@matrix:~$ ls -l hello.world
-rwxr-xr-x 1 tony tony 17 Jul 13 22:22 hello.world
tony@matrix:~$ chmod 100 hello.world
tony@matrix:~$ ls -l hello.world
---x------ 1 tony tony 17 Jul 13 22:22 hello.world
tony@matrix:~$ ./hello.world
bash: ./hello.world: Permission denied

প্রকৃতপক্ষে, প্রতিবেদনের জন্য আপডেট হয়েছে যে এটি মূল স্ক্রিপ্টগুলির জন্য সত্য যা বিবেচনা করে, এটিই আমার সন্দেহ হয়।
এইটবিটটনি

13

পূর্বের বিবৃতিগুলির অর্ধেক সত্য আছে। আপনি কোনও স্ক্রিপ্ট সেটআপ করতে পারেন যাতে এটি ব্যবহারকারীর দ্বারা পঠনযোগ্য না হয় তবে এখনও কার্যকর হয়। প্রক্রিয়াটি কিছুটা আঁকানো হয়েছে, তবে এটি / ইত্যাদি / সুডোয়ারে একটি ব্যতিক্রম করে কার্যকরযোগ্য যাতে ব্যবহারকারী কোনও পাসওয়ার্ডের জন্য অনুরোধ না করে অস্থায়ীভাবে স্ক্রিপ্টটি নিজের মতো চালাতে পারেন। নীচে উদাহরণ:

আমি কোনও ব্যবহারকারীর সাথে কিছু স্ক্রিপ্ট ভাগ করতে চাই:

me@OB1:~/Desktop/script/$ chmod 700 somescript.pl
me@OB1:~/Desktop/script/$ ls -l somescript.pl
-rwx------ 1 me me 4519 May 16 10:25 somescript.pl

একটি শেল স্ক্রিপ্ট তৈরি করুন যা 'somescript.pl' কল করে এবং এটি / বিন / এ সংরক্ষণ করে:

me@OB1:/bin$ sudo cat somescript.sh
[sudo] password for me: 
#!/bin/bash
sudo -u me /home/me/Desktop/script/somescript.pl $@

বিকল্প / পদক্ষেপ / বিন / / এ সামসস্ক্রিপ্টের জন্য একটি সিমলিংক তৈরি করুন

sudo ln -s /bin/somescript.sh /bin/somescript

নিশ্চিত করুন যে শেল স্ক্রিপ্টটি ব্যবহারকারীর কাছে পঠনযোগ্য / সম্পাদনযোগ্য (কোনও লেখার অ্যাক্সেস নেই):

sudo chmod 755 /bin/somescript.sh
me@OB1:/bin$ ls -l somescript*
lrwxrwxrwx 1 root root  14 May 28 16:11 somescript -> /bin/somescript.sh
-rwxr-xr-x 1 root root 184 May 28 18:45 somescript.sh

এই লাইনগুলি যুক্ত করে / etc / sudoer এ ব্যতিক্রম করুন:

# User alias specification
User_Alias  SCRIPTUSER = me, someusername, anotheruser

# Run script as the user 'me' without asking for password
SCRIPTUSER ALL = (me) NOPASSWD: /home/me/Desktop/script/somescript.pl

পুডিংয়ের প্রমাণ:

someuser@OB1:~$ somescript
***You can run me, but can't see my private parts!***

someuser@OB1:~$ cat /home/me/Desktop/script/somescript.pl
cat: /home/me/Desktop/script/somescript.pl: Permission denied

এই পদ্ধতিতে অস্পষ্ট বের করার চেষ্টা চেয়ে ভাল হতে হবে Filter::Cryptoবা PAR::Filter::Cryptoবা Acme::Bleachএকটি নির্ধারিত ব্যবহারকারী দ্বারা engineered বিপরীত করা যাবে। বাইনারি আপনার স্ক্রিপ্ট সংকলনের জন্য একই। আপনি যদি এই পদ্ধতিতে কোনও ভুল খুঁজে পান তবে আমাকে জানান। আরও উন্নত ব্যবহারকারীদের জন্য আপনি ব্যবহারকারীর_আলিয়াস বিভাগটি সম্পূর্ণরূপে সরিয়ে ফেলতে এবং স্ক্রিপ্টউসারকে '% গ্রুপের নাম' দিয়ে প্রতিস্থাপন করতে পারেন। আপনি usermodকমান্ড দিয়ে আপনার স্ক্রিপ্ট ব্যবহারকারীদের পরিচালনা করতে পারেন ।


6

আপনি যদি অন্য ব্যবহারকারীদের কোনও প্রোগ্রাম চালানোর অনুমতি দেন তবে প্রোগ্রামের ফাইলটি পাঠযোগ্য কিনা তা তারা জানতে পারে program তাদের যা করতে হবে তা হ'ল একটি ডিবাগার (বা ডিবাগারের মতো প্রোগ্রাম যেমন strace) point বাইনারি এক্সিকিউটেবল চালানো যায় যদি তা কার্যকর করা যায় এবং না পঠনযোগ্য হয় (কোনও স্ক্রিপ্ট পারে না, কারণ অনুবাদককে স্ক্রিপ্টটি পড়তে পারা দরকার) তবে এটি আপনাকে কোনও সুরক্ষা দেয় না।

আপনি যদি চান যে অন্যরা আপনার প্রোগ্রামটিকে একটি ব্ল্যাক বক্স হিসাবে কার্যকর করতে সক্ষম করে, যাতে প্রোগ্রামটি ঠিক কী তা না করে, আপনার স্ক্রিপ্টকে উন্নততর সুযোগগুলি দেওয়া দরকার: এটি আপনার ব্যবহারকারীর কাছে সেটআপ করুন u শুধুমাত্র রুট সেটআপড প্রোগ্রামগুলিতে ডিবাগিং সরঞ্জামগুলি ব্যবহার করতে পারে । নোট করুন সুরক্ষিত সেটুইড প্রোগ্রামগুলি লেখা সহজ নয়, এবং বেশিরভাগ ভাষা উপযুক্ত নয়; দেখতে শেল স্ক্রিপ্ট উপর setuid অনুমতি দিন আরো ব্যাখ্যা। যদি আপনি কোনও সেটুয়েড প্রোগ্রাম লিখতে চলেছেন তবে আমি পার্লকে দৃ strongly়ভাবে প্রস্তাব দিচ্ছি, যার একটি মোড (দাগ মোড) রয়েছে যা স্পষ্টভাবে সুরক্ষিত সেটুইড স্ক্রিপ্টগুলি তৈরি করার উদ্দেশ্যে করা হয়েছে।


-1

আপনি chmod কমান্ড দিয়ে ফাইল অনুমতি সেট করতে পারেন। মূল ব্যবহারকারী এবং ফাইলের মালিক উভয়ই ফাইলের অনুমতি সেট করতে পারেন। চিমডের দুটি মোড রয়েছে, সিম্বলিক এবং সংখ্যাসূচক।

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

এখানে কিছু উদাহরণ আছে।

সমস্ত অনুমতি মুছুন তবে প্রত্যেকের জন্য পড়ার অনুমতি যুক্ত করুন:

$ chmod a=r filename

কমান্ডের পরে ফাইলটির অনুমতিগুলি হবে - r - r--

গোষ্ঠীর জন্য নির্বাহের অনুমতি যুক্ত করুন:

$ chmod g+x filename

এখন, ফাইলটির অনুমতিগুলি হবে-r - r-xr--

উভয়ই ফাইলের মালিকের জন্য অনুমতি লিখুন এবং সম্পাদন করুন। আপনি একই সময়ে কীভাবে একাধিক অনুমতি সেট করতে পারেন তা নোট করুন:

mod chmod u + wx ফাইলের নাম

এর পরে, ফাইলের অনুমতিগুলি -rwxr-xr-- হবে

ফাইলের মালিক এবং গোষ্ঠী উভয় থেকেই কার্যকর করার অনুমতিটি সরান। দ্রষ্টব্য, আবার কীভাবে আপনি উভয়কে একবারে সেট করতে পারেন:

mod chmod ug-x ফাইলের নাম

এখন, অনুমতিগুলি হ'ল - rw-r - r--

এটি প্রতীকী মোডে ফাইল অনুমতি সেট করার জন্য একটি দ্রুত রেফারেন্স:

Which user?
u   user/owner
g   group
o   other
a   all
What to do?
+   add this permission
-   remove this permission
=   set exactly this permission
Which permissions?
r   read
w   write
x   execute

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