কোনও নতুন ব্যবহারকারীকে বিপজ্জনক কিছু করা থেকে কীভাবে আটকাবেন?


31

নতুন ব্যবহারকারী হিসাবে লিনাক্স চেষ্টা করার জন্য আমি সম্প্রতি আমার সার্ভারে উবুন্টু সার্ভারটি ইনস্টল করেছি। আমি ওয়েব সার্ভারটি কীভাবে সেট আপ করতে পারি তার একটি টিউটোরিয়াল অনুসরণ করেছিলাম যা বলেছিল যে আমার chmod 777ওয়েব সার্ভার দির দরকার যাতে এটিতে লেখা যায়।

যাইহোক, আমি তার বাড়ীতে ডির রেখেছি এমন সার্ভারে কিছু ফাইল দেখার অনুমতি দেওয়ার জন্য আমি একজন ছেলের জন্য একটি নতুন অ্যাকাউন্ট তৈরি করেছি:

adduser francis

অ্যাকাউন্টটি তৈরি করার পরে আমি যাচাই করেছিলাম তার কী অ্যাক্সেস রয়েছে

groups francis

এটি বলেছিল "ফ্র্যাঙ্কিস: ফ্রেঞ্চিস", তাই আমি ভাবি সমস্যা নয়, উবুন্টু তাকে ডিফল্টরূপে কোনও দলে অন্তর্ভুক্ত করেনি, এটি বোধগম্য, এটি তাকে সুরক্ষার ভিত্তিতে কোনও অতিরিক্ত অনুমতি ছাড়াই তৈরি করেছে, তাই সবকিছু ঠিকঠাক এবং জঘন্য। এক সপ্তাহ পরে, নিখুঁত এবং এক্কেবারে ভয়াবহতায় আমি জানতে পেরেছিলাম যে তিনি সিস্টেম ডিরেক্টরিতে SUDO বা জগাখিচির মতো কাজগুলি করতে না পারলেও সার্ভারের অন্যান্য সমস্ত কিছুর কাছে তার সম্পূর্ণ অ্যাক্সেস ছিল। উদাহরণস্বরূপ তিনি / var / www এ আমার ওয়েব সার্ভার ফাইলগুলিতে সম্পূর্ণ পঠন / লেখার অ্যাক্সেস পেয়েছিলেন (এবং এইভাবে পিএইচপি কনফিগারেশন ফাইলগুলিতে সংরক্ষিত পাসওয়ার্ড ইত্যাদি) যদিও ডিরেক্টরিটি তার ডিরেক্টরি ডিরেক্টরিতে নেই এবং আমি তাকে কখনও কোনও গ্রুপে যুক্ত করতে পারি নি যা পারে ডিরেক্টরিটি অ্যাক্সেস করুন, অথবা আমি অ্যাডুসারটি করার পরে তাকে কোনও কিছুতে বিশেষ অ্যাক্সেস দিয়েছি granted

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

সুতরাং এটির সংক্ষিপ্তসারটি, কেবলমাত্র আমি তাকে ডিরেক্টরিতে + যা সঠিকভাবে কাজ করতে হবে সেগুলির জন্য ম্যানুয়ালি + নির্দিষ্ট করা ডিরেক্টরিগুলিতে অ্যাক্সেসের অনুমতি দেওয়া দরকার (তার বাড়ির দির, ভিম, ন্যানো ইত্যাদি))

ধন্যবাদ


30
আপনি chmod 777 করছেন এবং জিজ্ঞাসা করছেন কেন সবাই সেখানে লেখা পড়তে পারে? chmod এর জন্য ম্যান পৃষ্ঠাটি পড়ুন
আনোয়ার

16
হ্যাঁ, 777 একাধিক কারণে আপনার সমস্যা।
অ্যান্ড্রয়েড ডেভ

21
- @Askerman না, যখন আপনি 777, দিতে সবাই অ্যাক্সেস করতে পারবেন সবকিছু : সঙ্গে, এই একটি পঠিত দিন linux.com/learn/understanding-linux-file-permissions
অ্যান্ড্রয়েড দেব

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

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

উত্তর:


40

এটি যেমন নকশা করা হয়েছে। আরও খারাপ। chmod 777 এর অর্থ ... "আমি মালিক, তার গ্রুপের যে কোনও ব্যক্তিকে এবং যে কারও কাছে অনুমতি পড়তে, লিখতে এবং সম্পাদন করতে চাই"

