لینکس پر chmod کمانڈ کس طرح استعمال کریں

کنٹرول کریں کہ کون لینکس کا استعمال کرتے ہوئے فائلوں ، سرچ ڈائریکٹریوں تک رسائی حاصل کرسکتا ہے ، اور اسکرپٹ چلا سکتا ہے chmod کمانڈ. یہ کمانڈ لینکس فائل اجازتوں میں ترمیم کرتا ہے ، جو پہلی نظر میں پیچیدہ نظر آتے ہیں لیکن واقعی بہت آسان ہیں جب آپ کو معلوم ہوجائے کہ وہ کیسے کام کرتے ہیں۔

chmod فائل کی اجازت میں ترمیم کرتا ہے

لینکس میں ، اجازت ناموں کے ذریعہ کون فائل فائل یا ڈائریکٹری کے ساتھ کون کنٹرول کرسکتا ہے۔ اجازت کے تین سیٹ ہیں۔ فائل کے مالک کے لئے ایک سیٹ ، فائل کے گروپ کے ممبروں کے لئے ایک اور سیٹ ، اور سب کے لئے ایک حتمی سیٹ۔

اجازتیں ان افعال کو کنٹرول کرتی ہیں جو فائل یا ڈائریکٹری میں انجام دی جاسکتی ہیں۔ وہ یا تو اجازت دیتے ہیں ، یا روک دیتے ہیں ، کسی فائل کو پڑھنے ، تبدیل کرنے یا اس سے روکنے کی ، اگر یہ اسکرپٹ یا پروگرام ہے تو ، اسے پھانسی دے دی جاتی ہے۔ کسی ڈائرکٹری کے لئے ، اجازتوں پر حکمرانی ہوتی ہے کہ کون کرسکتا ہے سی ڈی ڈائرکٹری میں اور جو ڈائریکٹری میں فائلیں تخلیق ، یا ترمیم کرسکتا ہے۔

آپ استعمال کرتے ہیںchmod ان میں سے ہر ایک کی اجازت کا حکم دیں۔ یہ دیکھنے کے ل directory کہ فائل یا ڈائرکٹری میں کیا اجازتیں مقرر کی گئی ہیں ، ہم استعمال کرسکتے ہیں ls.

فائل کی اجازت دیکھنا اور سمجھنا

ہم استعمال کرسکتے ہیں -l (طویل فارمیٹ) کے پاس اختیار ہے ls فائلوں اور ڈائریکٹریوں کے لئے فائل کی اجازت کی فہرست.

ls -l

ہر لائن پر ، پہلا حرف اندراج کی قسم کی نشاندہی کرتا ہے جو درج کیا جارہا ہے۔ اگر یہ تیز ہے (-) یہ ایک فائل ہے۔ اگر یہ خط ہے d یہ ایک ڈائرکٹری ہے۔

اگلے نو حروف اجازت کے تین سیٹوں کی ترتیبات کی نمائندگی کرتے ہیں۔

  • پہلے تین حروف فائل کے مالک صارف کے لئے اجازت نامے دکھاتے ہیں (صارف کی اجازت).
  • درمیانی تین حروف فائل کے گروپ کے ممبروں کے لئے اجازت ظاہر کرتے ہیں (گروپ کی اجازت).
  • آخری تین حرف کسی کے لئے پہلی دو اقسام میں اجازت نہیں دکھاتے ہیں (دوسری اجازتیں).

اجازت کے ہر سیٹ میں تین حرف ہوتے ہیں۔ کردار کسی ایک اجازت کی موجودگی یا عدم موجودگی کے لئے اشارے ہیں۔ وہ یا تو ایک ڈیش ہیں (-) یا ایک خط۔ اگر کردار ڈیش ہے تو اس کا مطلب ہے کہ اجازت نہیں دی گئی ہے۔ اگر کردار ایک ہے r, ڈبلیو، یا ایک ایکس، اس کی اجازت دے دی گئی ہے۔

خطوط کی نمائندگی کرتے ہیں:

  • r: اجازتیں پڑھیں۔ فائل کھولی جاسکتی ہے ، اور اس کا مواد دیکھا گیا ہے۔
  • ڈبلیو: اجازت نامے لکھیں۔ فائل میں ترمیم ، ترمیم ، اور حذف کی جاسکتی ہے۔
  • ایکس: اجازت نامے پر عملدرآمد۔ اگر فائل اسکرپٹ یا پروگرام ہے ، تو اسے چلایا جا سکتا ہے (عملدرآمد)۔

