GNU/Linux >> Znalost Linux >  >> Linux

Přidělte uživateli přístup pro čtení/zápis do konkrétního adresáře v systému Linux

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.

  1. Jak používat seznamy ACL (Access Control List) k nastavení diskových kvót pro uživatele/skupiny
  2. 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.


Linux
  1. Jak používat sudo k přiřazení kořenového přístupu uživateli na serveru Linux

  2. Jak spravovat uživatele pomocí useradd v linuxu

  3. Skrytí uživatelského vstupu na terminálu ve skriptu Linux

  1. Jak extrahovat soubory Tar do konkrétního nebo jiného adresáře v Linuxu

  2. Jak odstranit uživatelské účty pomocí domovského adresáře v systému Linux

  3. Linux – spouštění versus čtení bit. Jak fungují adresářová oprávnění v Linuxu?

  1. Přístup pouze pro čtení ke všem souborům v konkrétní podsložce?

  2. Oprávnění souborů v Linuxu – čtení/zápis/spouštění

  3. UNIX / Linux:Průvodce pro začátečníky k oprávněním k souborům a adresářům (umask, chmod, čtení, zápis, spouštění)