ACL: تفاوت بین نسخه‌ها

از ویکی فارسی اوبونتو
پرش به: ناوبری، جستجو
(صفحه‌ای تازه حاوی «لیست کنترل دسترسی ('''ACL''')،سامانه‌ای برای تنظیم مجوز‌های اضافی و انعطاف پذیر...» ایجاد کرد)
 
جز (Danialbehzadi صفحهٔ Acl را به ACL منتقل کرد)
 
(۴ نسخه‌ٔ میانی ویرایش شده توسط ۳ کاربر نشان داده نشده)
سطر ۱: سطر ۱:
لیست کنترل دسترسی ('''ACL''')،سامانه‌ای برای تنظیم مجوز‌های اضافی و انعطاف پذیرتر برای سامانه‌های پرونده است. این سامانه برای کمک به مجوزهای پرونده یونیکس طراحی شده است. '''ACL''' به شما امکان می دهد برای هر کاربر یا گروهی به هر منبع دیسک مجوز دهید.
+
فهرست واپایش دسترسی ('''ACL''' سرواژهٔ Access Control List)، سامانه‌ای برای تنظیم مجوز‌های اضافی و انعطاف پذیرتر برای سامانه‌های پرونده است. این سامانه برای کمک به مجوزهای پرونده یونیکس طراحی شده است. '''ACL''' به شما امکان می دهد برای هر کاربر یا گروهی به هر منبع دیسک مجوز دهید.
  
تعریف لیست‌های کنترل دسترسی در [[Man_Page|کتابچه راهنمای لینوکس]] ، '''ACL''' ها برای تعریف حق دسترسی صحیح‌تر برای پرونده‌ها و دایرکتوری‌ها استفاده می شوند.
+
تعریف لیست‌های کنترل دسترسی در [[Man_Page|کتابچه راهنمای لینوکس]]، '''ACL'''ها برای تعریف حق دسترسی صحیح‌تر برای پرونده‌ها و دایرکتوری‌ها استفاده می‌شوند.
  
 
== نصب و راه اندازی ==
 
== نصب و راه اندازی ==
سطر ۷: سطر ۷:
 
اگر اینطور نیست، می‌توان با دستور زیر آن را نصب کرد:
 
اگر اینطور نیست، می‌توان با دستور زیر آن را نصب کرد:
 
{{bc|$ sudo apt install acl}}
 
