Ubuntu 24.04
Sponsored Link

NFS : NFS 4 ACL टूल2024/04/30

 
NFS 4 ACL टूल को स्थापित करने के लिए NFS(v4) फ़ाइल सिस्टम पर ACL सेट करना संभव है।
POSIX ACL टूल के साथ उपयोग अधिकतर समान है।
[1] NFS क्लाइंट पर NFS 4 ACL टूल इंस्टॉल करें जो NFSv4 के साथ NFS शेयर को माउंट करता है।
root@node01:~#
apt -y install nfs4-acl-tools
[2] इस उदाहरण पर, यह पर्यावरण पर उपयोग के उदाहरण निम्नानुसार दिखाता है।
root@node01:~#
df -hT /mnt

Filesystem                   Type  Size  Used Avail Use% Mounted on
dlp.srv.world:/home/nfsshare nfs4   28G  6.1G   20G  24% /mnt

root@node01:~#
ll /mnt

total 28
drwxr-xr-x  3 root root  4096 Apr 29 22:46 ./
drwxr-xr-x 23 root root  4096 Apr 26 01:07 ../
drwx------  2 root root  4096 Apr 29 22:45 testdir/
-rw-------  1 root root 12813 Apr 29 22:46 testfile.txt
[3] NFSv4 फ़ाइल सिस्टम पर किसी फ़ाइल या निर्देशिका का ACL दिखाएँ।
root@node01:~#
nfs4_getfacl /mnt/testfile.txt

# file: /mnt/testfile.txt
A::OWNER@:rwatTcCy
A::GROUP@:tcy
A::EVERYONE@:tcy

root@node01:~#
nfs4_getfacl /mnt/testdir

# file: /mnt/testdir
A::OWNER@:rwaDxtTcCy
A::GROUP@:tcy
A::EVERYONE@:tcy

# प्रत्येक प्रविष्टि का अर्थ इस प्रकार है
# ACE = Access Control Entry
# (ACE Type):(ACE Flags):(ACE Principal):(ACE Permissions)
Description
ACE Type  
A A = Allow : इसका मतलब है एक्सेस की अनुमति दें।
D D = Deny : इसका मतलब है पहुंच से इनकार करें.
ACE Flags  
d Directory-Inherit : नई उप-निर्देशिका को वही ACE प्राप्त होता है।
f File-Inherit : नई फ़ाइल को समान ACE प्राप्त होता है लेकिन इनहेरिटेंस-फ़्लैग प्राप्त नहीं होता है।
n No-Propogate-Inherit : नई उप-निर्देशिका को वही ACE विरासत में मिला है, लेकिन विरासत-ध्वज विरासत में नहीं मिला है।
i Inherit-Only : नई फ़ाइल/उप-निर्देशिका को समान ACE प्राप्त होता है लेकिन इस निर्देशिका में ACE नहीं है।
ACE Principal  
(USER)@(NFSDomain) आम उपयोगकर्ता
For [NFSDomain], यह केवल डोमेन नाम है जो [idmapd.conf] में [Domain] मान के लिए निर्दिष्ट है।
(GROUP)@(NFSDomain) Common Group
समूह के लिए, इस प्रकार [g] ध्वज निर्दिष्ट करें ⇒ A:g:GROUP@NFSDomain:rxtncy
OWNER@ Special Principal : मालिक
GROUP@ Special Principal : समूह
EVERYONE@ Special Principal : सब लोग
ACE Permissions  
r यह फ़ाइलों का डेटा पढ़ता है/निर्देशिका में फ़ाइलों की सूची बनाता है
w यह फ़ाइलों में डेटा लिखता है/निर्देशिका में नई फ़ाइलें बनाता है
a यह फ़ाइलों में डेटा जोड़ता है/नई उप-निर्देशिका बनाता है
x यह फ़ाइलें/परिवर्तन निर्देशिका निष्पादित करता है
d यह फ़ाइलों या निर्देशिकाओं को हटा देता है
D यह निर्देशिका के अंतर्गत फ़ाइलों या उप-निर्देशिकाओं को हटा देता है
t यह फ़ाइलों या निर्देशिकाओं की विशेषताओं को पढ़ता है
T यह फ़ाइलों या निर्देशिकाओं के लिए विशेषताएँ लिखता है
n यह फ़ाइलों या निर्देशिकाओं की नामित विशेषताओं को पढ़ता है
N यह फ़ाइलों या निर्देशिकाओं की नामित विशेषताएँ लिखता है
c यह फ़ाइलों या निर्देशिकाओं का ACL पढ़ता है
C यह फ़ाइलों या निर्देशिकाओं का ACL लिखता है
o यह फ़ाइलों या निर्देशिकाओं का स्वामित्व बदल देता है
ACE Permissions Aliases nfs4_setfacl का उपयोग करने के लिए, ACE अनुमतियों के लिए उपनाम का उपयोग करना संभव है
R R = rntcy : सामान्य पढ़ें
W W = watTNcCy : सामान्य लिखें
X X = xtcy : सामान्य निष्पादन

