"Chmod + x" এবং "chmod 755" এর মধ্যে পার্থক্য কী?


61

যখন কোনও ফাইলকে এক্সিকিউটেবল করার বিষয়টি আসে তখন কোনটির মধ্যে তফাত হয় chmod 755এবং chmod +xআমি কখন কোনটি ব্যবহার করব? আমি এতদূর শুধুমাত্র ব্যবহার করেছেন chmod +xএবং আমি কিছু পড়তে এবং এটি ব্যবহৃত chmod 755এবং আমি বলতে পারবনা যে থাকুক বা না থাকুক এটি ব্যবহার করতে ভাল ছিল chmod 755বা chmod +x


9
chmod +xঅন্যান্য অনুমতি পরিবর্তন না করেই সকল নির্বাহযোগ্য পতাকা সেট করে। chmod 755rwxr-xr-x
রাভির


5
@ রেভারি: হাই! আপনি মন্তব্য বিভাগটি পেয়েছেন, যা এমন একটি ক্ষেত্র যা সমালোচনা এবং স্পষ্টকরণের অনুরোধের জন্য উত্সর্গীকৃত। উত্তর / সমাধান সরবরাহ করতে আপনার নীচের "উত্তর" বিভাগটি ব্যবহার করা উচিত (বড় লাল "আপনার উত্তর পোস্ট করুন" বোতামটি সন্ধান করুন)। আশা করি এইটি কাজ করবে!
অরবিটে

উত্তর:


144

সংক্ষিপ্ত সংস্করণ:

তাদের তুলনা করতে সক্ষম হতে, আমাদের একই দৃষ্টিভঙ্গি থেকে তাদের তাকানো উচিত, সুতরাং:

  • chmod +xসমান chmod ugo+x( umaskমান অনুসারে)
  • chmod 755 সমান chmod u=rwx,go=rx

ব্যাখ্যা:

প্রথমত আপনার জানা উচিত:

  1. + মানে এই অনুমতিটি ফাইলটি ইতিমধ্যে থাকা অন্যান্য অনুমতিতে যুক্ত করুন।
  2. = মানে সমস্ত অনুমতি অগ্রাহ্য করুন, আমার সরবরাহ হিসাবে ঠিক সেগুলি সেট করুন।

    • সুতরাং "পড়া, লিখুন, চালানো, স্টিকি বিট, স্যুইড এবং গাইড" এর সবগুলি উপেক্ষা করা হবে এবং কেবল সরবরাহকৃতগুলি সেট করা হবে।
  3. পড়ুন = 4, লিখুন = 2, সম্পাদন = 1

    • এটির পিছনে বাইনারি যুক্তি এখানে রয়েছে (যদি আপনি আগ্রহী হন):

      Symbolic:  r-- -w- --x  |  421
      Binary:    100 010 001  |  -------
      Decimal:    4   2   1   |  000 = 0
                              |  001 = 1
      Symbolic:  rwx r-x r-x  |  010 = 2
      Binary:    111 101 101  |  011 = 3
      Decimal:    7   5   5   |  100 = 4
                 /   /   /    |  101 = 5
      Owner  ---/   /   /     |  110 = 6
      Group  ------/   /      |  111 = 7
      Others ---------/       |  Binary to Octal chart
      

+xআপনি ব্যবহার করে ( +) এক্সিকিউটেবল বিট ( x) মালিক, গোষ্ঠী এবং অন্যদের সাথে যুক্ত করতে বলছেন ।

  • এটি সমান ugo+xবাu+x,g+x,o+x
  • আপনি যখন মালিক, গোষ্ঠী বা অন্যদের মধ্যে কোনটিকে আপনার টার্গেট বলে উল্লেখ না করেন, তবে xএটির ক্ষেত্রে তাদের সবার বিবেচনা করা হবে। এবং @ রিনজউইন্ড যেমন উল্লেখ করেছেন, এটি umaskমানের উপর ভিত্তি করে , এটি যা umaskদেয় তাতে কিছুটা যোগ করে । মনে রাখবেন আপনি যদি টার্গেটটি নির্দিষ্ট করেন o+rতবে umaskতার আর কোনও প্রভাব নেই।
  • এটি অন্যান্য মোডগুলি (অনুমতিগুলি) স্পর্শ করে না।
  • আপনি u+xকেবলমাত্র মালিককে এক্সিকিউটেবল বিট যোগ করতে ব্যবহার করতে পারেন ।

ব্যবহার করে 755আপনি উল্লেখ করছেন:

  • 7 -> u=rwx(মালিকের জন্য 4 + 2 + 1)
  • 5 -> g=rx(গ্রুপের জন্য 4 + 1)
  • 5 -> o=rx(অন্যদের জন্য 4 + 1)

সুতরাং chmod 755মত: chmod u=rwx,g=rx,o=rxবা chmod u=rwx,go=rx