যা বেশ ভয়ঙ্কর।

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

যে বলেন, আপনি একই সঙ্গে নিজের সামান্য বিশ্বের ব্যবহারকারী করা যায়নি - chroot স্থাপনের ব্যবহারকারী রাখার মধ্যে সিস্টেমের মধ্যে তার নিজের স্থান। এটি করার জন্য চারদিকে ভাসমান গাইড রয়েছে - উদাহরণস্বরূপ এখানে অলির দুর্দান্ত উত্তর যা আপনার প্রয়োজনের উপর নির্ভর করে একটি বিকল্প হতে পারে।


4
গৌণ বিন্দু: "মালিক, তার গ্রুপের যে কেউ ..." - ফাইলের মালিককে অগত্যা ফাইল গ্রুপের অন্তর্ভুক্ত থাকতে হবে না।
alex_d

2
খুশী হলাম। আমি পছন্দ করি আপনি সার্ভফল্টে প্রমিত উত্তরটি উল্লেখ করেছেন।
বয়স্ক গীক

3
এই পরিস্থিতির জন্য .তিহাসিক কলঙ্কটি হ'ল " বিশ্ব পাঠযোগ্য / লিখনযোগ্য"।
কাজ

19

মূলত, এটি এইভাবে ভেঙে যায়:

R = 4 (read)
W = 2 (write)
X = 1 (execute)

সুতরাং, পড়ার অনুমতিগুলি কেবল 4 হবে, পড়তে এবং লিখতে 6 টি হবে, পড়তে হবে এবং কার্যকর করা হবে 5 এবং সমস্ত (পড়ুন, লিখুন, চালাবেন) 7. হয় 7.। এইভাবে আপনি কোনও মালিক, মালিকের গোষ্ঠীর জন্য একটি অনুমতি অষ্টেট মান গণনা করেন , বা সবাই।

chmodকোনও ফাইল বা ডিরেক্টরি অবস্থানের সাথে এই অনুমতিগুলি প্রয়োগ করার সময় , উপরের গণনা করা নম্বরগুলি মালিক, গোষ্ঠী এবং প্রত্যেকের জন্য প্রতিটি অক্টেটের সাথে এই জাতীয় প্রয়োগ করা হয়:

     $ chmod _ _ _ <file or directory>
             | | |
owner--------  | |
owner's group--  |
everyone---------

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

$ chmod 770 myDirectory

আরও তথ্যের জন্য, chmod এর জন্য ম্যান পৃষ্ঠাটি পরীক্ষা করুন :

$ man chmod

আপনি যদি সঠিক ক্রমে সঠিক অনুমতিগুলি করতে একসাথে যুক্ত বিটগুলি মনে করতে না পারেন তবে আপনি তর্কযোগ্যভাবে পড়ার পক্ষে আরও সহজ ব্যবহার করতে পারেন chmod ugo+rwx <...>। অক্ষর জন্য দাঁড়ানো তোমার দর্শন লগ করা Ser, roup, থার; r ead, w rite, e x ecute। আপনি অপসারণ করতে '-' ব্যবহার করতে পারেন (যেমন chmod go-wx <...>:)। কেবলমাত্র নোট করুন যে এটি কেবল আপনার টাইপ করে যা যুক্ত করে বা সরিয়ে দেয়। গ্রুপ / অন্যান্যদের অ্যাক্সেস সরিয়ে chmod ugo+rwx <file>; chmod u+rwx <file> দেয় না
ReactiveRaven

পছন্দ করুন তবে ওপি স্পষ্টতই বিভ্রান্ত হয়ে পড়েছিল যা chmod 777করেছিল, তাই আমি আমার ব্যাখ্যাটি নির্দেশিত করেছিলাম।
হারুন

@ জান্না শুভ কল!
অ্যারন

6

অন্যরা যেমন উল্লেখ করেছে আপনার 777 তে অনুমতি নির্ধারণ করা উচিত নয়

আমি ব্যবহার করি এমন একটি সহায়ক রেফারেন্স শীট এখানে।

