Nov 12, 2023

/etc/security/time.conf

 Fajl /etc/security/time.conf koristi se za konfiguraciju kontrola vremena (time-based access controls) na sistemu. Ovaj fajl omogućava administratorima da definišu vremenske restrikcije za određene korisnike ili grupe korisnika. Evo šta neki od ključnih redova u ovom fajlu mogu značiti:

  1. Sintaksa reda:

    • services;ttys;users;times: Svaki red u fajlu ima ovu sintaksu, gde se specificiraju usluge, terminale, korisnici i vremenski okviri.
  2. Primer reda:

    • sshd ; * ; bob ; MoTuWeThFr0800-2000: Ovaj red označava da korisnik "bob" može pristupiti SSH tokom radnih dana od 8:00 do 20:00 časova.
  3. Polja reda:

    • services: Specifičira usluge (npr. sshd).
    • ttys: Specifičira terminale (npr. * za sve).
    • users: Specifičira korisnike ili grupe korisnika (npr. bob ili @admin za grupu admin).
    • times: Specifičira vremenske okvire kada je dozvoljen pristup.
  4. Vremenski format:

    • Mo - Ponedeljak, Tu - Utorak, We - Sreda, Th - Četvrtak, Fr - Petak, Sa - Subota, Su - Nedelja.
    • 0800-2000 - Od 8:00 do 20:00 časova.

Ovaj fajl omogućava postavljanje preciznih restrikcija pristupa na osnovu vremena, što je korisno u okviru politika bezbednosti sistema. Korišćenje ovakvih kontrola može ograničiti pristup određenim resursima tokom određenih perioda vremena.

/etc/pam.d/sshd

 Fajl /etc/pam.d/sshd je deo konfiguracije Pluggable Authentication Modules (PAM) sistema za SSH (Secure Shell) daemon. PAM omogućava fleksibilno upravljanje autentifikacijom korisnika i drugim aspektima pristupa sistema.

Evo šta neki od ključnih redova u ovom fajlu mogu značiti:

  1. auth linije:

    • auth required pam_sepermit.so: Ova linija proverava SELinux permissive mode, koji dozvoljava, ali ne i ograničava pristup. Ako je uključen, ovaj mod će dozvoliti korisnicima pristup, ali će zabeležiti potencijalne sigurnosne pretnje.
  2. account linije:

    • account required pam_nologin.so: Ova linija proverava da li postoji fajl /etc/nologin. Ako postoji, onemogućava prijavljivanje.
  3. password linije:

    • password requisite pam_pwquality.so ...: Ova linija koristi PAM modul za postavljanje zahteva za jaku lozinku, kao što su minimalna dužina, broj malih i velikih slova, brojeva, itd.
  4. session linije:

    • session optional pam_keyinit.so force revoke: Ova linija osigurava da proces dobija set ključeva tokom sesije.

Ove linije definišu različite korake autentifikacije i autorizacije koje SSH daemon izvršava kada se korisnik pokuša prijaviti. PAM sistem omogućava administratorima da prilagode ove korake u skladu sa specifičnim zahtevima i politikama sistema.

ulimit

 Komanda ulimit u Linux-u se koristi za postavljanje ili prikazivanje ograničenja resursa za trenutni shell ili proces. Ova komanda se često koristi kako bi se kontrolisalo ponašanje procesa u vezi sa različitim resursima, kao što su količina dostupne memorije, broj otvorenih fajlova, vreme izvršavanja itd.

Evo osnovnog formata komande ulimit i nekoliko primera:

  1. Prikazivanje trenutnih ograničenja:

    ulimit -a

    Ova komanda će prikazati sve trenutne vrednosti ograničenja resursa.

  2. Postavljanje ograničenja za maksimalan broj otvorenih fajlova na 100:

    ulimit -n 100

    Ova komanda postavlja ograničenje na 100 otvorenih fajlova.

  3. Postavljanje maksimalnog vremena izvršavanja procesa na 300 sekundi:

    ulimit -t 300

    Ova komanda postavlja ograničenje vremena izvršavanja na 300 sekundi.

Napomena: Ograničenja postavljena pomoću ulimit su obično specifična za trenutni shell i ne prenose se automatski na podprocese. Takođe, postavke ograničenja mogu zavisiti od sistema i shell-a koji koristite.

Evo još nekoliko primera postavljanja različitih vrsta ograničenja:

  1. Postavljanje ograničenja za maksimalnu veličinu fajla na 1 GB:

    ulimit -f 1048576

    Ova komanda postavlja ograničenje za maksimalnu veličinu fajla na 1 GB.

  2. Postavljanje ograničenja za maksimalan broj otvorenih deskriptora fajlova na 500:

    ulimit -n 500

    Ova komanda postavlja ograničenje za maksimalan broj otvorenih deskriptora fajlova na 500.

  3. Postavljanje ograničenja za maksimalan broj procesa na 1000:

    ulimit -u 1000

    Ova komanda postavlja ograničenje za maksimalan broj procesa na 1000.

  4. Postavljanje ograničenja za maksimalnu veličinu steka na 8 MB:

    ulimit -s 8192

    Ova komanda postavlja ograničenje za maksimalnu veličinu steka na 8 MB.

  5. Postavljanje ograničenja za maksimalno vreme CPU izvršavanja na 600 sekundi:

    ulimit -t 600

    Ova komanda postavlja ograničenje za maksimalno vreme CPU izvršavanja na 600 sekundi.

pwscore

 pwscore je komanda koja se koristi za ocenjivanje jačine lozinke na osnovu određenih kriterijuma. Ova komanda je deo PAM (Pluggable Authentication Modules) sistema i često se koristi u sklopu sistema za proveru jakosti lozinke.

Evo opšteg formata komande i nekoliko primera:

pwscore <password>

Primeri:

  1. Oceni jakost lozinke "StrongPass123":
