انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید




نویسنده موضوع: چگونه به صورت پیشفرض سطح دسترسی(permission) فایلمو تنظیم کنیم  (دفعات بازدید: 648 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین احمدرضا بشری

  • Jr. Member
  • *
  • ارسال: 48
  • جنسیت : پسر
    • وبلاگ شخصی احمدرضا بشری
با سلام و عرض خسته نباشید
من زمانی که ی فایل تو سیستم میسازم و کامند ll رو میزنم سطح دسترسی فایلم اینطوریه :
rwxrwxr-x-
میخوام زمانی که فایلمو میسازم به طور پیشفرض سطح دسترسی  به  این صورت  باشه
---rwxr-x-
لینوکس کارا راهنمایی کنید
یاد بگیرید و اموزش بدید تا افراد بعد از شما به خوبی ازتون یاد کنند

آفلاین Morteza_y04

  • Jr. Member
  • *
  • ارسال: 26
  • جنسیت : پسر
سلام سطح دسترسی ترتیبش اشتباه هست و برای فایل ها(دایرکتوری ها متفاوته) هم همچین سطح دسترسی وجود نداره در صورت اصلاح.
به هر حال برای ویرایش سطح دسترسی هامیتونید از دستور

umask

استفاده کنید
اگه مسلط نیستید به تبدیل سطح دسترسی میتونید تو اینترنت umask calculator رو جستجو کنید


آفلاین احمدرضا بشری

  • Jr. Member
  • *
  • ارسال: 48
  • جنسیت : پسر
    • وبلاگ شخصی احمدرضا بشری
سلام سطح دسترسی ترتیبش اشتباه هست و برای فایل ها(دایرکتوری ها متفاوته) هم همچین سطح دسترسی وجود نداره در صورت اصلاح.
به هر حال برای ویرایش سطح دسترسی هامیتونید از دستور

umask

استفاده کنید
اگه مسلط نیستید به تبدیل سطح دسترسی میتونید تو اینترنت umask calculator رو جستجو کنید


سلام مرتضی جان ممنون جواب دادی ولی  من زودتر تمام مشکلات رو حل کردم با umask از طریق فایل etc/login.defs/
وای باز دمت گرم جواب دادی :)
یاد بگیرید و اموزش بدید تا افراد بعد از شما به خوبی ازتون یاد کنند

آفلاین احمدرضا بشری

  • Jr. Member
  • *
  • ارسال: 48
  • جنسیت : پسر
    • وبلاگ شخصی احمدرضا بشری
و اینم بگم که تمام دسترسی ها رو داخل تمامی user هام به صورت پیشفرض روی 700 گذاشتم چون اعضای گروه و بقیه افراد قادر به دیدن فایل و دایرکتوری های بقیه افراد نباشن :)

و میخوام ی مقاله درباره این تجربه بنویسم که بقیه برنامه نویسا ازش بهره مند بشن
یاد بگیرید و اموزش بدید تا افراد بعد از شما به خوبی ازتون یاد کنند

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5125
  • جنسیت : پسر
فایل‌ها وقتی که ساخته میشن، نمی‌تونند به طور پیش‌فرض دسترسی اجرایی (x) داشته باشند، خودتون باید دستی با chmod اون دسترسی رو بدید.
پس فایل‌های معمولی که ساخته میشن، حداکثر می‌تونند این دسترسی رو داشته باشند -rw-rw-rw برای شما، این دسترسی می‌تونه این باشه:  -----rw-r یعنی خود صاحب فایل می‌تونه اون رو بخونه و تغییر بده، گروهی که فایل متعلق به اون هست، بتونه فایل رو فقط بخونه و بقیه نتونند هیچ کاری با فایل انجام بدن.

