In deze stap maken we gebruikers die toegang hebben tot de shares. Ze hebben toegang nodig als Samba- en systeemgebruikers om zich te authenticeren bij de Samba-server wanneer ze inloggen en lezen en schrijven naar het bestandssysteem.
In het hypothetische bedrijf Noorderpoort.com zijn er 1 werknemer die moet worden toegevoegd aan de Samba-server en aangemaakt als gebruiker op het Linux-systeem: david. Naast deze gebruiker zal er een admin gebruiker zijn die toegang heeft tot de persoonlijke shares en deze kan beheren. Deze gebruiker zal ook de gemeenschappelijke gedeelde mappen bezitten waartoe iedereen toegang heeft.
De eerste stap bij het toevoegen van systeemgebruikers is het maken van homedirectory's voor elk van hen. In plaats van de standaard homedirectory's te gebruiken /home/user, zullen de Samba-directory's en gegevens zich in /samba/. Door Samba-gegevens op één locatie te bewaren en gescheiden van andere gebruikersgegevens, worden toekomstige beheertaken, zoals back-ups, eenvoudiger.
De eerste stap is het maken van de directory waar de Samba-gegevens worden opgeslagen, in de root van het bestandssysteem. Deze map zal worden genoemd /samba/, en het groepseigendom zal worden ingesteld op sambashareeen groep die is gemaakt toen u Samba installeerde.
Voer de volgende opdrachten uit om de /samba/directory te maken en stel het groepseigendom in op sambashare:
sudo mkdir /samba/
sudo chown :sambashare /samba/
Maak vervolgens de homedirectory van David onder de /samba/directory:
sudo mkdir /samba/david
Voeg nu David toe als systeemgebruiker met de volgende opdracht:
sudo adduser --home /samba/david --no-create-home --shell /usr/sbin/nologin --ingroup sambashare david
De opties doen het volgende:
--home - Dit stelt de locatie van de homedirectory van de gebruiker in.--no-create-home- Dit stopt de adduseropdracht om de homedirectory van David te maken . Als het systeem deze map zou maken, zou deze worden gevuld met configuratiebestanden zoals .bash_historydie niet nodig zijn voor de huidige installatie.--shell- Dit stelt in welke shell- david wordt toegewezen wanneer hij inlogt via SSH. Een SSH-login is niet nodig voor toegang tot een Samba-share; als je dit instelt, /usr/sbin/nologinworden SSH-logins uitgeschakeld.--in-group sambashare Dit voegt de gebruiker toe aan de sambasharegroep, waardoor ze lees- en schrijftoegang krijgen tot hun eigen shares en tot de gemeenschappelijke share.Je wordt om een wachtwoord gevraagd wanneer je deze opdracht uitvoert. Kies een uniek, niet-woordenboekgebaseerd wachtwoord van 10 tekens of meer.
Nu de systeemgebruiker David bestaat, kun je het eigendom en de rechten instellen voor zijn Samba-homedirectory:
sudo chown david:sambashare /samba/david/
sudo chmod 2770 /samba/david/
Als je de machtigingen van de map instelt op 2770, zullen nieuwe bestanden of mappen die worden aangemaakt /samba/david/, het groepseigendom van de bovenliggende map overnemen in plaats van de primaire groep van de gebruiker die het bestand of de map heeft gemaakt. Dit betekent bijvoorbeeld dat als de admin gebruiker een nieuwe directory in davids share zou maken, David deze zou kunnen lezen en ernaar zou kunnen schrijven.
Voeg vervolgens david toe aan de Samba-server. Samba houdt zijn eigen database met gebruikers en wachtwoorden bij, die het gebruikt om aanmeldingen te verifiëren. Om in te loggen, moeten alle gebruikers aan de Samba-server zijn toegevoegd en ingeschakeld. Voer de volgende smbpasswdopdrachten uit om beide taken uit te voeren:
sudo smbpasswd -a david
sudo smbpasswd -e david
De hier gebruikte opties doen het volgende:
-a - Dit voegt de gebruiker toe aan de Samba-server zonder deze in te schakelen.-e - Dit maakt een eerder toegevoegde gebruiker mogelijk.Het wachtwoord dat je hier invoert, wordt gebruikt om toegang te krijgen tot de Samba-share en kan verschillen van het systeemwachtwoord.
De gebruiker David bestaat nu als een systeemgebruiker zonder de mogelijkheid om SSH in de server te plaatsen. Hij heeft een homedirectory op /samba/david, en is geregistreerd en ingeschakeld als Samba-gebruiker.
Herhaal dit proces voor elke Samba-gebruiker die je nog toe wilt voegen.
Om de admin gebruiker te maken, voer je de volgende opdrachten uit en wijzig je de homedirectory in /samba/everyone/:
sudo mkdir /samba/everyone
sudo adduser --home /samba/everyone --no-create-home --shell /usr/sbin/nologin --ingroup sambashare admin
sudo chown admin:sambashare /samba/everyone/
sudo chmod 2770 /samba/everyone/
sudo smbpasswd -a admin
sudo smbpasswd -e admin
Naast het aanmaken van de admin gebruiker, maken we een groep genaamd admins om het beheer van de server gemakkelijker te maken. Met lees- en schrijfrechten voor elke share, kan deze groep het toevoegen en verwijderen van gebruikers vereenvoudigen. Als individuele gebruikers bijvoorbeeld fungeren als admin gebruikers en vervolgens de organisatie verlaten, moeten ze afzonderlijk van elke share worden verwijderd. Nieuwe beheerders moeten ook handmatig aan elke share worden toegevoegd. Door een beheerdersgroep aan te maken en deze groep lees- en schrijftoegang te geven tot de gedeelde mappen, hoeft u slechts één opdracht toe te voegen en te verwijderen.
Voer de volgende commando's om een nieuwe groep te maken met de naam admins en voeg de gebruiker admin naar deze groep:
sudo groupadd admins
sudo usermod -G admins admin
De systeemconfiguraties zijn nu voltooid, waarbij de gebruikers van de organisatie Noorderpoort.com zijn ingesteld als systeem- en Samba-gebruikers. Laten we verder gaan met het configureren van de Samba-server zodat deze gebruikers toegang hebben tot hun gedeelde mappen.