pwscore StrongPass123
  1. Oceni jakost lozinke "MySecureP@ssword":
pwscore MySecureP@ssword

Rezultati će obično biti izraženi u procentima ili drugim numeričkim vrednostima, pružajući informacije o oceni jakosti lozinke na osnovu različitih kriterijuma, kao što su dužina, upotreba različitih vrsta karaktera, izbegavanje uobičajenih lozinki, itd.

Napomena: Prava sintaksa i dostupnost ove komande mogu varirati u zavisnosti od Linux distribucije i konkretnih PAM konfiguracija.


/etc/security/pwquality.conf

 Datoteka /etc/security/pwquality.conf koristi se za konfigurisanje pravila koja se primenjuju na lozinke korisnika, prvenstveno kako bi se unapredila njihova sigurnost. Ovo se obično postiže postavljanjem određenih kriterijuma, kao što su minimalna dužina lozinke, upotreba različitih vrsta karaktera, zabrana lozinki koje su lako pogodne, itd.

Evo primera sadržaja datoteke /etc/security/pwquality.conf:

# /etc/security/pwquality.conf

# Minumum length requirement
minlen = 8

# Minimum number of different classes of characters in the new password (digits, uppercase, lowercase, others)
minclass = 3

# Minimum number of characters in the new password that must not be present in the old password
minclassrepeat = 4

# Maximum consecutive characters of the same class allowed in the new password
maxrepeat = 2

# Minimum number of characters in the new password that must be different from the old password
minclassrepeat = 4

Ovde su neki od ključnih parametara:

  • minlen: Postavlja minimalnu dužinu lozinke.
  • minclass: Postavlja minimalan broj različitih klasa karaktera u novoj lozinci (cifre, velika slova, mala slova, ostali karakteri).
  • minclassrepeat: Postavlja minimalan broj karaktera u novoj lozinci koji se moraju razlikovati od starih lozinki.
  • maxrepeat: Postavlja maksimalan broj uzastopnih karaktera iste klase u novoj lozinci.

Ove postavke mogu biti prilagođene u skladu sa specifičnim bezbednosnim zahtevima sistema. Nakon izmene datoteke, obično je potrebno ponovo pokrenuti određene PAM usluge ili sesije kako bi se promene odražavale.

Napomena: Podešavanje bezbednosnih pravila za lozinke je važno za održavanje sigurnosti sistema, ali treba voditi računa da postavke ne budu previše restriktivne kako bi korisnicima bilo moguće kreirati i koristiti bezbedne, ali pamtljive lozinke.

/etc/pam.d/system-auth

 Datoteka /etc/pam.d/system-auth na Linux sistemima predstavlja konfiguraciju PAM (Pluggable Authentication Modules) sistema za sistemsku autentifikaciju. PAM pruža modularan način za upravljanje autentifikacijom na sistemu, omogućavajući administratorima da prilagode autentifikacione procese na osnovu specifičnih potreba sistema.

Evo osnovne strukture i nekih ključnih linija u datoteci /etc/pam.d/system-auth:

# /etc/pam.d/system-auth
auth        required      pam_env.so
auth        required      pam_faildelay.so delay=2000000
auth        [success=1 default=ignore] pam_unix.so nullok
auth        requisite     pam_succeed_if.so uid >= 1000 quiet_success
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     requisite     pam_succeed_if.so uid < 1000 quiet
account     required      pam_permit.so

password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so

Ovde su neki od ključnih modula i njihova značenja:

  • auth: Postavlja pravila za autentifikaciju.
  • account: Konfiguriše pravila za proveru naloga.
  • password: Postavlja pravila za promenu lozinke.
  • session: Definiše akcije koje se izvršavaju tokom sesije.

Ove linije utiču na različite faze autentifikacije, od provere korisničkog imena i lozinke do podešavanja sesije nakon uspešne autentifikacije.

Napomena: Modifikacije datoteke /etc/pam.d/system-auth treba pažljivo vršiti, jer greške u konfiguraciji PAM-a mogu rezultirati problemima sa autentifikacijom na sistemu. Pre nego što vršite bilo kakve promene, preporučuje se pravljenje sigurnosne kopije datoteke.

authconfig

 authconfig je alat na Linux sistemima koji omogućava konfiguraciju različitih aspekata autentifikacije na sistemu. Ovaj alat se često koristi za postavljanje PAM (Pluggable Authentication Modules) konfiguracija, što omogućava fleksibilnost u autentifikaciji korisnika.

Evo nekoliko primera kako možete koristiti authconfig:

  1. Prikazivanje Trenutnih Podešavanja:

    authconfig --test

    Ova komanda prikazuje trenutna podešavanja autentifikacije na sistemu.

  2. Postavljanje PAM Konfiguracija za LDAP Autentifikaciju:

    authconfig --enableldap --enableldapauth --ldapserver=ldap://ldap.example.com --ldapbasedn="dc=example,dc=com" --enableldaptls --enableldapstarttls --ldaploadcacert=http://ldap.example.com/cacert.pem

    Ova komanda omogućava autentifikaciju prema LDAP serveru.

  3. Postavljanje PAM Konfiguracija za Winbind (za integraciju sa Active Directory):

    authconfig --enablewinbind --enablewinbindauth --smbsecurity=ads --smbservers=ad-server.example.com --smbrealm=EXAMPLE.COM

    Ova komanda omogućava autentifikaciju koristeći Winbind za integraciju sa Active Directory.

  4. Konfiguracija Nivoa Bezbednosti (Security Level):

    authconfig --securitylevel=high

    Postavljanje nivoa bezbednosti na visok nivo.

  5. Onemogućavanje Neophodnih Modula:

    authconfig --updateall --disablefingerprint

    Onemogućavanje podrške za otiske prstiju.

  6. Postavljanje Nivoa Logovanja (Logging Level):

    authconfig --updateall --enableaudit

    Omogućava logging nivoa za autentifikaciju.

  7. Vraćanje na Podrazumevana Podešavanja:

    authconfig --restoredefaults

    Vraćanje podešavanja autentifikacije na podrazumevana vrednosti.

