انڈروئد

لینکس میں Chmod کمانڈ (فائل کی اجازت)

Creating group folders for Linux users 2: Creating directories and setting permissions

Creating group folders for Linux users 2: Creating directories and setting permissions

فہرست کا خانہ:

Anonim

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

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

لینکس فائل اجازت

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

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

  • فائل کا مالک۔ گروپ کے ممبران۔ دیگر (ہر ایک)۔

فائل کی ملکیت کو chown اور chgrp کمانڈوں کا استعمال کرتے ہوئے تبدیل کیا chgrp ہے۔

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

  • پڑھنے کی اجازت write تحریری اجازت The اجازت پر عمل کریں۔

یہ تصور آپ کو یہ بتانے کی اجازت دیتا ہے کہ کن صارفین کو فائل پڑھنے ، فائل کو لکھنے یا فائل پر عمل کرنے کی اجازت ہے۔

فائل اجازت ls کمانڈ کا استعمال کرتے ہوئے دیکھا جاسکتا ہے۔

ls -l filename.txt

-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | | | | | | | | | | | +-----------> 7. Group | | | | | +-------------------> 6. Owner | | | | +--------------------------> 5. Alternate Access Method | | | +----------------------------> 4. Others Permissions | | +-------------------------------> 3. Group Permissions | +----------------------------------> 2. Owner Permissions +------------------------------------> 1. File Type

پہلا حرف فائل کی قسم کو ظاہر کرتا ہے۔ یہ ایک باقاعدہ فائل ( - ) ، ڈائریکٹری ( d ) ، علامتی لنک ( l ) ، یا کسی دوسری قسم کی فائل ہوسکتی ہے۔

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

مذکورہ بالا مثال میں ( rw-r--r-- ) کا مطلب یہ ہے کہ فائل کے مالک نے اجازت ( rw- ) پڑھی ہے اور لکھی ہے ، اس گروپ اور دیگر نے صرف اجازت r-- ( r-- ) پڑھی ہیں۔

اجازت نامے میں سے ہر ایک میں مندرجہ ذیل حروف کی تعمیر کی جاسکتی ہے اور اس پر انحصار کرتا ہے کہ وہ فائل میں یا ڈائریکٹری میں سیٹ ہیں:

فائلوں پر اجازت کا اثر

اجازت کریکٹر فائل پر معنی
پڑھیں - فائل پڑھنے کے قابل نہیں ہے۔ آپ فائل کے مندرجات نہیں دیکھ سکتے ہیں۔
r فائل پڑھنے کے قابل ہے۔
لکھیں - فائل کو تبدیل یا تبدیل نہیں کیا جاسکتا۔
w فائل کو تبدیل یا تبدیل کیا جاسکتا ہے۔
پھانسی - فائل پر عمل نہیں کیا جاسکتا۔
x فائل پر عمل درآمد کیا جاسکتا ہے۔
s اگر user ٹرپلٹ میں پایا جاتا ہے تو یہ setuid بٹ طے کرتا ہے۔ اگر group ٹرپلٹ میں پایا جاتا ہے ، تو یہ تھوڑا سا سیٹ کرتا ہے۔ اس کا مطلب یہ بھی ہے کہ x پرچم سیٹ ہے۔

جب ایک پھانسی دینے والی فائل پر setuid یا سیٹ setgid جھنڈے لگائے جاتے ہیں تو فائل کے مالک اور / یا گروپ مراعات کے ساتھ فائل پر عمل درآمد ہوتا ہے۔

S جیسے ہی لیکن x پرچم سیٹ نہیں کیا گیا ہے۔ فائلوں پر یہ جھنڈا شاذ و نادر ہی استعمال ہوتا ہے۔
t اگر others میں مل جاتا ہے تو تین طرف سے یہ sticky سا طے کرتا ہے۔

اس کا مطلب یہ بھی ہے کہ x پرچم سیٹ ہے۔ فائلوں پر یہ جھنڈا بیکار ہے۔

T t جیسے ہی لیکن x پرچم سیٹ نہیں کیا گیا ہے۔ فائلوں پر یہ جھنڈا بیکار ہے۔

ڈائریکٹریز (فولڈر) پر اجازت کا اثر

لینکس میں ، ڈائرکٹریز خاص قسم کی فائلیں ہوتی ہیں جس میں دوسری فائلیں اور ڈائریکٹری شامل ہوتی ہیں۔