البته برای دایرکتوری‌ها این طور نیست و دایرکتوری‌ها می‌تونند دسترسی اجرایی داشته باشند. این دسترسی اجرایی روی دایرکتوری باعث میشه که بقیه بتونند محتوای دایرکتوری رو ببینند یا به عبارتی دستور ls محتوای اون دایرکتوری رو نشون بده. پس دسترسی ---rwxr-x می‌تونه به طور پیش‌فرض برای یه دایرکتوری وجود داشته باشه.
این باعث میشه که صاحب دایرکتوری بتونه داخل اون دایرکتوری فایل ایجاد کنه، اون دایدکتوری رو بخونه و محتوای اون رو ببینه، گروهی که اون دایرکتوری متعلق بهش هست، می‌تونه اون دایرکتوری رو بخونه و محتوای اون رو ببینه اما نمی‌تونه چیزی داخل اون دایرکتوری ایجاد کنه، بقیه هم هسچ کاری نمی‌تونند با اون دایرکتوری انجام بدند. 

برای اینکه اون دسترسی‌ها به طور پیش‌فرض اعمال بشه، همونطور که‌گفتند، باید از دستور umask استفاده کنید. با توجه به چیز‌هایی که گفتید، بهتره مقدار umask رو برابر 0027 قرار بدید.
کرنل لینوکس به طور پیش‌فرض، به فایل‌های جدید ساخته شده دسترسی 0666 میده. که همون -rw-rw-rw هست، (اون 0 اول رو نادیده بگیرید، مربوط به دسترسی‌های خاص هست که اینجا ما کاری بهش نداریم.) وقتی که umask وجود داره، دسترسی فایل ایجاد شده میشه 0666 منهای umask. (عدد منفی نداریم، اگه منفی شد، همون 0 در نظر بگیرید) پس اگه umask برابر 0027 باشه، دسترسی فایل 0640 میشه یا همون -----rw-r 

برای دایرکتوری‌ها، دسترسی پیش‌فرض 0777 هست که اگه umask وجود داشته باشه، نتیجه مثل بالا میشه. یعنی اگه umask برابر 0027 بود، دسترسی دایرکتوری ساخته شده، میشه 0750 یا همون ---rwxr-x 

برای اینکه umask فعلی رو ببینید، همینطور دستور umask رو توی ترمینال وارد کنید، umask به طور عددی نمایش داده میشه. اگه از آپشن S- استفاده کنید، مقدار umask بر اساس rwx نمایش داده میشه.
برای تغییر مقدار umask، مقدار جدید رو جلوی اون بنویسید یعنی اینجوری
umask 0027الان داخل همین ترمینالی که هستید، umask همونی شده که وارد کردید، ولی اگه یه ترمینال جدید باز کنید، umask همون قبلی هست. برای اینکه هربار umask چیزی بشه که شما می‌خواهید، اون رو توی فایل bashrc. قرار بدید (اگه از bash استفاده می‌کنید) . اول فایل bashrc. رو باز کنید و بعد umask 0027 رو آخر فایل بنویسید و خارج بشید. از این به بعد هر بار که bash با کاربر شما شروع به کار می‌کنه، umask اون چیزی هست که تنظیم کردید.

اگه می‌خواهید برای همه کاربر‌ها umask پیش‌فرض رو تغییر بدید، umask رو توی فایل زیر تعریف کنید.
/etc/profileهرچند بهتره که یه فایل با پسوند sh. توی دایرکتوری زیر بسازید و بعد اون رو اونجا اضافه کنید تا فایل profile دست نخورده باقی بمونه.
/etc/profile.d
مثلا اسم فایل رو بذارید umask.sh و بعد داخلش umask 0027 رو بنویسید. دقت کنید بعد از اینکه فایل رو توی دایرکتوری بالا ساختید، صاحب و گروه اون رو به root تغییر بدید
sudo chown root:root /etc/profile.d/umask.shبعدش هم دسترسی‌ها اون رو درست کنید.

sudo chmod 0755 /etc/profile.d/umask.sh
میدونید که زکات علم نشر آن است