{{bc|$ sudo apt install acl}}
{{یادداشت|این یک ترجمه از [https://wiki.archlinux.org/title/Access_Control_Lists این صفحه] ویکی آرچ است.}}
+
{{یادداشت|این مقاله ترجمه‌ای از [https://wiki.archlinux.org/title/Access_Control_Lists این صفحه] ویکی آرچ است.}}
  
 
== چرا از acl استفاده کنیم؟ ==
 
== چرا از acl استفاده کنیم؟ ==
سطر ۱۶: سطر ۱۶:
  
 
=== تنظیم ACL ===
 
=== تنظیم ACL ===
* برای تنظیم مجوز برای یک کاربر(میتوان از نام کاربر یا ID آن استفاده کرد):
+
* تنظیم مجوز برای یک کاربر(میتوان از نام کاربر یا ID آن استفاده کرد):
 
{{bc|$ setfacl -m "u:user:permissions" <file/dir>}}
 
{{bc|$ setfacl -m "u:user:permissions" <file/dir>}}
  
* برای تنظیم مجوز برای یک گروه(میتوان از نام گروه یا ID آن استفاده کرد):
+
* تنظیم مجوز برای یک گروه(میتوان از نام گروه یا ID آن استفاده کرد):
 
{{bc|$ setfacl -m "g:group:permissions" <file/dir>}}
 
{{bc|$ setfacl -m "g:group:permissions" <file/dir>}}
  
* برای تنظیم مجوز برای دیگران:
+
* تنظیم مجوز برای دیگران:
 
{{bc|$ setfacl -m "other:permissions" <file/dir>}}
 
{{bc|$ setfacl -m "other:permissions" <file/dir>}}
  
To allow all newly created files or directories to inherit entries from the parent directory (this will not affect files which will be copied into the directory):
+
* تنظیم مجوز بعنوان پیش‌فرض که به همه پرونده‌ها و شاخه‌های جدید که به تازگی ساخته ارث می‌رسد(اعمال می‌شوند):
 +
* این تنظیم بر روی پرونده‌ها و فایل هایی که از جای دیگر کپی، یا جابه‌جا می‌شوند،‌ تاثیر ندارد.
 +
*  مثلا: "u:user:rwx" یا "g:group:rx"
 
{{bc|$ setfacl -dm "entry" <dir>}}
 
{{bc|$ setfacl -dm "entry" <dir>}}
  
To remove a specific entry:
+
* برداشتن تنظیم‌های مشخص(مثلا: "u:user" یا "g:group"):
 
{{bc|$ setfacl -x "entry" <file/dir>}}
 
{{bc|$ setfacl -x "entry" <file/dir>}}
  
To remove the default entries:
+
* برداشتن تنظیم‌های پیش‌فرض:
 
{{bc|$ setfacl -k <file/dir>}}
 
{{bc|$ setfacl -k <file/dir>}}
  
To remove all entries (entries of the owner, group and others are retained):
+
* برداشتن همه تنظیم‌ها:
 
{{bc|$ setfacl -b <file/dir>}}
 
{{bc|$ setfacl -b <file/dir>}}
  
سطر ۸۹: سطر ۹۱:
 
group::r--
 
group::r--
 
other::r--
 
other::r--
 +
}}
 +
 +
== خروجی دستور [[ls]] ==
 +
اگر در یک پرونده یا شاخه از '''ACL''' استفاده شده باشد، در خروجی فرمان {{ic|ls -l}} با نشان دادن یک علامت '''+''' (بعلاوه) پس از مجوزهای Unix به شما اطلاع داده خواهد شد.
 +
{{hc|
 +
$ ls -l /dev/audio
 +
|
 +
crw-rw----+ 1 root audio 14, 4 nov.  9 12:49 /dev/audio
 +
}}
 +
{{hc|
 +
$ getfacl /dev/audio
 +
|
 +
getfacl: Removing leading '/' from absolute path names
 +
# file: dev/audio
 +
# owner: root
 +
# group: audio
 +
user::rw-
 +
user:solstice:rw-
 +
group::rw-
 +
mask::rw-
 +
other::---
 
}}
 
}}

نسخهٔ کنونی تا ‏۲۶ تیر ۱۴۰۰، ساعت ۰۹:۴۹

فهرست واپایش دسترسی (ACL سرواژهٔ Access Control List)، سامانه‌ای برای تنظیم مجوز‌های اضافی و انعطاف پذیرتر برای سامانه‌های پرونده است. این سامانه برای کمک به مجوزهای پرونده یونیکس طراحی شده است. ACL به شما امکان می دهد برای هر کاربر یا گروهی به هر منبع دیسک مجوز دهید.

تعریف لیست‌های کنترل دسترسی در کتابچه راهنمای لینوکس، ACLها برای تعریف حق دسترسی صحیح‌تر برای پرونده‌ها و دایرکتوری‌ها استفاده می‌شوند.

نصب و راه اندازی

بسته acl یکی از وابستگی‌های سیستم‌دی است، احتمالا از پیش نصب شده است. اگر اینطور نیست، می‌توان با دستور زیر آن را نصب کرد:

$ sudo apt install acl


یادداشت: این مقاله ترجمه‌ای از این صفحه ویکی آرچ است.


چرا از acl استفاده کنیم؟

به حالتی فکر کنید که در آن یک کاربر خاص عضو گروه ایجاد شده توسط شما نیست، اما همچنان می‌خواهید به برخی از موارد، دسترسی خواندن یا نوشتن داشته باشد، چگونه می‌توانید این کار را بدون اینکه کاربر را عضو گروه کنید، انجام دهید؟ در اینجا می‌توان از لیست کنترل دسترسی استفاده کرد.

روش کاربرد

setfacl و getfacl به ترتیب برای تنظیم ACL و نشان دادن ACL استفاده می‌شوند.

تنظیم ACL

  • تنظیم مجوز برای یک کاربر(میتوان از نام کاربر یا ID آن استفاده کرد):
$ setfacl -m "u:user:permissions" <file/dir>
  • تنظیم مجوز برای یک گروه(میتوان از نام گروه یا ID آن استفاده کرد):
$ setfacl -m "g:group:permissions" <file/dir>
  • تنظیم مجوز برای دیگران:
$ setfacl -m "other:permissions" <file/dir>
  • تنظیم مجوز بعنوان پیش‌فرض که به همه پرونده‌ها و شاخه‌های جدید که به تازگی ساخته ارث می‌رسد(اعمال می‌شوند):
  • این تنظیم بر روی پرونده‌ها و فایل هایی که از جای دیگر کپی، یا جابه‌جا می‌شوند،‌ تاثیر ندارد.
  • مثلا: "u:user:rwx" یا "g:group:rx"
$ setfacl -dm "entry" <dir>
  • برداشتن تنظیم‌های مشخص(مثلا: "u:user" یا "g:group"):
$ setfacl -x "entry" <file/dir>
  • برداشتن تنظیم‌های پیش‌فرض:
$ setfacl -k <file/dir>
  • برداشتن همه تنظیم‌ها:
$ setfacl -b <file/dir>

نمایش ACL

  • برای نمایش ACL از دستور زیر استفاده کنید:
$ getfacl <file/dir>

مثال

تنظیم تمامی مجوزها(خواندن، نوشتن، اجرا) برای کاربر johnny در پروندهٔ abc:

$ setfacl -m "u:johnny:rwx" abc

بررسی مجوزها:

$ getfacl abc
# file: abc
# owner: someone
# group: someone
user::rw-
user:johnny:rwx
group::r--
mask::rwx
other::r--

تغییر مجوزهای کاربر johnny در پروندهٔ abc:

$ setfacl -m "u:johnny:r-x" abc

بررسی مجوزها:

$ getfacl abc
# file: abc
# owner: someone
# group: someone
user::rw-
user:johnny:r-x
group::r--
mask::r-x
other::r--

برداشتن همه ورودی‌های ACL:

$ setfacl -b abc

بررسی مجوزها:

$ getfacl abc
# file: abc
# owner: someone
# group: someone
user::rw-
group::r--
other::r--

خروجی دستور ls

اگر در یک پرونده یا شاخه از ACL استفاده شده باشد، در خروجی فرمان ls -l با نشان دادن یک علامت + (بعلاوه) پس از مجوزهای Unix به شما اطلاع داده خواهد شد.

$ ls -l /dev/audio
crw-rw----+ 1 root audio 14, 4 nov.   9 12:49 /dev/audio
$ getfacl /dev/audio
getfacl: Removing leading '/' from absolute path names
# file: dev/audio
# owner: root
# group: audio
user::rw-
user:solstice:rw-
group::rw-
mask::rw-
other::---