[4] ACE जोड़ें या हटाएँ।
root@node01:~#
ll /mnt

total 28
drwxr-xr-x  3 root root  4096 Apr 29 22:46 ./
drwxr-xr-x 23 root root  4096 Apr 26 01:07 ../
drwx------  2 root root  4096 Apr 29 22:45 testdir/
-rw-------  1 root root 12813 Apr 29 22:46 testfile.txt

root@node01:~#
nfs4_getfacl /mnt/testfile.txt

# file: /mnt/testfile.txt
A::OWNER@:rwatTcCy
A::GROUP@:tcy
A::EVERYONE@:tcy

# [/mnt/testfile.txt] फ़ाइल में [ubuntu] उपयोगकर्ता के लिए सामान्य रीड/निष्पादन जोड़ें

root@node01:~#
nfs4_setfacl -a A::ubuntu@srv.world:rxtncy /mnt/testfile.txt
root@node01:~#
nfs4_getfacl /mnt/testfile.txt

# file: /mnt/testfile.txt
D::OWNER@:x
A::OWNER@:rwatTcCy
A::1000:rxtcy
A::GROUP@:tcy
A::EVERYONE@:tcy


# [ubuntu] उपयोगकर्ता से सत्यापित करें

ubuntu@node01:~$
ll /mnt

total 28
drwxr-xr-x   3 root root  4096 Apr 29 22:46 ./
drwxr-xr-x  23 root root  4096 Apr 26 01:07 ../
drwx------   2 root root  4096 Apr 29 22:45 testdir/
-rw-r-x---+  1 root root 12813 Apr 29 22:46 testfile.txt*

ubuntu@node01:~$
cat /mnt/testfile.txt

test file

# [/mnt/testfile.txt] फ़ाइल से [ubuntu] उपयोगकर्ता के लिए सामान्य रीड/निष्पादन हटाएं

root@node01:~#
nfs4_setfacl -x A::1000:rxtcy /mnt/testfile.txt
root@node01:~#
nfs4_getfacl /mnt/testfile.txt

# file: /mnt/testfile.txt
A::OWNER@:rwatTcCy
A::GROUP@:tcy
A::EVERYONE@:tcy
[5] सीधे ACL संपादित करें।
root@node01:~#
nfs4_setfacl -e /mnt/testfile.txt


# $EDITOR पर एक संपादक चलाएँ (यदि शून्य है, तो डिफ़ॉल्ट [vi] संपादक है)
## Editing NFSv4 ACL for file: /mnt/testfile.txt
A::OWNER@:rwatTcCy
A::GROUP@:tcy
A::EVERYONE@:tcy
[6] किसी फ़ाइल से ACE जोड़ें।
# ACL सूची बनाएं

root@node01:~#
vi acl.txt
A::ubuntu@srv.world:RX
A::noble@srv.world:RWX

# फ़ाइल से ACL जोड़ें

root@node01:~#
nfs4_setfacl -A acl.txt /mnt/testfile.txt
root@node01:~#
nfs4_getfacl /mnt/testfile.txt

# file: /mnt/testfile.txt
D::OWNER@:x
A::OWNER@:rwatTcCy
A::1000:rxtcy
A::1001:rwaxtcy
A::GROUP@:tcy
A::EVERYONE@:tcy
[7] वर्तमान ACE को नये ACE से बदलें।
# ACL सूची बनाएं

root@node01:~#
vi acl.txt
A::OWNER@:rwaxtTcCy
A::GROUP@:tcy
A::EVERYONE@:tcy

# फ़ाइल से ACL बदलें

root@node01:~#
nfs4_setfacl -S acl.txt /mnt/testfile.txt
root@node01:~#
nfs4_getfacl /mnt/testfile.txt

# file: /mnt/testfile.txt
A::OWNER@:rwaxtTcCy
A::GROUP@:tcy
A::EVERYONE@:tcy
[8] विशिष्ट ACE को नये ACE से बदलें।
root@node01:~#
nfs4_getfacl /mnt/testfile.txt

# file: /mnt/testfile.txt
A::OWNER@:rwaxtTcCy
A::GROUP@:tcy
A::EVERYONE@:tcy

# पढ़ने/निष्पादित करने के लिए सभी का ACE बदलें

root@node01:~#
nfs4_setfacl -m A::EVERYONE@:tcy A::EVERYONE@:RX /mnt/testfile.txt
root@node01:~#
nfs4_getfacl /mnt/testfile.txt

# file: /mnt/testfile.txt
A::OWNER@:rwaxtTcCy
A::GROUP@:rxtcy
A::EVERYONE@:rxtcy
मिलान सामग्री