آفلاین احمدرضا بشری

  • Jr. Member
  • *
  • ارسال: 48
  • جنسیت : پسر
    • وبلاگ شخصی احمدرضا بشری
فایل‌ها وقتی که ساخته میشن، نمی‌تونند به طور پیش‌فرض دسترسی اجرایی (x) داشته باشند، خودتون باید دستی با chmod اون دسترسی رو بدید.
پس فایل‌های معمولی که ساخته میشن، حداکثر می‌تونند این دسترسی رو داشته باشند -rw-rw-rw برای شما، این دسترسی می‌تونه این باشه:  -----rw-r یعنی خود صاحب فایل می‌تونه اون رو بخونه و تغییر بده، گروهی که فایل متعلق به اون هست، بتونه فایل رو فقط بخونه و بقیه نتونند هیچ کاری با فایل انجام بدن.

البته برای دایرکتوری‌ها این طور نیست و دایرکتوری‌ها می‌تونند دسترسی اجرایی داشته باشند. این دسترسی اجرایی روی دایرکتوری باعث میشه که بقیه بتونند محتوای دایرکتوری رو ببینند یا به عبارتی دستور ls محتوای اون دایرکتوری رو نشون بده. پس دسترسی ---rwxr-x می‌تونه به طور پیش‌فرض برای یه دایرکتوری وجود داشته باشه.
این باعث میشه که صاحب دایرکتوری بتونه داخل اون دایرکتوری فایل ایجاد کنه، اون دایدکتوری رو بخونه و محتوای اون رو ببینه، گروهی که اون دایرکتوری متعلق بهش هست، می‌تونه اون دایرکتوری رو بخونه و محتوای اون رو ببینه اما نمی‌تونه چیزی داخل اون دایرکتوری ایجاد کنه، بقیه هم هسچ کاری نمی‌تونند با اون دایرکتوری انجام بدند. 

برای اینکه اون دسترسی‌ها به طور پیش‌فرض اعمال بشه، همونطور که‌گفتند، باید از دستور umask استفاده کنید. با توجه به چیز‌هایی که گفتید، بهتره مقدار umask رو برابر 0027 قرار بدید.
کرنل لینوکس به طور پیش‌فرض، به فایل‌های جدید ساخته شده دسترسی 0666 میده. که همون -rw-rw-rw هست، (اون 0 اول رو نادیده بگیرید، مربوط به دسترسی‌های خاص هست که اینجا ما کاری بهش نداریم.) وقتی که umask وجود داره، دسترسی فایل ایجاد شده میشه 0666 منهای umask. (عدد منفی نداریم، اگه منفی شد، همون 0 در نظر بگیرید) پس اگه umask برابر 0027 باشه، دسترسی فایل 0640 میشه یا همون -----rw-r 

برای دایرکتوری‌ها، دسترسی پیش‌فرض 0777 هست که اگه umask وجود داشته باشه، نتیجه مثل بالا میشه. یعنی اگه umask برابر 0027 بود، دسترسی دایرکتوری ساخته شده، میشه 0750 یا همون ---rwxr-x 

برای اینکه umask فعلی رو ببینید، همینطور دستور umask رو توی ترمینال وارد کنید، umask به طور عددی نمایش داده میشه. اگه از آپشن S- استفاده کنید، مقدار umask بر اساس rwx نمایش داده میشه.
برای تغییر مقدار umask، مقدار جدید رو جلوی اون بنویسید یعنی اینجوری
umask 0027الان داخل همین ترمینالی که هستید، umask همونی شده که وارد کردید، ولی اگه یه ترمینال جدید باز کنید، umask همون قبلی هست. برای اینکه هربار umask چیزی بشه که شما می‌خواهید، اون رو توی فایل bashrc. قرار بدید (اگه از bash استفاده می‌کنید) . اول فایل bashrc. رو باز کنید و بعد umask 0027 رو آخر فایل بنویسید و خارج بشید. از این به بعد هر بار که bash با کاربر شما شروع به کار می‌کنه، umask اون چیزی هست که تنظیم کردید.