Napomena: Prilikom korišćenja ovih komandi, obratite pažnju na promene koje vršite na sistemu, posebno ako konfigurišete autentifikaciju prema vanjskim sistemima kao što su LDAP serveri ili Active Directory.

rpm -qa oddjob

Komanda rpm -qa oddjob se koristi za proveru da li je paket oddjob instaliran na sistemu. Ova komanda radi sledeće:

  • rpm: Ovo je alat koji se koristi za rad sa RPM paketima na sistemima zasnovanim na RPM (Red Hat Package Manager) sistemu (kao što su distribucije poput Red Hat, CentOS, Fedora).
  • -qa: Ova opcija znači "query all" i koristi se za prikazivanje svih instaliranih paketa.
  • oddjob: Ovo je naziv paketa za koji želite proveriti da li je instaliran.

Ako izvršite ovu komandu i ne vidite nikakav izlaz, to znači da paket oddjob nije instaliran na vašem sistemu. Ako je paket instaliran, komanda će vratiti informacije o verziji paketa i drugim detaljima.

Napomena: U nekim distribucijama Linuxa, možda ćete morati koristiti sudo ispred ove komande kako biste imali dozvole za pregled instaliranih paketa. Na primer, sudo rpm -qa oddjob.

Oddjob je sistemsko alat koji se koristi za automatizaciju određenih administrativnih zadataka na Unix/Linux operativnim sistemima. Glavni cilj Oddjob-a je pojednostavljivanje i automatizacija rutinskih administrativnih zadataka kako bi se olakšalo upravljanje sistemom.

Evo nekoliko ključnih karakteristika Oddjob-a:

  1. Automatizacija Zadataka: Oddjob omogućava automatizaciju različitih administrativnih zadataka, kao što su upravljanje korisničkim nalozima, generisanje sigurnosnih ključeva, postavljanje privilegija i drugi slični zadaci.

  2. Integracija sa PAM-om (Pluggable Authentication Modules): PAM je sistem za upravljanje autentifikacijom na Unix/Linux sistemima. Oddjob se često koristi za integraciju sa PAM-om kako bi pružio dodatne funkcionalnosti i poboljšao sigurnost sistema.

  3. Politike Bezbednosti: Oddjob može primenjivati sigurnosne politike i ograničenja, obezbeđujući kontrolu pristupa resursima sistema.

  4. Pravljenje Poslova (Jobova): Oddjob može definisati i izvršavati "poslove" (jobs) koji obavljaju određene zadatke u skladu sa prethodno definisanim pravilima.

  5. Korišćenje DBus Sistema: Oddjob koristi DBus, sistem za komunikaciju između softverskih komponenti, kako bi omogućio komunikaciju između različitih procesa na sistemu.

  6. Rad sa SELinux-om: Može sarađivati sa SELinux-om (Security-Enhanced Linux) kako bi obezbedio dodatne nivoe sigurnosti na sistemu.

Oddjob je često korišćen u okruženjima gde je potrebno centralizovano upravljanje i automatizacija administrativnih zadataka.

/etc/security/

 Direktorijum /etc/security/ se često koristi u kontekstu PAM (Pluggable Authentication Modules) konfiguracije na Unix/Linux sistemima. Ovde se čuvaju dodatni PAM moduli i konfiguracije koji nisu direktno vezani za pojedinačne aplikacije, već su opšti za celokupni sistem. Evo nekoliko ključnih tačaka u vezi sa /etc/security/:

  1. Dodatni PAM Moduli: Ovde se često čuvaju dodatni PAM moduli koji pružaju dodatne funkcionalnosti autentikaciji, autorizaciji i slično. Ovi moduli se onda mogu koristiti u konfiguracionim fajlovima koji se nalaze u /etc/pam.d/ kako bi se proširile autentikacione funkcionalnosti sistema.

  2. Konfiguracija dodatnih opcija: Pored modula, ovde se mogu nalaziti i dodatne konfiguracije koje se odnose na PAM. Na primer, mogli biste imati fajl poput /etc/security/access.conf koji definiše pravila pristupa.

  3. Sistemski Nivo Konfiguracije: Ovi fajlovi često definišu konfiguraciju koja se primenjuje na sistemski nivo, što znači da utiče na sve aplikacije koje koriste PAM.

Primer može izgledati ovako:

/etc/security/access.conf

# /etc/security/access.conf
# Access control configuration for PAM
#

# Deny access to the entire machine for everyone except root.
-:ALL EXCEPT root:ALL

Ovde se definiše pravilo koje zabranjuje pristup mašini svima osim root korisniku. Ovakve konfiguracije mogu biti korisne za postavljanje globalnih politika bez potrebe da se menja svaki pojedinačni konfiguracioni fajl u /etc/pam.d/.

/etc/pam.d/

 Direktorijum /etc/pam.d/ na Unix/Linux sistemima predstavlja mesto gde se čuvaju konfiguracijski fajlovi za Pluggable Authentication Modules (PAM). PAM pruža standardizovan način za omogućavanje različitim aplikacijama da koriste različite mehanizme za autentikaciju bez potrebe za menjanjem samih aplikacija. Svaka aplikacija koja koristi PAM ima odgovarajući konfiguracioni fajl u /etc/pam.d/ direktorijumu.