اجازت کریکٹر مطلب ڈائریکٹری
پڑھیں - ڈائرکٹری کے مندرجات نہیں دکھائے جاسکتے ہیں۔
r ڈائرکٹری کے مندرجات دکھائے جاسکتے ہیں۔

(مثال کے طور پر آپ ls ساتھ ڈائریکٹری کے اندر فائلوں کی فہرست دے سکتے ہیں۔)

لکھیں - ڈائرکٹری کے مندرجات کو تبدیل نہیں کیا جاسکتا۔
w ڈائرکٹری کے مندرجات کو تبدیل کیا جاسکتا ہے۔

(جیسے آپ نئی فائلیں نہیں بنا سکتے ، فائلیں حذف نہیں کرسکتے۔ وغیرہ)

پھانسی - ڈائریکٹری کو تبدیل نہیں کیا جاسکتا۔
x ڈائریکٹری cd کا استعمال کرتے ہوئے نیویگیٹ ہوسکتی ہے۔
s اگر user ٹرپلٹ میں پایا جاتا ہے ، تو یہ setuid بٹ طے کرتا ہے۔ اگر group ٹرپلٹ میں پایا جاتا ہے تو یہ تھوڑا سا سیٹ کرتا ہے۔ اس کا مطلب یہ بھی ہے کہ x پرچم سیٹ ہے۔ جب جھنڈا کسی جھنڈے کو کسی ڈائرکٹری پر سیٹ کیا جاتا ہے تو اس کے اندر بنی نئی فائلیں فائل تخلیق کرنے والے صارف کے بنیادی گروپ ID کی بجائے ڈائریکٹری گروپ ID (GID) کے ساتھ مل جاتی ہیں۔

ڈائریکٹریوں پر setuid کا کوئی اثر نہیں ہوتا ہے۔

S جیسے ہی لیکن x پرچم سیٹ نہیں کیا گیا ہے۔ یہ پرچم ڈائریکٹریوں میں بیکار ہے۔
t اگر others میں مل جاتا ہے تو تین طرف سے یہ sticky سا طے کرتا ہے۔

اس کا مطلب یہ بھی ہے کہ x پرچم سیٹ ہے۔ جب چپچپا سا ایک ڈائریکٹری پر سیٹ کیا جاتا ہے ، تو صرف فائل کا مالک ، ڈائرکٹری کا مالک ، یا انتظامی صارف ڈائریکٹری میں موجود فائلوں کو حذف یا نام تبدیل کرسکتا ہے۔

T t جیسے ہی لیکن x پرچم سیٹ نہیں کیا گیا ہے۔ یہ پرچم ڈائریکٹریوں میں بیکار ہے۔

chmod کا استعمال کرتے ہوئے

chmod کمانڈ مندرجہ ذیل عام شکل اختیار کرتی ہے۔

chmod MODE FILE…

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

صرف جڑ ، فائل کا مالک یا سوڈو مراعات کے حامل صارف کسی فائل کی اجازت کو تبدیل کرسکتے ہیں۔ chmod استعمال کرتے وقت اضافی محتاط رہیں ، خاص طور پر جب اجازتوں کو بار بار تبدیل کریں۔

علامت (متن) کا طریقہ

علامتی حالت استعمال کرتے وقت chmod کمانڈ کا نحو درج ذیل میں ہوتا ہے۔

chmod perms… FILE…

جھنڈوں کا پہلا سیٹ ( ) ، صارفین کے جھنڈے ، وضاحت کرتے ہیں کہ کن فائلوں کو فائلوں کی اجازتیں تبدیل کی گئی ہیں۔

  • u - فائل کا مالک۔ g - وہ صارفین جو گروپ کے ممبر ہیں۔ o - دوسرے تمام صارفین a - تمام صارفین ، جیسے ugo ۔

اگر صارفین کے جھنڈے کو چھوڑ دیا جاتا ہے تو ، پہلے سے طے شدہ شکل ایک ہوتی a اور عماسک کے ذریعہ مقرر کردہ اجازتیں متاثر نہیں ہوتی ہیں۔

جھنڈوں کا دوسرا مجموعہ ( ) ، آپریشن کے جھنڈے ، وضاحت کرتا ہے کہ آیا اجازتوں کو ختم کرنا ، شامل کرنا ، یا سیٹ کرنا ہے:

  • - مخصوص اجازتیں ہٹا دیتا ہے۔ + مخصوص اجازت شامل کرتا ہے۔ = موجودہ اجازتوں کو مخصوص اجازتوں میں تبدیل کرتا ہے۔ اگر = علامت کے بعد کوئی اجازت نامزد نہیں کی گئی ہے تو ، صارف کے مخصوص طبقے سے تمام اجازتیں ہٹا دی گئیں۔