اگه می‌خواهید برای همه کاربر‌ها umask پیش‌فرض رو تغییر بدید، umask رو توی فایل زیر تعریف کنید.
/etc/profileهرچند بهتره که یه فایل با پسوند sh. توی دایرکتوری زیر بسازید و بعد اون رو اونجا اضافه کنید تا فایل profile دست نخورده باقی بمونه.
/etc/profile.d
مثلا اسم فایل رو بذارید umask.sh و بعد داخلش umask 0027 رو بنویسید. دقت کنید بعد از اینکه فایل رو توی دایرکتوری بالا ساختید، صاحب و گروه اون رو به root تغییر بدید
sudo chown root:root /etc/profile.d/umask.shبعدش هم دسترسی‌ها اون رو درست کنید.

sudo chmod 0755 /etc/profile.d/umask.sh
اقااااااااا دمت گرم خیلی خوب بود
من umask رو 0077 تنظیم کردم بنظر شما مشکلی به وجود میاد؟؟
چون میخوام افراد داخل گروهم قادر به  نوشتن  ، اجرا و دیدن نباشن

و اینم بگم که درمورد profile.d چیزی نمیدونستم برای همین از
etc/login.defs/ این کارو کردم ولی حتما از پروفایل هم تست میکنمش
باز ممنون خیلی لطف کردی دمت گرم خدایی
یاد بگیرید و اموزش بدید تا افراد بعد از شما به خوبی ازتون یاد کنند

آفلاین احمدرضا بشری

  • Jr. Member
  • *
  • ارسال: 48
  • جنسیت : پسر
    • وبلاگ شخصی احمدرضا بشری
فایل‌ها وقتی که ساخته میشن، نمی‌تونند به طور پیش‌فرض دسترسی اجرایی (x) داشته باشند، خودتون باید دستی با chmod اون دسترسی رو بدید.
پس فایل‌های معمولی که ساخته میشن، حداکثر می‌تونند این دسترسی رو داشته باشند -rw-rw-rw برای شما، این دسترسی می‌تونه این باشه:  -----rw-r یعنی خود صاحب فایل می‌تونه اون رو بخونه و تغییر بده، گروهی که فایل متعلق به اون هست، بتونه فایل رو فقط بخونه و بقیه نتونند هیچ کاری با فایل انجام بدن.

البته برای دایرکتوری‌ها این طور نیست و دایرکتوری‌ها می‌تونند دسترسی اجرایی داشته باشند. این دسترسی اجرایی روی دایرکتوری باعث میشه که بقیه بتونند محتوای دایرکتوری رو ببینند یا به عبارتی دستور ls محتوای اون دایرکتوری رو نشون بده. پس دسترسی ---rwxr-x می‌تونه به طور پیش‌فرض برای یه دایرکتوری وجود داشته باشه.
این باعث میشه که صاحب دایرکتوری بتونه داخل اون دایرکتوری فایل ایجاد کنه، اون دایدکتوری رو بخونه و محتوای اون رو ببینه، گروهی که اون دایرکتوری متعلق بهش هست، می‌تونه اون دایرکتوری رو بخونه و محتوای اون رو ببینه اما نمی‌تونه چیزی داخل اون دایرکتوری ایجاد کنه، بقیه هم هسچ کاری نمی‌تونند با اون دایرکتوری انجام بدند. 

برای اینکه اون دسترسی‌ها به طور پیش‌فرض اعمال بشه، همونطور که‌گفتند، باید از دستور umask استفاده کنید. با توجه به چیز‌هایی که گفتید، بهتره مقدار umask رو برابر 0027 قرار بدید.
کرنل لینوکس به طور پیش‌فرض، به فایل‌های جدید ساخته شده دسترسی 0666 میده. که همون -rw-rw-rw هست، (اون 0 اول رو نادیده بگیرید، مربوط به دسترسی‌های خاص هست که اینجا ما کاری بهش نداریم.) وقتی که umask وجود داره، دسترسی فایل ایجاد شده میشه 0666 منهای umask. (عدد منفی نداریم، اگه منفی شد، همون 0 در نظر بگیرید) پس اگه umask برابر 0027 باشه، دسترسی فایل 0640 میشه یا همون -----rw-r 

