V předchozím článku jsme si ukázali, jak vytvořit sdílený adresář v Linuxu. Zde popíšeme, jak udělit přístup pro čtení/zápis uživateli v konkrétním adresáři v Linuxu.
Existují dva možné způsoby, jak toho dosáhnout:prvním je použití seznamů řízení přístupu (ACL) a druhým je vytváření skupin uživatelů pro správu oprávnění k souborům, jak je vysvětleno níže.
Pro účely tohoto tutoriálu použijeme následující nastavení.
Operating system: CentOS 7 Test directory: /shares/project1/reports Test user: tecmint Filesystem type: Ext4
Ujistěte se, že všechny příkazy jsou spouštěny jako uživatel root nebo použijte příkaz sudo s ekvivalentními právy.
Začněme vytvořením adresáře s názvem reports
pomocí mkdir příkaz:
# mkdir -p /shares/project1/reports
Použití ACL k udělení přístupu ke čtení/zápisu uživateli v adresáři
Důležité :Chcete-li použít tuto metodu, ujistěte se, že váš typ souborového systému Linux (jako je Ext3 a Ext4, NTFS, BTRFS) podporuje ACL.
1. Nejprve zkontrolujte aktuální typ souborového systému ve vašem systému a také, zda jádro podporuje ACL:
# df -T | awk '{print $1,$2,$NF}' | grep "^/dev" # grep -i acl /boot/config*
Z níže uvedeného snímku obrazovky je typ souborového systému Ext4 a jádro podporuje POSIX ACL jak je uvedeno v CONFIG_EXT4_FS_POSIX_ACL=y možnost.
2. Dále zkontrolujte, zda je souborový systém (oddíl) připojen pomocí ACL možnost nebo ne:
# tune2fs -l /dev/sda1 | grep acl
Z výše uvedeného výstupu vidíme, že výchozí možnost připojení již podporuje ACL . Pokud není povoleno, můžete jej povolit pro konkrétní oddíl (/dev/sda3 pro tento případ):
# mount -o remount,acl / # tune2fs -o acl /dev/sda3
3. Nyní je čas přidělit uživateli tecmint
přístup pro čtení/zápis do specifického adresáře s názvem reports
spuštěním následujících příkazů.
# getfacl /shares/project1/reports # Check the default ACL settings for the directory # setfacl -m user:tecmint:rw /shares/project1/reports # Give rw access to user tecmint # getfacl /shares/project1/reports # Check new ACL settings for the directory
Na výše uvedeném snímku obrazovky je uživatel tecmint
nyní má oprávnění ke čtení/zápisu (rw) v adresáři /shares/project1/reports jak je vidět z výstupu druhého getfacl příkaz.
Další informace o seznamech ACL naleznete v našich následujících příručkách.
- Jak používat seznamy ACL (Access Control List) k nastavení diskových kvót pro uživatele/skupiny
- Jak používat seznamy ACL (Access Control List) k připojení síťových sdílených složek
Nyní se podívejme na druhou metodu přidělení přístupu pro čtení/zápis do adresáře.
Používání skupin k poskytnutí přístupu ke čtení/zápisu uživateli v adresáři
1. Pokud již uživatel má výchozí skupinu uživatelů (obvykle se stejným jménem jako uživatelské jméno), jednoduše změňte vlastníka skupiny v adresáři.
# chgrp tecmint /shares/project1/reports
Případně vytvořte novou skupinu pro více uživatelů (kteří získají oprávnění ke čtení/zápisu v konkrétním adresáři), a to následovně. Tím však vytvoříte sdílený adresář:
# groupadd projects
2. Poté přidejte uživatele tecmint
do skupiny projects
takto:
# usermod -aG projects tecmint # add user to projects # groups tecmint # check users groups
3. Změňte vlastníka skupiny adresáře na projekty:
# chgrp projects /shares/project1/reports
4. Nyní nastavte přístup pro čtení/zápis pro členy skupiny:
# chmod -R 0760 /shares/projects/reports # ls -l /shares/projects/ #check new permissions
A je to! V tomto tutoriálu jsme vám ukázali, jak udělit přístup pro čtení/zápis uživateli v konkrétním adresáři v Linuxu. Pokud máte nějaké problémy, zeptejte se prostřednictvím sekce komentářů níže.