Evo nekoliko ključnih stvari u vezi sa /etc/pam.d/:

  1. Konfiguracija po Aplikaciji: Svaka aplikacija koja koristi PAM ima svoj odgovarajući konfiguracioni fajl u ovom direktorijumu. Na primer, fajl za SSH se može zvati /etc/pam.d/sshd, za sistemsku autentikaciju može biti /etc/pam.d/login itd.

  2. Moduli Autentikacije: Svaki od ovih konfiguracionih fajlova definiše niz modula autentikacije, autorizacije i drugih operacija. Moduli se izvršavaju redom i mogu se prilagoditi prema potrebama aplikacije.

  3. Uključivanje i Isključivanje Funkcionalnosti: Kroz ove konfiguracijske fajlove, možete uključiti ili isključiti određene aspekte autentikacije, postavljajući različite module i opcije.

Primer jednog takvog konfiguracionog fajla (/etc/pam.d/login) može izgledati ovako:

# /etc/pam.d/login - pam configuration for the 'login' service

auth       required     pam_securetty.so
auth       requisite    pam_nologin.so
auth       include      common-auth
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth
session    required     pam_loginuid.so

Ovde se definišu različiti koraci autentikacije (auth), autorizacije (account), postavljanja lozinke (password) i sesije (session). Ovo je samo jedan primer, a stvarna konfiguracija može varirati u zavisnosti od potreba aplikacije.

chmod g+s

 Oznaka "g+s" se odnosi na postavljanje setgid (set group ID) atributa na direktorijumu u sistemu datoteka. Kada se postavi setgid atribut na direktorijum, svi novi fajlovi i direktorijumi koji se kreiraju unutar tog direktorijuma automatski nasleđuju grupu vlasništva od roditeljskog direktorijuma, umesto da naslede grupu vlasništva korisnika koji je kreirao te fajlove ili direktorijume.

Primenom "g+s" postavljate setgid atribut na određeni direktorijum pomoću komande chmod. Evo kako to možete uraditi:

chmod g+s ime_direktorijuma

Na primer, ako želite postaviti setgid atribut na direktorijum "projekti", izvršavate:

chmod g+s projekti

Kada setgid atribut bude postavljen na "projekti", sve nove datoteke ili direktorijumi koji se kreiraju unutar "projekti" automatski će pripadati istoj grupi kao i "projekti".

Ovo je korisno u situacijama kada više korisnika sarađuje na zajedničkim projektima, a želite da svi kreirani fajlovi i direktorijumi unutar tog projektnog direktorijuma pripadaju istoj grupi kako bi se olakšalo deljenje resursa i upravljanje pravima pristupa.

umask

 umask je postavka u Unix/Linux operativnim sistemima koja kontroliše podrazumevane dozvole koje će novi fajlovi i direktorijumi naslediti prilikom njihovog kreiranja. Ova vrednost se oduzima od maksimalnih dozvola (uobičajeno 666 za fajlove i 777 za direktorijume) kako bi se odredile početne dozvole za nove fajlove i direktorijume.

Primeri:

  1. Pregled trenutne vrednosti umask:

    umask

    Ova komanda će prikazati trenutnu vrednost umask.

  2. Postavljanje umask vrednosti u oktalnom formatu:

    umask 022

    Ova komanda postavlja umask vrednost na 022. Maksimalne dozvole za fajlove biće 666, ali će se oduzeti 022, što rezultuje početnim dozvolama od 644.

  3. Postavljanje umask vrednosti u simboličkom formatu:

    umask u=rwx,g=rx,o=

    Ova komanda postavlja umask vrednost tako da vlasnik ima sve dozvole, grupa ima čitanje i izvršavanje, a ostali nemaju nikakve dozvole. Ovo će rezultovati početnim dozvolama za fajlove od 700.

  4. Podesi umask koristeći oktalne vrednosti za direktorijume:

    umask 002

    Ova komanda postavlja umask vrednost tako da se od maksimalnih dozvola za direktorijume (777) oduzima 002, rezultujući početnim dozvolama od 775.

  5. Prikaži vrednost umask u oktalnom formatu:

    printf "%o\n" $(umask)

    Ova komanda prikazuje vrednost umask u oktalnom formatu.

Napomena:

  • umask vrednost se često postavlja u skriptama ili u konfiguracionim fajlovima kako bi se uticalo na dozvole novih fajlova i direktorijuma koji se kreiraju.

chgrp

 Komanda chgrp se koristi u Unix/Linux operativnim sistemima kako bi se promenila grupa vlasnika za određeni fajl ili direktorijum. Evo osnovne sintakse i nekoliko primera:

Sintaksa:

chgrp [OPTIONS] NOVA_GRUPA FAJL_ILI_DIREKTORIJUM