برای دایرکتوری‌ها، دسترسی پیش‌فرض 0777 هست که اگه umask وجود داشته باشه، نتیجه مثل بالا میشه. یعنی اگه umask برابر 0027 بود، دسترسی دایرکتوری ساخته شده، میشه 0750 یا همون ---rwxr-x 

برای اینکه umask فعلی رو ببینید، همینطور دستور umask رو توی ترمینال وارد کنید، umask به طور عددی نمایش داده میشه. اگه از آپشن S- استفاده کنید، مقدار umask بر اساس rwx نمایش داده میشه.
برای تغییر مقدار umask، مقدار جدید رو جلوی اون بنویسید یعنی اینجوری
umask 0027الان داخل همین ترمینالی که هستید، umask همونی شده که وارد کردید، ولی اگه یه ترمینال جدید باز کنید، umask همون قبلی هست. برای اینکه هربار umask چیزی بشه که شما می‌خواهید، اون رو توی فایل bashrc. قرار بدید (اگه از bash استفاده می‌کنید) . اول فایل bashrc. رو باز کنید و بعد umask 0027 رو آخر فایل بنویسید و خارج بشید. از این به بعد هر بار که bash با کاربر شما شروع به کار می‌کنه، umask اون چیزی هست که تنظیم کردید.

اگه می‌خواهید برای همه کاربر‌ها umask پیش‌فرض رو تغییر بدید، umask رو توی فایل زیر تعریف کنید.
/etc/profileهرچند بهتره که یه فایل با پسوند sh. توی دایرکتوری زیر بسازید و بعد اون رو اونجا اضافه کنید تا فایل profile دست نخورده باقی بمونه.
/etc/profile.d
مثلا اسم فایل رو بذارید umask.sh و بعد داخلش umask 0027 رو بنویسید. دقت کنید بعد از اینکه فایل رو توی دایرکتوری بالا ساختید، صاحب و گروه اون رو به root تغییر بدید
sudo chown root:root /etc/profile.d/umask.shبعدش هم دسترسی‌ها اون رو درست کنید.

sudo chmod 0755 /etc/profile.d/umask.sh
اقااااااااا دمت گرم خیلی خوب بود
من umask رو 0077 تنظیم کردم بنظر شما مشکلی به وجود میاد؟؟
چون میخوام افراد داخل گروهم قادر به  نوشتن  ، اجرا و دیدن نباشن

و اینم بگم که درمورد profile.d چیزی نمیدونستم برای همین از
etc/login.defs/ این کارو کردم ولی حتما از پروفایل هم تست میکنمش
باز ممنون خیلی لطف کردی دمت گرم خدایی
ببخشید من تمام کارهایی که گفتید رو کردم ی فایل به اسم umask.sh تو profile.d ساختم و umask 0027 رو توش قرار دادم بعد هم گروه و مالک رو به روت دادم و chmod 755  گذاشتمش ولی کار نکرد نمیدونم چرا
یاد بگیرید و اموزش بدید تا افراد بعد از شما به خوبی ازتون یاد کنند

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5125
  • جنسیت : پسر
فکر کنم تنظیم کردن umask توی اونجا که گفتم، فقط روی login shell ها تاثیر داشته باشه. umask رو توی فایل زیر تنظیم کنید، باید همه‌جا کار ککه.
/etc/bash.bashrc
در مورد مقدار umask، مقدار 0077 بیشترین سخت‌گیری رو داره و نمی‌دونم مشکلی پیش میاد یا نه. فکر نکنم مشکلی ایجاد کنه. من خودم umask رو برابر 0027 قرار دادم.
میدونید که زکات علم نشر آن است