اجازتیں (اجازت نامہ perms… ) صفر یا ایک یا ایک سے زیادہ درج ذیل خطوں کا استعمال کرتے ہوئے واضح طور پر مرتب کی جاسکتی ہیں: r ، w ، x ، X ، s ، اور t . ایک سے دوسرے صارف طبقے میں اجازت کاپی کرتے وقت سیٹ u ، g ، اور o کا ایک حرف استعمال کریں۔

جب ایک سے زیادہ صارف طبقات کے لئے اجازتیں مرتب کریں ( ) ، علامتی طریقوں کو الگ کرنے کے لئے کوما (بغیر خالی جگہ) کا استعمال کریں۔

ذیل میں کچھ مثالوں کی علامت موڈ میں chmod کمانڈ استعمال کرنے کا طریقہ ہے۔

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

    chmod g=r filename

    تمام صارفین کے لئے عملدرآمد کی اجازت کو ہٹا دیں:

    chmod ax filename

    دوسرے صارفین کے لuls تحریری اجازت کو ہٹا دیں۔

    chmod -R ow dirname

    فائل کے مالک کے علاوہ تمام صارفین کے پڑھنے ، لکھنے اور ان پر عملدرآمد کی اجازت کو ہٹا دیں:

    chmod og-rwx filename

    مندرجہ ذیل فارم کا استعمال کرکے بھی یہی کام انجام دیا جاسکتا ہے۔

    chmod og= filename

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

    chmod u=rwx, g=r, o= filename

    فائل کے مالک کی اجازتوں کو فائل کے گروپ کے ممبروں کے پاس شامل کردہ اجازتوں میں شامل کریں:

    chmod g+u filename

    کسی دی گئی ڈائریکٹری میں ایک چپچپا سا شامل کریں:

    chmod o+t dirname

عددی طریقہ

عددی طریقہ استعمال کرتے وقت chmod کمانڈ کا نحو درج ذیل شکل میں ہوتا ہے۔

chmod NUMBER FILE…

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

NUMBER 3 یا 4 ہندسوں کا NUMBER ہوسکتا ہے۔

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

ہر تحریری ، پڑھنے اور عملدرآمد کی اجازتوں کی درج ذیل قیمت ہے۔

  • r (پڑھیں) = 4 w (لکھنا) = 2 x (پھانسی) = 1 نہیں اجازتیں = 0

کسی مخصوص صارف طبقے کی اجازت نمبر کی نمائندگی اس گروپ کے ل the اجازت کی اقدار کے جوہر کے ذریعہ کی جاتی ہے۔

عددی موڈ میں فائل کی اجازت معلوم کرنے کے لئے تمام صارف طبقات کے لئے کل کا حساب لگائیں۔ مثال کے طور پر ، فائل کے مالک کو پڑھنے ، لکھنے اور اس پر عمل کرنے کی اجازت دینا ، فائل کے گروپ کو اجازتیں پڑھنا اور اس پر عملدرآمد کرنا اور دوسرے تمام صارفین کو صرف یہ اجازت پڑھنا ہے کہ آپ مندرجہ ذیل کام کریں:

  • مالک: rwx = 4 + 2 + 1 = 7 گروپ: rx = 4 + 0 + 1 = 5 دیگر: rx = 4 + 0 + 0 = 4

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

setuid ، setgid ، اور sticky bit جھنڈے ترتیب دینے کیلئے چار ہندسوں کی تعداد کا استعمال کریں۔

جب 4 ہندسوں کا نمبر استعمال کیا جاتا ہے تو ، پہلے ہندسے کے ذیل معنی ہوتے ہیں:

  • setuid = 4setgid = 2 اسٹکی = 1 کوئی تبدیلیاں = 0

اگلے تین ہندسوں میں ایک ہی معنی ہیں جیسے 3 ہندسوں کا نمبر استعمال کرتے وقت۔

اگر پہلا ہندسہ 0 ہے تو اسے خارج کیا جاسکتا ہے ، اور وضع میں 3 ہندسوں کی نمائندگی کی جاسکتی ہے۔ عددی موڈ 0755 755 ۔