مثال کے طور پر:

  •  --- مطلب کسی بھی طرح سے اجازت نہیں دی گئی ہے۔
  •  rwx اس کا مطلب ہے کہ مکمل اجازت دے دی گئی ہے۔ پڑھنے ، لکھنے اور عمل کرنے والے اشارے سب موجود ہیں۔

ہمارے اسکرین شاٹ میں ، پہلی لائن a کے ساتھ شروع ہوتی ہے d. اس لائن سے مراد "آرکائیو" نامی ڈائریکٹری ہے۔ ڈائریکٹری کا مالک "ڈیو" ہے ، اور اس گروپ کا نام جس سے ڈائریکٹری ہے اس کو "ڈیو" بھی کہا جاتا ہے۔

اگلے تین حرف اس ڈائریکٹری کے صارف کی اجازت ہیں۔ اس سے ظاہر ہوتا ہے کہ مالک کو مکمل اجازت حاصل ہے۔ r, ڈبلیو، اور ایکس کردار سب موجود ہیں۔ اس کا مطلب ہے کہ صارف ڈیو نے اس ڈائرکٹری کے ل read اجازتیں پڑھی ، لکھیں اور ان پر عملدرآمد کیا۔

تین حرفوں کا دوسرا مجموعہ گروپ کی اجازت ہے ، یہ ہیں r-x. ان سے ظاہر ہوتا ہے کہ ڈیو گروپ کے ممبروں نے اس ڈائرکٹری کے ل read اجازتیں پڑھیں اور اس پر عملدرآمد کیا۔ اس کا مطلب ہے کہ وہ فائلوں اور ان کے مندرجات کو ڈائریکٹری میں درج کرسکتے ہیں ، اور وہ کرسکتے ہیں سی ڈی (پھانسی) اس ڈائرکٹری میں. ان کے پاس تحریری اجازت نہیں ہے ، لہذا وہ فائلیں تخلیق ، تدوین ، یا حذف نہیں کرسکتے ہیں۔

تین حرفوں کا حتمی مجموعہ بھی ہےr-x. یہ اجازتیں ان لوگوں پر لاگو ہوتی ہیں جو اجازت کے پہلے دو سیٹوں کے تحت حکومت نہیں کرتے ہیں۔ ان افراد (جنہیں "دوسرے" کہا جاتا ہے) نے اس ڈائریکٹری میں اجازتیں پڑھیں اور اس پر عملدرآمد کیا ہے۔

لہذا ، خلاصہ کرنے کے لئے ، گروپ ممبران اور دیگر افراد نے اجازتیں پڑھ کر سنائی ہیں۔ ڈیو نامی صارف کے مالک کے پاس بھی لکھنے کی اجازت ہے۔

دیگر فائلوں کے لئے (mh.sh اسکرپٹ فائل کے علاوہ) ڈیو اور ڈیو گروپ کے ممبروں نے فائلوں پر پراپرٹیز پڑھیں اور لکھیں ، اور دیگر نے صرف اجازت ناموں کو پڑھ لیا ہے۔

mh.sh اسکرپٹ فائل کے خصوصی معاملے کے لئے ، مالک ڈیو اور اس گروپ کے ممبروں نے اجازتیں پڑھی ، لکھی ہیں اور ان پر عملدرآمد کیا ہے ، اور دیگر نے صرف اجازتیں پڑھی اور اس پر عمل درآمد کیا ہے۔

اجازت نحو کو سمجھنا

استمال کے لیے chmod اجازتیں ترتیب دینے کے ل we ، ہمیں یہ بتانے کی ضرورت ہے:

  • ڈبلیو ایچ او: ہم کس کے لئے اجازتیں طے کررہے ہیں۔
  • کیا: ہم کیا تبدیلی لا رہے ہیں؟ کیا ہم اجازت جوڑ رہے ہیں یا ہٹا رہے ہیں؟
  • کونسا: ہم کن اجازتوں کو مرتب کررہے ہیں؟

ہم ان اقدار کی نمائندگی کرنے کے لئے اشارے استعمال کرتے ہیں ، اور مختصر "اجازت نامے بیانات" تشکیل دیتے ہیں جیسے آپ + ایکس، جہاں "آپ" کا مطلب ہے "صارف" (کون) ، "+" کا مطلب ہے اضافہ (کیا) ، اور "x" کا مطلب ہے عملدرآمد کی اجازت (جو)۔

"کون" اقدار ہم استعمال کرسکتے ہیں وہ ہیں:

  • u: صارف ، مطلب فائل کا مالک۔
  • جی: گروپ ، اس گروپ کے ممبروں کے معنی ہیں جو فائل سے تعلق رکھتے ہیں۔
  • o: دوسرے ، جس کا مطلب ہے لوگوں کے زیر اقتدار نہیں u اور جی اجازت
  • a: سب ، جس کے معنی مذکورہ بالا ہیں۔