Primeri:

  1. Promeni grupu vlasnika fajla:

    chgrp nova_grupa fajl.txt

    Ova komanda će promeniti grupu vlasnika fajla fajl.txt u nova_grupa.

  2. Rekurzivna promena grupe vlasnika za direktorijum i sve poddirektorijume/fajlove unutar njega:

    chgrp -R nova_grupa /putanja/do/direktorijuma

    Ovde -R znači rekurzivno, što znači da će se promena primeniti na sve fajlove i poddirektorijume unutar datog direktorijuma.

  3. Promeni grupu vlasnika više fajlova odjednom:

    chgrp nova_grupa fajl1.txt fajl2.txt fajl3.txt

    Ova komanda će promeniti grupu vlasnika za sve navedene fajlove u nova_grupa.

  4. Promeni grupu vlasnika direktorijuma:

    chgrp nova_grupa /putanja/do/direktorijuma

    Ova komanda će promeniti grupu vlasnika datog direktorijuma.

  5. Promeni grupu vlasnika i rekurzivno primeni na sve .txt fajlove:

    chgrp -R nova_grupa /putanja/do/direktorijuma/*.txt

    Ova komanda će promeniti grupu vlasnika rekurzivno na sve fajlove sa ekstenzijom .txt unutar datog direktorijuma.

  6. Promeni grupu vlasnika linkovanog fajla:

    chgrp nova_grupa simbolicni_link

    Ova komanda će promeniti grupu vlasnika na simbolički link simbolicni_link.

Napomena:

  • Kako bi koristili chgrp komandu, obično je potrebno posedovati odgovarajuće privilegije. Ako niste vlasnik fajla ili ne posedujete odgovarajuće privilegije, možda ćete morati koristiti sudo ispred komande kako biste izvršili promene.

gpasswd

 Komanda gpasswd u Unix/Linux operativnim sistemima koristi se za administraciju grupa, uključujući dodavanje i uklanjanje korisnika iz grupa, kao i postavljanje i brisanje šifre grupe. Evo nekoliko primera korišćenja gpasswd komande:

  1. Dodavanje korisnika u grupu:

    sudo gpasswd -a username grupa

    Primer:

    sudo gpasswd -a john developers

    Ova komanda dodaje korisnika "john" u grupu "developers".

  2. Uklanjanje korisnika iz grupe:

    sudo gpasswd -d username grupa

    Primer:

    sudo gpasswd -d jane developers

    Ova komanda uklanja korisnika "jane" iz grupe "developers".

  3. Postavljanje šifre za grupu:

    sudo gpasswd grupa

    Ova komanda omogućava postavljanje šifre za grupu. Nakon pokretanja komande, bićete pozvani da unesete šifru grupe.

    Primer:

    sudo gpasswd developers

    Nakon što izvršite ovu komandu, biće vam zatraženo da unesete šifru za grupu "developers".

  4. Uklanjanje šifre za grupu:

    sudo gpasswd -r grupa

    Primer:

    sudo gpasswd -r developers

    Ova komanda uklanja šifru za grupu "developers".

  5. Prikazivanje informacija o grupi:

    sudo gpasswd -A username grupa

    Primer:

    sudo gpasswd -A admin sysadmins

    Ova komanda postavlja administratora (admin) kao administrativnog korisnika grupe "sysadmins".

  6. Dodavanje korisnika kao administratora grupe:

    sudo gpasswd -M username grupa

    Primer:

    sudo gpasswd -M alice developers

    Ova komanda dodaje korisnika "alice" kao administratora grupe "developers".

Napomena: Koristite sudo pre gpasswd kako biste obezbedili odgovarajuće privilegije, jer su operacije nad grupama obično rezervisane za administratora sistema. Osim toga, upotreba šifri za grupe može biti opcionalna i zavisi od sistema i postavki administracije.

/etc/gshadow

 Datoteka /etc/gshadow koristi se za skladištenje senzitivnih podataka o grupama na Unix i Linux sistemima. U osnovi, ova datoteka pruža dodatni sloj sigurnosti za informacije o grupama, jer sadrži senzitivne informacije poput šifre grupe. Evo kako možete razumeti strukturu i sadržaj /etc/gshadow datoteke:

  1. Pregled datoteke /etc/gshadow:

    cat /etc/gshadow

    Ova komanda će prikazati sadržaj datoteke /etc/gshadow na ekranu.

  2. Struktura /etc/gshadow datoteke:

    • Prva kolona: Ime grupe
    • Druga kolona: Šifra grupe (šifrovana vrednost)
    • Treća kolona: Lista korisnika koji su članovi grupe

    Primer zapisa u /etc/gshadow datoteci:

    marketing:$1$2kl34Abc$ZvRBv3hMkUuVbM6x/UoRd1:john,bob

    Ovde, "marketing" je ime grupe, "$1$2kl34Abc$ZvRBv3hMkUuVbM6x/UoRd1" je šifrovana vrednost grupe, a "john,bob" su korisnici koji su članovi grupe.

  3. Promena šifre grupe:

    sudo gpasswd -r marketing

    Ova komanda će ukloniti šifru za grupu "marketing", čineći je praznom.

  4. Dodavanje korisnika u grupu pomoću gpasswd komande:

    sudo gpasswd -a jane marketing

    Dodaje korisnika "jane" u grupu "marketing".

  5. Uklanjanje korisnika iz grupe pomoću gpasswd komande:

    sudo gpasswd -d bob marketing

    Uklanja korisnika "bob" iz grupe "marketing".

  6. Provera postojanja grupe u /etc/gshadow:

    grep ^marketing /etc/gshadow

    Ova komanda će proveriti da li grupa "marketing" postoji u /etc/gshadow datoteci.

  7. Dodavanje ili uređivanje zapisa ručno: Možete koristiti tekstualni uređivač poput sudo nano /etc/gshadow da direktno uređujete ili dodate zapise u datoteku. Obratite pažnju da pridržavate pravila strukture datoteke.

Važno je napomenuti da direktna manipulacija datoteke /etc/gshadow treba biti pažljiva, jer sadrži osetljive informacije. Uobičajeno je koristiti alate poput gpasswd za dodavanje i upravljanje grupama kako bi se očuvala sigurnost sistema.

groupadd

 Komanda groupadd koristi se za dodavanje novih grupa na Unix i Linux sistemima. Evo nekoliko primera kako biste razumeli njenu upotrebu:

  1. Dodavanje nove grupe:

    sudo groupadd marketing

    Ova komanda će kreirati novu grupu sa imenom "marketing".

  2. Dodavanje grupe sa određenim GID-om (Group ID):

    sudo groupadd -g 1001 sales

    Postavlja GID grupe na 1001 prilikom kreiranja grupe "sales".

  3. Dodavanje grupe sa ekstra informacijama (komentarom):

    sudo groupadd -r -g 1002 -c "Development Team" devs

    Ovde se koristi -r opcija da se rezerviše sistemski GID, a -c dodaje komentar za grupu "devs".

  4. Dodavanje grupe sa ekstra informacijama iz datoteke:

    sudo groupadd -g 1003 -r -K GID_MIN=1000 -K GID_MAX=1999 -K INACTIVE=30 -K EXPIRE=2023-01-01 testers

    Koristi se -K opcija da se postave različite opcije (min/max GID, neaktivnost, istek) za grupu "testers".

  5. Dodavanje grupe bez stvaranja home direktorijuma:

    sudo groupadd -r -r -K NIS -K DESCRIPTION="NIS Group" nisgroup

    Stvara NIS grupu sa određenim opcijama, ali bez kreiranja home direktorijuma.

  6. Dodavanje grupe sa posebnom šemom imenovanja:

    sudo groupadd -N -K NAME_REGEX="^[a-zA-Z][a-zA-Z0-9_-]*$" teamgroup

    Koristi -N opciju za podešavanje šeme imenovanja grupe pomoću regularnog izraza.

  7. Dodavanje grupe sa automatskim dodavanjem korisnika:

    sudo groupadd -A username

    Ova opcija automatski dodaje korisnika "username" u grupu nakon njene kreacije.

Napomena: Opcije i ponašanje komande groupadd mogu se razlikovati u zavisnosti od distribucije Linux-a. Uvek možete proveriti lokalnu dokumentaciju ili koristiti man groupadd za više informacija o dostupnim opcijama na vašem sistemu.

/etc/group

 Fajl /etc/group na Unix i Linux sistemima sadrži informacije o grupama korisnika. Svaka linija u ovom fajlu predstavlja jednu grupu i ima sledeći format:

ime_grupe:password:GID:korisnici

Gde:

  • ime_grupe predstavlja ime same grupe.
  • password je polje za šifrovanu lozinku (obično označeno sa "x" ili "*"). Ovo polje se retko koristi i lozinke se obično smeštaju u fajl /etc/gshadow.
  • GID (Group ID) je jedinstveni identifikator grupe, izražen brojem.
  • korisnici su korisnici koji pripadaju ovoj grupi, razdvojeni zapetama.

Primer reda u /etc/group fajlu može izgledati ovako:

sales:x:1001:jane,john,bob

Ovaj red označava grupu sa imenom "sales" (prodaja) sa GID-om 1001, a korisnici koji pripadaju toj grupi su "jane", "john" i "bob".

Ovaj fajl omogućava sistemskim administratorima da definišu i upravljaju grupama, što olakšava organizaciju i kontrolu pristupa resursima na sistemu.

usermod

 usermod je Linux komanda koja se koristi za izmenu postojećih korisničkih naloga na sistemu. Ova komanda omogućava administratorima da ažuriraju različite karakteristike naloga, uključujući promenu korisničkog imena, dodavanje ili uklanjanje korisničkih grupa, promenu home direktorijuma i druge slične promene.

Evo nekoliko često korišćenih opcija sa usermod komandom:

  1. Promena korisničkog imena:

    sudo usermod -l novo_ime staro_ime
  2. Dodavanje korisnika u grupu:

    sudo usermod -aG nova_grupa korisničko_ime
  3. Promena home direktorijuma:

    sudo usermod -d /putanja/do/novog/home korisničko_ime
  4. Promena ljuske (shell):

    sudo usermod -s /putanja/do/nove/ljuske korisničko_ime
  5. Promena informacija o korisniku (-c opcija):

    sudo usermod -c "Novi opis korisnika" korisničko_ime
  6. Onemogućavanje naloga (-L opcija):

    sudo usermod -L korisničko_ime
  7. Omogućavanje naloga (-U opcija):

    sudo usermod -U korisničko_ime

Ove opcije vam pružaju fleksibilnost da prilagodite postavke korisničkih naloga prema potrebama sistema. Preporučljivo je pažljivo koristiti usermod kako biste izbegli neželjene promene ili potencijalne probleme sa nalozima.

/etc/default/useradd

Fajl /etc/default/useradd je konfiguracioni fajl koji sadrži podrazumevane vrednosti za opcije koje se koriste prilikom kreiranja novih korisničkih naloga sa useradd komandom. Ovaj fajl pruža sistemskim administratorima mogućnost da postave podrazumevane vrednosti koje će se primeniti prilikom svakog kreiranja novog korisničkog naloga, čime se olakšava doslednost u postavkama naloga na sistemu.

Evo nekoliko primera opcija koje se mogu naći u /etc/default/useradd fajlu:

  • GROUP: Podrazumevana primarna grupa novog korisnika.
  • HOME: Direktorijum koji će biti postavljen kao home direktorijum novog korisnika.
  • SHELL: Podrazumevana ljuska (shell) koja će biti dodeljena novom korisniku.
  • CREATE_MAIL_SPOOL: Ova opcija određuje da li će biti kreiran mailbox (poštansko sanduče) za novog korisnika.

Primer dela /etc/default/useradd fajla može izgledati ovako:

# /etc/default/useradd
GROUP=100
HOME=/home
SHELL=/bin/bash
CREATE_MAIL_SPOOL=yes

U ovom primeru, podrazumevana primarna grupa je postavljena na ID 100, home direktorijum na /home, podrazumevana ljuska je postavljena na /bin/bash, i mailbox će biti kreiran (CREATE_MAIL_SPOOL postavljeno na yes).

Napomena: Struktura i dostupne opcije u ovom fajlu mogu se razlikovati između različitih Linux distribucija, tako da je preporučljivo proveriti dokumentaciju sistema koji koristite kako biste dobili tačne informacije za vaš sistem.

/etc/skel

 Direktorijum /etc/skel se koristi kao šablon za kreiranje početnih (skel) direktorijuma za nove korisnike. Kada se novi korisnik dodaje na sistemu, sistem kopira sadržaj direktorijuma /etc/skel u korisnički home direktorijum. Ovaj proces omogućava da novi korisnici automatski naslede određene postavke i fajlove koje administrator želi da podele sa svim korisnicima.

Tipično, /etc/skel sadrži osnovne fajlove i direktorijume koji se očekuju u home direktorijumu korisnika. Ovo uključuje konfiguracione fajlove za ljuspce (shell), kao i eventualno neke osnovne direktorijume kao što su Documents, Downloads, Pictures, i slično.

Na primer, ako pogledamo sadržaj /etc/skel na Linux sistemu, možemo videti nešto slično:

$ ls /etc/skel Desktop Documents Downloads Music Pictures Public

Kada se novi korisnik kreira, ovi direktorijumi se automatski kopiraju u njegov home direktorijum. Ovo omogućava svakom korisniku da počne sa osnovnom strukturom direktorijuma i nekim osnovnim fajlovima.

Administratori često prilagođavaju sadržaj /etc/skel prema potrebama njihove organizacije ili specifičnim zahtevima okoline korisnika. Na primer, mogu dodati dodatne konfiguracione fajlove, skripte ili resurse koje žele da podele sa svim korisnicima na sistemu.

/etc/login.defs

 Fajl /etc/login.defs u Linux sistemu sadrži osnovna podešavanja za alate za upravljanje korisničkim nalozima, kao što su useradd i usermod. Ovaj fajl definiše različite parametre koji utiču na kreiranje i upravljanje korisničkim nalozima. Evo nekoliko ključnih parametara koji se mogu naći u ovom fajlu:

  1. PASS_MAX_DAYS:

    Ovaj parametar određuje maksimalni broj dana tokom kojih je lozinka važeća. Ako je postavljeno na 90, na primer, korisnici će morati da promene svoje lozinke svakih 90 dana.

    PASS_MAX_DAYS 90
  2. PASS_MIN_DAYS:

    Ovaj parametar postavlja minimalni broj dana koji mora proći između dve promene lozinke. Na primer, ako je postavljeno na 7, korisnici ne mogu promeniti lozinku češće od jednom nedeljno.

    PASS_MIN_DAYS 7
  3. PASS_WARN_AGE:

    Ovaj parametar određuje broj dana pre isteka lozinke kada korisnik dobija upozorenje. Na primer, ako je postavljeno na 14, korisnici će početi dobijati upozorenje 14 dana pre nego što njihova lozinka istekne.

    PASS_WARN_AGE 14
  4. UID_MIN i GID_MIN:

    Postavke koje definišu minimalne vrednosti za UID (User ID) i GID (Group ID). Korisnici i grupe sa identifikatorima manjim od ovih vrednosti se obično smatraju sistemskim korisnicima i grupama.

    UID_MIN 1000 GID_MIN 1000
  5. UMASK:

    Ovaj parametar postavlja podrazumevanu masku dozvola koja će se primenjivati na novonastale datoteke i direktorijume. Na primer:

    UMASK 022
  6. MAIL_DIR:

    Direktorijum u koji se smeštaju pošta korisnika. Na primer:

    MAIL_DIR /var/spool/mail
  7. CREATE_HOME:

    Ako je postavljeno na yes, useradd će automatski kreirati korisnički direktorijum (home) prilikom dodavanja novog korisnika.

    CREATE_HOME yes
  8. ENCRYPT_METHOD:

    Ovaj parametar određuje metod enkripcije koji će se koristiti za lozinke. Na primer, SHA512 koristi SHA-512 algoritam za enkripciju.

    ENCRYPT_METHOD SHA512
  9. USERGROUPS_ENAB:

    Ako je postavljeno na yes, useradd će automatski kreirati grupu sa istim imenom kao i korisnik i dodati korisnika u tu grupu.

    USERGROUPS_ENAB yes

Ovi parametri i njihove vrednosti mogu varirati u zavisnosti od distribucije Linux operativnog sistema. Sve izmene u ovom fajlu obično zahtevaju privilegije administratora.

chage

 Komanda chage u Linux sistemu se koristi za postavljanje informacija o promenama lozinke za korisnički nalog. Ova komanda se obično koristi za postavljanje pravila o isteku lozinke, minimalnom periodu između promena lozinke, i slično. Evo nekoliko primera upotrebe komande chage:

  1. Postavljanje isteka lozinke za određenog korisnika:

    sudo chage -E 2023-12-31 korisnik

    Ova komanda postavlja datum kada će lozinka korisnika isteći. U ovom primeru, postavljamo datum na 31. decembar 2023. godine.

  2. Postavljanje minimalnog perioda između promena lozinke:

    sudo chage -m 7 korisnik

    Ovaj primer postavlja minimalni period između dve promene lozinke na 7 dana. Korisnik neće moći promeniti lozinku ako nije prošlo najmanje 7 dana od poslednje promene.

  3. Prikazivanje informacija o lozinki korisnika:

    chage -l korisnik

    Ova komanda prikazuje sve informacije o lozinki za određenog korisnika, uključujući datum isteka lozinke, minimalni period između promena lozinke itd.

  4. Onemogućavanje isteka lozinke:

    sudo chage -E -1 korisnik

    Postavljanje datuma isteka lozinke na -1 znači da lozinka korisnika neće isteći.

Napomena: Prilikom korišćenja komande chage, obavezno se pobrinite da radite sa privilegijama administratora, posebno ako menjate postavke za druge korisnik

chpasswd

 chpasswd je sistemski alat koji omogućava postavljanje lozinki korisnicima iz tekstualnog fajla. Obično se koristi za automatsko postavljanje lozinki u skriptama ili sistemskim zadacima gde je potrebno postaviti lozinke za više korisnika odjednom.

Format fajla koji chpasswd očekuje je jednostavan: svaka linija sadrži korisničko ime i lozinku, razdvojene dvotačkom (:). Na primer:


korisnik1:lozinka1 
korisnik2:lozinka2 
korisnik3:lozinka3

Da biste koristili chpasswd, možete ga pozvati iz komandne linije i proslediti podatke preko stdin (standardni unos). Evo primera korišćenja:


echo 'korisnik1:lozinka1' | chpasswd 
echo 'korisnik2:lozinka2' | chpasswd 
echo 'korisnik3:lozinka3' | chpasswd

U ovom primeru, svaki red u fajlu se prosleđuje chpasswd putem echo komande. Ovo se često koristi u skriptama ili automatizovanim zadacima.

Važno je napomenuti da chpasswd često zahteva privilegije administratora (npr. pokretanje sa sudo) jer menja lozinke korisnika. Takođe, treba biti pažljiv prilikom rukovanja lozinkama, posebno kada se koriste u skriptama, kako bi se osigurala bezbednost sistema

/etc/shadow

 Fajl /etc/shadow je sistemski fajl na Unix-sličnim operativnim sistemima, uključujući Linux, koji sadrži šifrovane lozinke korisnika. Ovaj fajl se koristi za čuvanje šifrovanih informacija o lozinkama, a pristup njemu obično imaju samo privilegovani korisnici, kao što je root.

Struktura /etc/shadow fajla obično ima sledeći format:

korisničko_ime:šifrovana_lozinka:datum_poslednje_promene:minimum_dana_između_promena:maksimum_dana_između_promena:dani_pre_isteka_upozorenja:broj_dana_do_isteka:neposredni_istek:nepostojeći_nalog:rezervisano
  • korisničko_ime: Korisničko ime za koje se čuva lozinka.
  • šifrovana_lozinka: Šifrovana verzija korisničke lozinke.
  • datum_poslednje_promene: Dan kada je lozinka poslednji put promenjena, obično izražen u danima od 1. januara 1970. godine (Unix vreme).
  • minimum_dana_između_promena: Minimalan broj dana koji mora proći pre nego što korisnik može promeniti lozinku.
  • maksimum_dana_između_promena: Maksimalan broj dana koji korisnik može koristiti jednu lozinku pre nego što je mora promeniti.
  • dani_pre_isteka_upozorenja: Broj dana pre nego što istekne lozinka korisnika kada korisnik počinje primati upozorenje o isteku.
  • broj_dana_do_isteka: Maksimalni broj dana nakon isteka kada će nalog biti deaktiviran.
  • neposredni_istek: Dan kada nalog odmah ističe i postaje neaktivan.
  • nepostojeći_nalog: Rezervisan prostor za buduću upotrebu.
  • rezervisano: Dodatni rezervisani prostor za buduću upotrebu.

Važno je napomenuti da su podaci u /etc/shadow fajlu šifrovani i ne mogu se direktno pročitati. Samo korisnici sa odgovarajućim privilegijama, obično root ili članovi grupe shadow, mogu pristupiti ovom fajlu.

/etc/passwd

 Fajl /etc/passwd je jedan od ključnih sistemskih fajlova na Unix i Unix-sličnim operativnim sistemima, uključujući i Linux. Ovaj fajl sadrži informacije o korisnicima sistema. Svaki red u ovom fajlu predstavlja jednog korisnika i sadrži različite podatke o tom korisniku, odvojene dvotačkom (:).

Standardni format linije u /etc/passwd fajlu obično izgleda ovako:

ime_korisnika:x:UID:GID:opis_korisnika:/putanja/do/direktorijuma:/putanja/do/shella

Gde:

  • ime_korisnika: Korisničko ime korisnika.
  • x: Tradicionalno, ova vrednost je bila rezervisana za enkriptovanu lozinku korisnika. Međutim, moderne sistemske konfiguracije često koriste /etc/shadow fajl za skladištenje enkriptovanih lozinki, pa se ovde obično nalazi samo "x".
  • UID: User ID - jedinstveni identifikator korisnika.
  • GID: Group ID - identifikator grupe korisnika.
  • opis_korisnika: Polje u koje se često stavlja ime korisnika ili neki opis.
  • /putanja/do/direktorijuma: Putanja do korisnikovog matičnog direktorijuma.
  • /putanja/do/shella: Putanja do korisnikovog shell programa.

Na primer:

john.doe:x:1001:1001:John Doe:/home/john.doe:/bin/bash

U ovom primeru:

  • Korisničko ime je "john.doe".
  • UID je 1001.
  • GID je takođe 1001.
  • Opis korisnika je "John Doe".
  • Matični direktorijum je "/home/john.doe".
  • Korisnik koristi "/bin/bash" kao shell.

Važno je napomenuti da /etc/passwd fajl obično nije direktan izvor informacija o lozinkama korisnika. Enkriptovane lozinke se obično nalaze u fajlu /etc/shadow, koji je strogo zaštićen od neovlašćenog pristupa.


id

 Komanda id se koristi za prikazivanje informacija o korisniku i grupama na Linux sistemu. Evo nekoliko primera kako možete koristiti id:

  1. Prikazivanje informacija o trenutnom korisniku:

    id

    Ova komanda će prikazati UID (User ID), GID (Group ID) i listu dodatnih grupa trenutnog korisnika.

  2. Prikazivanje informacija o određenom korisniku:

    id korisnicko_ime

    Zamijenite korisnicko_ime stvarnim korisničkim imenom koje želite proveriti. Ova komanda će prikazati UID, GID i grupe za datog korisnika.

    Primer:

    id john.doe
  3. Prikazivanje informacija o određenom korisniku putem UID-a:

    id -u UID

    Zamijenite UID stvarnim UID-om (User ID) korisnika. Ova komanda će prikazati informacije o korisniku putem UID-a.

    Primer:

    id -u 1001
  4. Prikazivanje informacija o grupi:

    id -g grupa_ime

    Zamijenite grupa_ime stvarnim imenom grupe. Ova komanda će prikazati GID (Group ID) za datu grupu.

    Primer:

    id -g staff
  5. Prikazivanje svih informacija o korisniku:

    id -a

    Ova komanda će prikazati sve informacije o trenutnom korisniku, uključujući UID, GID, dodatne grupe, ime korisnika i ime grupe.

Ovo su osnovni primeri korišćenja id komande. Ona vam pruža korisne informacije o korisnicima i grupama na sistemu.