ہندسے کے انداز کا حساب لگانے کے لئے آپ دوسرا طریقہ (بائنری طریقہ) بھی استعمال کرسکتے ہیں ، لیکن یہ قدرے پیچیدہ ہے۔ زیادہ تر صارفین کے لئے 4 ، 2 ، اور 1 کا استعمال کرتے ہوئے عددی موڈ کا حساب لگانا جاننا کافی ہے۔

آپ stat کمانڈ کا استعمال کرکے فائل کی اجازتیں چیک کرسکتے ہیں۔

stat -c "%a" filename

644

یہاں chmod کمانڈ کو عددی موڈ میں استعمال کرنے کے طریقے کی کچھ مثالیں ہیں۔

  • فائل کے مالک کو پڑھنے اور لکھنے کی اجازت دیں اور صرف گروپ ممبروں اور دیگر تمام صارفین کو ہی اجازتیں پڑھیں:

    chmod 644 dirname

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

    chmod 750 dirname

    اجازتیں پڑھیں ، لکھیں اور ان پر عمل درآمد کریں ، اور دی گئی ڈائریکٹری میں ایک چپچپا سا دیں:

    chmod 1777 dirname

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

    chmod -R 700 dirname

ایک ریفرنس فائل کا استعمال کرنا

--reference=ref_file آپشن فائل کی اجازت کو مخصوص ریفرنس فائل ( ref_file فائل) کی طرح کرنے کی اجازت دیتا ہے۔

chmod --reference=REF_FILE FILE

مثال کے طور پر ، درج ذیل کمانڈ file1 کو اجازت دے گی

chmod --reference=file1 file2

فائل کی اجازتوں کو بار بار تبدیل کریں

دی گئی ڈائریکٹری کے تحت تمام فائلوں اور ڈائرکٹریوں پر بار بار کام کرنے کے لئے ، -R ( --recursive ) آپشن کا استعمال کریں۔

chmod -R MODE DIRECTORY

مثال کے طور پر ، /var/www ڈائرکٹری کے تحت تمام فائلوں اور سب ڈائرکٹریوں کی اجازتوں کو تبدیل کرنے کے لئے آپ 755 کریں گے۔

chmod -R 755 /var/www

علامتی روابط پر آپریٹنگ

علامتی لنکس میں ہمیشہ 777 اجازت ہوتی ہے۔

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

chmod 755 symlink

امکانات یہ ہیں کہ ہدف کی ملکیت کو تبدیل کرنے کے بجائے ، آپ کو '' سمیلی لنک تک رسائی حاصل نہیں ہوسکتی ہے: اجازت سے انکار '' غلطی ملے گی۔

خرابی اس لئے ہوتی ہے کیونکہ زیادہ تر لینکس تقسیم پر سیملن لنک محفوظ ہوتے ہیں ، اور آپ ٹارگٹ فائلوں پر کام نہیں کرسکتے ہیں۔ یہ آپشن /proc/sys/fs/protected_symlinks میں بیان /proc/sys/fs/protected_symlinks ۔ 1 کا مطلب ہے اہل اور 0 غیر فعال۔ یہ تجویز کیا جاتا ہے کہ سملینک تحفظ کو غیر فعال نہ کریں۔

بڑی تعداد میں فائل کی اجازت کو تبدیل کرنا

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

سب سے عام منظر نامہ یہ ہے کہ ویب سائٹ فائل کی اجازتوں کو بار بار تبدیل کرکے 644 اور ڈائریکٹری کی اجازتوں کو 755 ۔

عددی طریقہ استعمال کرنا:

find /var/www/my_website -type d -exec chmod 755 {} ; find /var/www/my_website -type f -exec chmod 644 {} ;

علامتی طریقہ استعمال کرنا:

find /var/www/my_website -type d -exec chmod u=rwx, go=rx {} ; find /var/www/my_website -type f -exec chmod u=rw, go=r {} ;

/var/www/my_website کمانڈ فائلوں اور ڈائریکٹریوں کو /var/www/my_website تحت تلاش کرے گی اور ہر ایک فائل اور ڈائرکٹری کو اجازت دینے کے لئے chmod کمانڈ پر منتقل کرے گی۔

نتیجہ اخذ کرنا

chmod کمانڈ فائل کی اجازت کو تبدیل کرتی ہے۔ اجازت نامے کو علامتی یا عددی موڈ کا استعمال کرتے ہوئے طے کیا جاسکتا ہے۔

chmod بارے میں مزید جاننے کے لئے chmod man پیج دیکھیں۔

chmod ٹرمینل