اگر ان میں سے کوئی بھی استعمال نہیں ہوتا ہے ، chmod ایسا برتاؤ کرتا ہے جیسے "a”استعمال کیا گیا تھا۔

"کیا" اقدار ہم استعمال کرسکتے ہیں وہ ہیں:

  • : مائنس سائن۔ اجازت ہٹا دیتا ہے۔
  • +: پلس نشانی۔ اجازت دیتا ہے۔ اجازت موجودہ اجازتوں میں شامل کی جاتی ہے۔ اگر آپ یہ اجازت حاصل کرنا چاہتے ہیں اور صرف یہ اجازت مقرر کرنا چاہتے ہیں تو ، استعمال کریں = آپشن ، ذیل میں بیان کیا گیا ہے۔
  • =: برابر علامت۔ اجازت طے کریں اور دوسروں کو ہٹائیں۔

وہ "کون سی" اقدار جو ہم استعمال کرسکتے ہیں وہ ہیں:

  • r: پڑھنے کی اجازت۔
  • ڈبلیو: لکھنے کی اجازت۔
  • ایکس: اجازت پر عملدرآمد.

اجازتوں کی ترتیب اور ترمیم کرنا

ہم کہتے ہیں کہ ہمارے پاس ایک فائل ہے جہاں ہر ایک کو اس کی مکمل اجازت ہے۔

ls -l new_ file.txt

ہم چاہتے ہیں کہ صارف ڈیو کو اجازتیں پڑھنے اور لکھنے کی اجازت ہو اور گروپ اور دوسرے صارفین کو صرف پڑھنے کی اجازت حاصل ہو۔ ہم مندرجہ ذیل کمانڈ کا استعمال کرکے کرسکتے ہیں۔

chmod u = rw، og = r new_file.txt

"=" آپریٹر کے استعمال کا مطلب ہے کہ ہم کسی بھی موجودہ اجازت کو ختم کردیں اور پھر متعین کردہ افراد کو مرتب کریں۔

آئیے اس فائل پر نئی اجازت چیک کریں:

ls -l new_file.txt

جیسا کہ ہماری توقع تھی ، موجودہ اجازتیں ہٹادی گئیں ، اور نئی اجازتیں طے کردی گئیں۔

اجازت شامل کرنے کا طریقہ بغیر موجودہ اجازت کی ترتیبات کو ہٹا رہا ہے؟ ہم یہ آسانی سے بھی کرسکتے ہیں۔

ہم کہتے ہیں کہ ہمارے پاس اسکرپٹ فائل ہے جس کی ترمیم ہم نے مکمل کرلی ہے۔ ہمیں اسے تمام صارفین کے لئے قابل عمل بنانے کی ضرورت ہے۔ اس کی موجودہ اجازتیں اس طرح دکھتی ہیں:

ls -l new_script.sh

ہم مندرجہ ذیل کمانڈ کے ساتھ ہر ایک کے لئے پھانسی کی اجازت شامل کرسکتے ہیں۔

chmod a + x new_script.sh

اگر ہم اجازتوں پر ایک نگاہ ڈالیں تو ہم دیکھیں گے کہ اس پر عملدرآمد کی اجازت اب سب کو مل گئی ہے ، اور موجودہ اجازتیں اب بھی موجود ہیں۔

ls -l new_script.sh

ہم "a + x" کے بیان میں "a" کے بغیر بھی یہی کام حاصل کرسکتے تھے۔ درج ذیل کمانڈ نے بھی کام کیا ہوگا۔

chmod + x new_script.sh

ایک سے زیادہ فائلوں کے لئے اجازتیں مقرر کرنا

ہم ایک ہی وقت میں ایک سے زیادہ فائلوں پر اجازتوں کا اطلاق کرسکتے ہیں۔

موجودہ ڈائریکٹری میں یہ فائلیں ہیں۔

ls -l

ہم کہتے ہیں کہ ہم فائلوں سے "دوسرے" صارفین کے لئے تحریری اجازتوں کو ختم کرنا چاہتے ہیں جن میں ". پیج" توسیع ہے۔ ہم یہ کام مندرجہ ذیل حکم سے کرسکتے ہیں۔

chmod o-r *. پیج

آئیے چیک کریں کہ اس کا کیا اثر پڑا ہے:

ls -l

جیسا کہ ہم دیکھ سکتے ہیں ، صارفین کے "دوسرے" زمرہ کے لئے ". پیج" فائلوں سے پڑھنے کی اجازت کو ہٹا دیا گیا ہے۔ کوئی دوسری فائلیں متاثر نہیں ہوئی ہیں۔