এখানে চিত্র বর্ণনা লিখুন


15
একটি খুব গুরুত্বপূর্ণ সংযোজন: আপনি যখন chmod 755এই বিটগুলি সেট করেন তখন আপনি সমস্ত মামলা / এসজিড / স্টিকি বিটগুলি সাফ করেন (যেটি সেখানে থাকতে পারে) (উদাহরণস্বরূপ: কখনও নয় chmod 755 /tmp)। 755 সর্বদা 0755 হিসাবে বিবেচনা করা উচিত, অর্থাৎ বিটের প্রথম অষ্টাল সেটটিও 0 এ সেট করা আছে
অলিভিয়ার ডুলাক

1
প্রায় নিখুঁত তাই অকালকাল +1 (হ্যাঁ আপনি আমার কাছ থেকে এই ব্যাজটি পেয়েছেন:)): আপনি
উমাস্ক

@ অলিভিয়ারডুলাক ধন্যবাদ, আমি খুব বেশি বিবরণ পেতে চাইনি তবে আমি উত্তরটি আপডেট করব ...
রাভেক্সিনা

1
আমি মনে করি অনুমতিগুলি কীভাবে কাজ করে তা আমি ঠিক বুঝতে পেরেছি, ধন্যবাদ!
ফাবিচ

1
@ রিকার্ডো এখানে: "chmod + x" এবং "chmod a + x"
র্যাভেক্সিনা

37

chmod +x বিদ্যমান ব্যবহারকারীর জন্য সমস্ত ব্যবহারকারীর জন্য নির্বাহের অনুমতি যুক্ত করে।

chmod 755755একটি ফাইলের জন্য অনুমতি সেট করে ।

755 অর্থ মালিকের জন্য সম্পূর্ণ অনুমতি এবং অন্যের জন্য অনুমতি পড়ুন এবং সম্পাদন করুন।


7

এটি দেখার আরও একটি উপায় (যা আমি বুঝতে সহজ মনে করি) এটি chmod +xহ'ল অনুমতিগুলি তুলনামূলকভাবে সেট করে দিচ্ছে , যেখানে chmod 755সেগুলি একেবারে নির্ধারণ করছে ।

chmod 755কোনও ফাইল চালানোর পরে এর অনুমতিগুলি হবে 755 বা rwxr-xr-x

chmod +xশুধু বিদ্যমান অনুমতি নিতে হবে, এবং যোগ ফাইলে অনুমতি চালানো।


6

আমি পুরো বিশদ জন্য chmod ম্যান পৃষ্ঠা পর্যালোচনা করার পরামর্শ দিচ্ছি । অনুমতি পরিবর্তনের একই কাজটি সম্পাদন করতে আপনি chmod কমান্ডের সাথে উপলব্ধ দুটি ভিন্ন অপারেশন মোড দেখতে পাচ্ছেন।

অক্টাল মোড নম্বর ব্যবহার করছে এবং ফাইলের সম্পূর্ণ অনুমতি সেট করে। অক্ষর মোড অক্ষরগুলি ব্যবহার করছে এবং সাধারণত বিদ্যমান অনুমতিগুলি সংশোধন করতে ব্যবহৃত হয়।

chmod 755অনুমতিগুলি সামঞ্জস্য করার rwxr-xr-xসময় সেট করে chmod +xযাতে মালিক, গোষ্ঠী এবং বিশ্বের সকলের সম্পাদনযোগ্য অনুমতি যুক্ত হয়। এর ডিফল্ট ফাইল অনুমতি ধরে নিলে rwxr--r--এটি 755 এর মতো একই অনুমতিতে সামঞ্জস্য হবে rwxr-xr-x


5

পার্থক্য হ'ল কী অনুমতি সেট হয় এবং আপনি সেগুলি সেট করতে কোন মোড ব্যবহার করেন।

chmod +xআপনি সবার জন্য এক্সিকিউটেবল বিট সেট করার সাথে - মালিক, মালিক গ্রুপ এবং অন্যান্য ব্যবহারকারীগণ। এটি প্রতীকী মোড হিসাবে পরিচিত। উদ্ধৃতিতে man chmod:

অপারেটর + প্রতিটি ফাইলের বিদ্যমান ফাইল মোড বিটগুলিতে নির্বাচিত ফাইল মোড বিট যুক্ত করার কারণ ঘটায়; - তাদের সরানোর কারণ; এবং = এগুলিকে যুক্ত করার কারণী করে এবং ডিরেক্টরিটির নিরীক্ষিত সেট ব্যবহারকারী এবং গোষ্ঠী আইডি বিটগুলি প্রভাবিত না করে ব্যতীত নিরবচ্ছিন্ন বিটগুলি সরিয়ে ফেলার কারণ দেয়।