+-----+---+--------------------------+
| rwx | 7 | Read, write and execute  |
| rw- | 6 | Read, write              |
| r-x | 5 | Read, and execute        |
| r-- | 4 | Read,                    |
| -wx | 3 | Write and execute        |
| -w- | 2 | Write                    |
| --x | 1 | Execute                  |
| --- | 0 | no permissions           |
+------------------------------------+
You can use the octal notation, where the three digits correspond to the user, then group, then other. 
Perhaps this might help 
+------------+------+-------+
| Permission | Octal| Field |
+------------+------+-------+
| rwx------  | 700  | User  |
| ---rwx---  | 070  | Group |
| ------rwx  | 007  | Other |
+------------+------+-------+

1
নিস! এটি ভিজ্যুয়াল শিখার লোকদের (আমার মতো) একটি বড় সহায়তা।
অ্যারন

3

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

এই ক্ষেত্রে,

$ ls -ld ~
drwxr-xr-x 65 zwets zwets 4096 Sep 29 12:06 /home/zwets

আমার সিস্টেম ডিরেক্টরিতে যে কোনও ব্যবহারকারীর জন্য আমার হোম ডিরেক্টরিতে অনুমতিগুলি পড়ুন (র) এবং অ্যাক্সেস (এক্স) । কেবলমাত্র আমার অতিরিক্ত লেখার অ্যাক্সেস রয়েছে।

এছাড়াও, umaskউবুন্টুতে ডিফল্টটি এমন যে ব্যবহারকারীরা তৈরি করা ফাইল এবং ডিরেক্টরিগুলি ডিফল্টরূপে বিশ্ব পাঠযোগ্য । আপনি এটি umaskনা 077চাইলে আপনি সেট করতে পারেন।

এর অর্থ কী একটি ডিফল্ট সেটআপে, যদি ব্যবহারকারী আমার youসাথে দস্তাবেজ ভাগ করে নিতে চান ~/README.txt, তবে youকরার দরকার নেই। আমি কেবল এটি দেখতে পারি:

$ who am i
zwets    pts/26       2016-09-29 08:05 (:pts/19:S.6)
$ ls -l ~you/README.txt
-rw-r--r-- 1 you you 24 Sep  8 11:23 /home/you/README.txt
$ cat ~you/README.txt
You's shared thoughts.

আমি ফাইলটি সম্পাদনা করতে বা অপসারণ করতে পারি না তবে আমি এটি এমন জায়গায় অনুলিপি করতে পারি যেখানে আমার লেখার অনুমতি রয়েছে। তারপরে আমি অনুলিপিটির মালিক:

$ echo "Adding my thoughts." >> ~you/README.txt
bash: /home/you/README.txt: Permission denied
$ rm ~you/README.txt
rm: remove write-protected regular file '/home/you/README.txt'? yeah!
rm: cannot remove '/home/you/README.txt': Permission denied
$ cp ~you/README.txt ~zwets
$ ls -l ~/README.txt
-rw-r--r-- 1 zwets zwets 24 Sep  29 14:09 /home/zwets/README.txt

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

$ chmod o-rwx ~
$ ls -l ~
drwxr-x--- 65 zwets zwets 4096 Sep 29 12:06 /home/zwets

... যতগুলি ব্যবহারকারী সম্ভবত স্পষ্টতই ডিফল্ট - QED ;-) সম্পর্কে অবগত নন। ব্যবহারকারীদের সচেতন করা যদিও বুদ্ধিমানের বিষয় যে ফাইল অনুমতিগুলি গোপনীয়তা রক্ষা করে না।


1

উবুন্টুতে, যে কোনও ব্যবহারকারীর সুপারসিউরাল বিশেষাধিকার রয়েছে যারা 'সুডো' গ্রুপে যুক্ত হয়েছে, দয়া করে এটি এই গ্রুপে অন্য কোনও ব্যবহারকারী যুক্ত না হয়েছে তা নিশ্চিত করার জন্য এটি পরীক্ষা করে দেখুন।

অন্যান্য ব্যবহারকারীদের থেকে আপনার ফাইল এবং ডিরেক্টরি সুরক্ষিত করতে আপনি উপরের উত্তরে মিঃ জার্নম্যান গিকের পরামর্শ অনুসারে অনুমতি সেট করতে পারেন।

আপনার ফাইল এবং ডিরেক্টরিগুলি অন্যের কাছ থেকে সুরক্ষিত করতে আপনি বিশেষ অনুমতি ব্যবহার করতে পারেন।

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