আমি ফ্রিবিএসডি এসিএল এবং লিনাক্স এসিএলগুলির মধ্যে আচরণের পার্থক্যটি বোঝার চেষ্টা করছি। বিশেষত, ডিফল্ট এসিএলগুলির জন্য উত্তরাধিকার প্রক্রিয়া।
আমি নিম্নে দেবিয়ান 9.6 এবং ফ্রিবিএসডি 12 এ ব্যবহার করেছি:
$ cat test_acl.sh
#!/bin/sh
set -xe
mkdir storage
setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage
touch outside
cd storage
touch inside
cd ..
ls -ld outside storage storage/inside
getfacl -d storage
getfacl storage
getfacl outside
getfacl storage/inside
umask
আমি দেবিয়ান 9.6 থেকে নিম্নলিখিত আউটপুটটি পেয়েছি:
$ ./test_acl.sh
+ mkdir storage
+ setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage
+ touch outside
+ cd storage
+ touch inside
+ cd ..
+ ls -ld outside storage storage/inside
-rw-r--r-- 1 aaa aaa 0 Dec 28 11:16 outside
drwxr-xr-x+ 2 aaa aaa 4096 Dec 28 11:16 storage
-rw-rw----+ 1 aaa aaa 0 Dec 28 11:16 storage/inside
+ getfacl -d storage
# file: storage
# owner: aaa
# group: aaa
user::rwx
group::rwx
mask::rwx
other::---
+ getfacl storage
# file: storage
# owner: aaa
# group: aaa
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:mask::rwx
default:other::---
+ getfacl outside
# file: outside
# owner: aaa
# group: aaa
user::rw-
group::r--
other::r--
+ getfacl storage/inside
# file: storage/inside
# owner: aaa
# group: aaa
user::rw-
group::rwx #effective:rw-
mask::rw-
other::---
+ umask
0022
লক্ষ্য করুন যে outside
এবং inside
ফাইলগুলির পৃথক অনুমতি রয়েছে। বিশেষত, outside
ফাইলটির -rw-r--r--
মধ্যে এই ব্যবহারকারীর জন্য ডিফল্ট এবং inside
ফাইলটি রয়েছে -rw-rw----
, আমি storage
ডিরেক্টরিটি নির্ধারিত ডিফল্ট এসিএলগুলিকে সম্মান করি ।
ফ্রিবিএসডি 12 এ একই স্ক্রিপ্টের আউটপুট:
$ ./test_acl.sh
+ mkdir storage
+ setfacl -d -m u::rwx,g::rwx,o::-,m::rwx storage
+ touch outside
+ cd storage
+ touch inside
+ cd ..
+ ls -ld outside storage storage/inside
-rw-r--r-- 1 aaa aaa 0 Dec 28 03:16 outside
drwxr-xr-x 2 aaa aaa 512 Dec 28 03:16 storage
-rw-r-----+ 1 aaa aaa 0 Dec 28 03:16 storage/inside
+ getfacl -d storage
# file: storage
# owner: aaa
# group: aaa
user::rwx
group::rwx
mask::rwx
other::---
+ getfacl storage
# file: storage
# owner: aaa
# group: aaa
user::rwx
group::r-x
other::r-x
+ getfacl outside
# file: outside
# owner: aaa
# group: aaa
user::rw-
group::r--
other::r--
+ getfacl storage/inside
# file: storage/inside
# owner: aaa
# group: aaa
user::rw-
group::rwx # effective: r--
mask::r--
other::---
+ umask
0022
(দ্রষ্টব্য ডিবিয়ানরা getfacl
ডিফল্ট এসিএলগুলিও -d
ফ্রিবিএসডি হিসাবে ব্যবহার করে না এমনদিকেও ব্যবহার করবে না, তবে প্রকৃত এসিএলগুলি storage
আলাদা বলে আমি মনে করি না ।)
এখানে, outside
এবং inside
ফাইলগুলিরও পৃথক অনুমতি রয়েছে, তবে inside
ফাইবারের সাথে গ্রুপ লেখনির অনুমতি নেই যা দেবিয়ান সংস্করণ করে, সম্ভবত w
ফ্রিবিএসডি-র মুখোশটি হারিয়ে যাওয়ার কারণে ডিবিয়ান মুখোশটি ধরে রেখেছে w
।
কেন ফ্রিবিএসডি w
মুখোশটি হারাতে পেরেছিল তবে ডেবিয়ান এটি ধরে রেখেছিল?
g+s
) ব্যবহার না করেন তবে এটি কি অভিন্নভাবে কাজ করে ?
getfacl
তথ্য।
storage
, ls
প্রদর্শন করা উচিত+
, একইভাবে আমিও getfacl
আউটপুটটি আপনি দেবিয়ান সিস্টেমে যা পেয়েছিলেন তার অনুরূপ বলে আশা করব । কি setfacl
রিটার্ন সাফল্য প্রস্থান কোড?
getfacl storage
উভয় সিস্টেমে কী দেখায়?