সঙ্গে chmod 755আপনি অকট্যাল সংখ্যার ব্যবহার হয়েছেন, যা বাইনারি উপস্থাপনা অনুমতি নির্দিষ্ট বিট সেট করতে ব্যবহৃত হয়। প্রথম (বাম) 3 বিট মালিকের অনুমতিের সাথে সামঞ্জস্য করে, মাঝারি 3 টি গ্রুপের অনুমতিগুলির সাথে মিলিত হয় এবং সর্বশেষে (ডানদিকে) অন্য সমস্ত ব্যবহারকারীর অনুমতিের সাথে সঙ্গতি রাখে। বিটের ক্রম সর্বদা একরকম হয়, read,write,executeবা rwxঠিক যেমন অর্ডার একই হয়, বাইনারি উপস্থাপনায় রূপান্তরিত হওয়ার পরে পৃথক নম্বর, অনুমতি বিট সেট করে যার জন্য সংখ্যার সাথে সম্পর্কিত অবস্থানগত বিটটি 1 হয় এবং 0টিকে একটিকে আনসেট করে দেয় বিশেষত:

  • অক্টাল সংখ্যাটি 7বাইনারিতে 111, সুতরাং আপনি সমস্ত পড়া, লিখতে এবং মালিকের জন্য বিটগুলি কার্যকর করতে সেট করছেন; rwxসেট করা আছে।
  • অক্টাল সংখ্যাটি 5বাইনারি তে 101, সুতরাং আপনি পড়া এবং সম্পাদন সেট করছেন তবে লেখার বিটগুলি অক্ষম করুন, এবং এটি গ্রুপ এবং অন্যান্য ব্যবহারকারীদের জন্য 5 হিসাবে, এই দুটি বিভাগের জন্য একই অনুমতি থাকবে। এইভাবে r-xসেট করা হয়।

এখানে ছোট ডেমো:

    bash-4.3$ touch file1 file2
    bash-4.3$ chmod +x file1
    bash-4.3$ chmod 755 file2
    bash-4.3$ ls -l file1 file2
    -rwxrwxr-x 1 xieerqi xieerqi 0 7月   6 13:54 file1
    -rwxr-xr-x 1 xieerqi xieerqi 0 7月   6 13:54 file2

3

একটি গুরুত্বপূর্ণ পার্থক্য হ'ল chmod + উমাস্ক বিধিনিষেধের সাপেক্ষে এবং chmod <ocalal> নয়।

নিম্নলিখিত উদাহরণ বিবেচনা করুন:

$ ls -l foo bar
---------- 1 gowenfawr users 0 Jul  7 16:40 bar
---------- 1 gowenfawr users 0 Jul  7 16:39 foo
$ umask
0022
$ chmod +w bar
$ umask 0002
$ chmod +w foo
$ ls -l foo bar
--w------- 1 gowenfawr users 0 Jul  7 16:40 bar
--w--w---- 1 gowenfawr users 0 Jul  7 16:39 foo
$

সুতরাং, আপনি যদি আপনার উমাস্ক সেটিংসের উপযুক্ত এমনভাবে অনুমতিগুলিতে বদ্বীপ পরিবর্তন করতে চান তবে '+' বাক্যবিন্যাসটি ব্যবহার করুন। তবে আপনি যদি উমাস্ককে বিবেচনা না করে একেবারে সেট করতে চান তবে << কটাল> ফর্ম্যাটটি ব্যবহার করুন এবং বুঝতে পারেন যে আপনাকে কেবল একটি ব-দ্বীপ নয়, সমস্ত বিট নির্দিষ্ট করতে হবে।


1

এই সুন্দর উত্তরগুলি ছাড়াও আমি একটি ছোট তবে সম্ভবত গুরুত্বপূর্ণ পার্থক্য উল্লেখ করতে চাই। কমান্ড chmod 755 fileসমান chmod 0755 file। যদি আমরা এই কমান্ডটি এমন কোনও ফাইলে চালিত করি যেখানে সেটিউইড-বিট বা সেটজিআইডি-বিট সেট থাকে তবে এটি SETUID / SETGID-বিটকে সরিয়ে ফেলবে। chmod +x fileSETUID / SETGID- বিটটি ছোঁয়া যাবে। আমরা এটি নিম্নলিখিত উদাহরণে দেখতে পারি:

$ $ টাচ টেস্ট
mod mod chmod u + s পরীক্ষা
l $ ll পরীক্ষা
-rwSrw-r-- 1 জন মৌক 0 সেপ্টেম্বর 14 00:49 পরীক্ষা
mod mod chmod + x পরীক্ষা
l $ ll পরীক্ষা
-rwrwxr-x 1 mook mook 0 সেপ্টেম্বর 14 00:49 পরীক্ষা
mod mod chmod 755 পরীক্ষা
l $ ll পরীক্ষা
-rwxr-xr-x 1 মুক মোক 0 সেপ্টেম্বর 14 00:49 পরীক্ষা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.