اگر ہم فائلوں کو سب ڈائرکٹریاں میں شامل کرنا چاہتے تھے تو ہم اسے استعمال کرسکتے تھے -R (پنراورتی) آپشن۔

chmod -R o-r *. پیج

عددی شارٹ ہینڈ

استعمال کرنے کا ایک اور طریقہ chmod وہ اجازت نامہ فراہم کرنا ہے جو آپ مالک ، گروپ اور دیگر کو تین ہندسے کے نمبر کے طور پر دینا چاہتے ہیں۔ بائیں بازو کا ہندسہ مالک کے لئے اجازت کی نمائندگی کرتا ہے۔ درمیانی ہندسہ گروپ کے ممبروں کے لئے اجازت کی نمائندگی کرتا ہے۔ دائیں طرف کا ہندسہ دوسروں کے لئے اجازت کی نمائندگی کرتا ہے۔

آپ جو ہندسے استعمال کرسکتے ہیں اور وہ کیا نمائندگی کرتے ہیں وہ یہاں درج ہیں:

  • 0: (000) کوئی اجازت نہیں ہے۔
  • 1: (001) اجازت پر عمل کریں۔
  • 2: (010) اجازت لکھیں۔
  • 3: (011) لکھیں اور اس پر عمل درآمد کریں۔
  • 4: (100) پڑھیں اجازت۔
  • 5: (101) اجازتیں پڑھیں اور اس پر عمل کریں۔
  • 6: (110) پڑھیں اور لکھیں اجازتیں.
  • 7: (111) اجازتیں پڑھیں ، لکھیں اور ان پر عمل کریں۔

تینوں اجازتوں میں سے ہر ایک کی اعدادوشمار کے برابر بائنری برابر بٹس میں سے ایک کی طرف سے نمائندگی کی جاتی ہے۔ تو 5 ، جو بائنری میں 101 ہے ، کا مطلب ہے پڑھیں اور اس پر عملدرآمد کریں۔ 2 ، جو بائنری میں 010 ہے ، کا مطلب تحریری اجازت ہوگی۔

اس طریقہ کار کو استعمال کرتے ہوئے ، آپ اجازت نامے مرتب کرتے ہیں جو آپ چاہتے ہیں۔ آپ ان اجازتوں کو موجودہ اجازتوں میں شامل نہیں کرتے ہیں۔ لہذا اگر پڑھنے لکھنے کی اجازت پہلے سے موجود تھی تو آپ کو پھانسی کی اجازتوں کو شامل کرنے کے لئے 7 (111) کا استعمال کرنا پڑے گا۔ 1 (001) کے استعمال سے پڑھنے اور لکھنے کی اجازتیں ختم ہوجائیں گی اور اس پر عمل درآمد کی اجازت شامل ہوجائے گی۔

آئیے صارفین کے دوسرے زمرے کے لئے ". پیج" فائلوں پر پڑھنے کی اجازت شامل کریں۔ ہمیں صارف اور گروپ کی اجازتیں بھی ترتیب دینی چاہ. ، لہذا ہمیں انہیں پہلے سے موجود چیزوں پر ترتیب دینے کی ضرورت ہے۔ ان صارفین کے پاس پہلے ہی اجازت پڑھنے اور لکھنے کی اجازت ہے ، جو 6 (110) ہے۔ ہم چاہتے ہیں کہ "دوسرے" پڑھیں اور اجازت لیں ، لہذا ان کو 4 (100) مقرر کرنے کی ضرورت ہے۔

مندرجہ ذیل کمانڈ اس کو پورا کرے گی۔

chmod 664 *. پیج

اس سے صارف ، گروپ ممبروں اور دوسروں کے لئے ہمیں جو اجازت درکار ہوتی ہے اس کی اجازت دیتا ہے۔ صارفین اور گروپ ممبران کے پاس اپنی اجازتیں دوبارہ ترتیب دی گئی ہیں جو وہ پہلے سے تھیں ، اور دوسروں کو پڑھنے کی اجازت بحال کردی گئی ہے۔

ls -l

اعلی درجے کے اختیارات

اگر آپ مین پیج پڑھتے ہیں chmod آپ دیکھیں گے کہ SETUID اور SETGID بٹس سے وابستہ کچھ جدید اختیارات ہیں ، اور اسے حذف کرنے یا "چپچپا" بٹ سے متعلق ہیں۔

آپ کو ضرورت کے 99٪ معاملات کیلئے chmod کیونکہ ، یہاں بیان کردہ آپشنز آپ پر احاطہ کرلیں گے۔


$config[zx-auto] not found$config[zx-overlay] not found