Configurare program

Instalare Pure-FTPd pe Ubuntu 24.04

Pure-FTPd este un software gratuit, open-source, pentru servere FTP, disponibil pentru Ubuntu și alte distribuții Linux. Conceput cu accent pe securitate, performanță și ușurință în utilizare, Pure-FTPd oferă funcții robuste, cum ar fi suport pentru utilizatori virtuali, conexiuni criptate folosind TLS/SSL și diverse mecanisme de autentificare. De asemenea, oferă funcții precum limitarea lățimii de bandă,restricționarea permisiunilor utilizatorilor și activarea accesului FTP anonim. Pure-FTPd este adesea ales pentru simplitatea sa în configurare în comparație cu alte servere FTP, ceea ce îl face o alegere populară atât pentru implementări mici, cât și pentru cele la scară largă pe sistemele Ubuntu.

Protocolul de transfer de fișiere (FTP) este un protocol de rețea standard utilizat pentru transferul de fișiere între un client și un server printr-o rețea, cum ar fi internetul. Dezvoltat la începutul anilor 1970, FTP permite utilizatorilor să încarce, să descarce și să gestioneze fișiere pe un server la distanță. Acesta funcționează folosind două canale: un canal de comandă pentru controlul conexiunii și un canal de date pentru transferul de fișiere.

Cerințe preliminare pentru instalarea Pure-FTPd

Înainte de a continua instalarea, asigurați-vă că aveți:

  • Configurarea unui server Ubuntu
  • Accesul la un cont de utilizator cu sudoprivilegii

Instalarea pas cu pas a Pure-FTPd

Actualizarea pachetelor de sistem

Mai întâi, actualizați lista de pachete a sistemului:

sudo apt update

Instalarea Pure-FTPd

Apoi, instalați Pure-FTPd folosind următoarea comandă:

sudo apt install pure-ftpd

Configurarea Pure-FTPd pentru securitate îmbunătățită

Configurarea unui mediu securizat

Creați un grup dedicat utilizatorilor FTP:

sudo groupadd ftpgroup

Creați un utilizator pentru Pure-FTPd:

sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Gestionarea accesului utilizatorilor

Pentru a adăuga un utilizator la serverul FTP:

sudo pure-pw useradd [username] -u ftpuser -g ftpgroup -d /home/ftpusers/[username]
sudo pure-pw mkdb

Înlocuiți [username]cu numele de utilizator dorit.

Configurarea TLS pentru transfer securizat de date

Generați un certificat autosemnat:

sudo openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Modificați configurația Pure-FTPd pentru a activa TLS:

echo 1 | sudo tee /etc/pure-ftpd/conf/TLS
sudo service pure-ftpd restart

Opțiuni avansate de configurare

Iată o listă de setări comune care pot fi configurate pentru Pure-FTPd în directorul /etc/pure-ftpd/conf/ pe Ubuntu. Numele fișierului de configurare este scris cu caractere aldine.

  • AltLog : Specifică metode alternative de înregistrare în jurnal. De exemplu, AltLog clf:/var/log/pureftpd.log va înregistra transferurile în format W3C.
  • AnonymousOnly : Când este activată (prin crearea unui fișier numit AnonymousOnly), restricționează serverul să permită doar conectări anonime.
  • AntiWarez : Dacă acest fișier există, utilizatorilor le este interzis să încarce fișiere care există deja pe server.
  • Redenumire automată : Redenumește automat fișierele încărcate dacă există un fișier cu același nume.
  • Bind : Leagă serverul la o anumită adresă IP și un port. De exemplu, Bind 21 se leagă la portul 21 pe toate adresele disponibile.
  • BrokenClientsCompatibility : Permite compatibilitatea cu clienții FTP care nu respectă strict standardele FTP.
  • ChrootEveryone : Dacă este activat, restricționează toți utilizatorii la directorul lor principal.
  • CreateHomeDir : Creează automat directoarele principale dacă acestea nu există atunci când un utilizator se conectează.
  • Rezistență la clienți : Crește rezistența împotriva greșelilor frecvente făcute în configurațiile și comenzile clientului.
  • Daemonizare : Când acest fișier există, Pure-FTPd va rula ca un daemon.
  • DisplayDotFiles : Controlează dacă fișierele cu puncte (fișiere ascunse) sunt afișate sau nu.
  • DontResolve : Împiedică rezoluția DNS pentru înregistrarea în jurnal și controlul lățimii de bandă, ceea ce poate îmbunătăți performanța.
  • ExtAuth : Specifică un program extern pentru autentificarea utilizatorului.
  • ForcePassiveIP : Forțează serverul să raporteze o anumită adresă IP clienților în mod pasiv.
  • FSCharset : Setează setul de caractere al sistemului de fișiere, util pentru numele de fișiere non-ASCII.
  • IPv4Only sau IPv6Only : Restricționează serverul să asculte doar adresele IPv4 sau IPv6.
  • KeepAllFiles : Previne ștergerea oricăror fișiere de pe server.
  • LDAPConfigFile : Specifică calea către fișierul de configurare LDAP pentru autentificare.
  • LimitRecursion : Limitează adâncimea recursivității și numărul de fișiere afișate în listele de directoare.
  • MaxClientsNumber : Limitează numărul maxim de clienți simultani.
  • MaxClientsPerIP : Restricționează numărul de conexiuni simultane de la o singură adresă IP.
  • MaxDiskUsage : Limitează procentul de utilizare a discului.
  • MaxIdleTime : Setează timpul maxim de inactivitate în minute înainte de deconectarea unui client.
  • MaxLoad : Deconectează clienții sau refuză conexiuni noi peste o anumită sarcină de sistem.
  • MinUID : Setează UID-ul minim pentru autentificare. Utilizatorii cu un UID mai mic nu se pot autentifica.
  • MySQLConfigFile : Specifică calea către fișierul de configurare MySQL pentru autentificarea bazată pe baze de date.
  • NoAnonymous : Dezactivează autentificările anonime dacă acest fișier există.
  • NoChmod : Dezactivează comanda CHMOD pe server.
  • NoRename : Împiedică utilizatorii să redenumească fișierele.
  • PassivePortRange : Definește un interval de porturi pentru conexiuni pasive (de exemplu, 30000 35000).
  • PerUserLimits : Setează limite pentru fiecare utilizator în parte.
  • PureDB : Specifică calea către fișierul bazei de date de utilizatori PureDB.
  • Cotă : Setează limitele cotei pentru utilizatori.
  • SyslogFacility : Definește facilitatea syslog pentru înregistrare în jurnal.
  • TLSCipherSuite : Specifică cifrurile TLS permise pentru conexiunile criptate.
  • TrustedGID : Specifică o listă de ID-uri de grup de încredere pentru autentificare.
  • UMask : Setează umaska ​​implicită pentru crearea fișierelor.
  • UnixAuthentication : Activează autentificarea în baza de date de parole UNIX.
  • UploadScript : Specifică un script care va fi rulat după o încărcare reușită.

Această listă acoperă cele mai utilizate opțiuni de configurare, dar nu este exhaustivă. Consultați întotdeauna documentația oficială Pure-FTPd sau utilizați

pure-ftpd-wrapper --help

comandă pentru cele mai precise și complete informații.

Exemple

Iată o listă de setări Pure-FTPd în /etc/pure-ftpd/conf/ cu exemple pentru a ilustra tipurile de valori pe care le acceptă:

  • AltLog :AltLog clf:/var/log/pureftpd.log
    • Exemplu:clf:/var/log/pureftpd.log
  • AnonymousOnly : Activați prin crearea unui fișier numit AnonymousOnly.
    • Nu este nevoie de valoare.
  • AntiWarez : Activați prin crearea unui fișier numit AntiWarez.
    • Nu este nevoie de valoare.
  • Redenumire automată : Activați prin crearea unui fișier numit AutoRename.
    • Nu este nevoie de valoare.
  • Legătură :Bind 21
    • Exemplu:192.168.0.1,21
  • BrokenClientsCompatibility : Activați prin crearea unui fișier numit BrokenClientsCompatibility.
    • Nu este nevoie de valoare.
  • ChrootEveryone : Activați prin crearea unui fișier numit ChrootEveryone.
    • Nu este nevoie de valoare.
  • CreateHomeDir : Activare prin crearea unui fișier numit CreateHomeDir.
    • Nu este nevoie de valoare.
  • CustomerProof : Activați prin crearea unui fișier numit CustomerProof.
    • Nu este nevoie de valoare.
  • Daemonizare : Activați prin crearea unui fișier numit Daemonize.
    • Nu este nevoie de valoare.
  • DisplayDotFiles : Activați prin crearea unui fișier numit DisplayDotFiles.
    • Nu este nevoie de valoare.
  • DontResolve : Activați prin crearea unui fișier numit DontResolve.
    • Nu este nevoie de valoare.
  • ExtAuth :ExtAuth /path/to/authenticator
    • Exemplu:/usr/local/bin/myauth
  • ForcePassiveIP :ForcePassiveIP 192.168.0.1
    • Exemplu:192.168.0.1
  • Set de caractere FSCharset :FSCharset utf-8
    • Exemplu:utf-8
  • IPv4Only sau IPv6Only : Activați prin crearea unui fișier numit IPv4Onlysau IPv6Only.
    • Nu este nevoie de valoare.
  • KeepAllFiles : Activați prin crearea unui fișier numit KeepAllFiles.
    • Nu este nevoie de valoare.
  • Fișier de configurare LDAP :LDAPConfigFile /etc/pure-ftpd/ldap.conf
    • Exemplu:/etc/pure-ftpd/ldap.conf
  • LimitRecursivitate :LimitRecursion 10000 8
    • Exemplu: 10000 8(10000 de fișiere, 8 niveluri de adâncime)
  • Număr maxim de clienți :MaxClientsNumber 50
    • Exemplu:50
  • CliențiMaximiPerIP :MaxClientsPerIP 8
    • Exemplu:8
  • UtilizareMaxDisk :MaxDiskUsage 95
    • Exemplu: 95(95%)
  • Timp maxim de inactivitate :MaxIdleTime 15
    • Exemplu: 15(15 minute)
  • Încărcare maximă :MaxLoad 4.0
    • Exemplu:4.0
  • UID minim :MinUID 1000
    • Exemplu:1000
  • Fișier de configurare MySQL :MySQLConfigFile /etc/pure-ftpd/mysql.conf
    • Exemplu:/etc/pure-ftpd/mysql.conf
  • NoAnonymous : Activați prin crearea unui fișier numit NoAnonymous.
    • Nu este nevoie de valoare.
  • NoChmod : Activați prin crearea unui fișier numit NoChmod.
    • Nu este nevoie de valoare.
  • NoRename : Activați prin crearea unui fișier numit NoRename.
    • Nu este nevoie de valoare.
  • IntervalPortPasiv :PassivePortRange 30000 35000
    • Exemplu:30000 35000
  • Limite per utilizator :PerUserLimits 8
    • Exemplu: 8(8 conexiuni simultane per utilizator)
  • PureDB :PureDB /etc/pure-ftpd/pureftpd.pdb
    • Exemplu:/etc/pure-ftpd/pureftpd.pdb
  • Cotă :Quota 1000M
    • Exemplu: 1000M(1000 megaocteți)
  • Facilitatea Syslog :SyslogFacility ftp
    • Exemplu:ftp
  • TLSCipherSuite :TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
    • Exemplu:HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
  • IDG de încredere :TrustedGID 1000
    • Exemplu:1000
  • Mască U :UMask 133:022
    • Exemplu: 133:022(Fișiere: 133, Directoare: 022)
  • UnixAuthentication : Activați prin crearea unui fișier numit UnixAuthentication.
    • Nu este nevoie de valoare.
  • ÎncărcareScript :UploadScript /path/to/script
    • Exemplu:/usr/local/bin/uploadscript

Aceste exemple ar trebui să clarifice modul de configurare a diverselor opțiuni în Pure-FTPd.

Monitorizare și întreținere

Verificați periodic jurnalele /var/log/pure-ftpd/pentru a depista orice activități neobișnuite sau erori.

[mai mult...]

Rezolvarea numelor de domeniu DNS folosind comanda dig pe Linux

Comanda dig din Linux, prescurtare de la „Domain Information Groper”, este un instrument de administrare a rețelei utilizat pentru interogarea serverelor DNS (Domain Name System) . Permite utilizatorilor să recupereze informații despre nume de domeniu, cum ar fi adrese IP, servere de mail (înregistrări MX) și alte înregistrări de resurse DNS. Utilizată în principal pentru depanarea problemelor DNS, dig oferă rezultate detaliate, inclusiv timpul de răspuns al interogărilor și serverul DNS care a furnizat informațiile.

Flexibilitatea și precizia sa îl fac un instrument preferat de administratorii de rețea pentru diagnosticarea problemelor DNS, testarea configurațiilor de domeniu și efectuarea de căutări DNS, comparativ cu comenzi mai simple, cum ar fi nslookup.

Folosește comanda dig pentru a rezolva un nume de domeniu

Rezolvarea problemei domeniului example.com:

dig example.com

Dacă domeniul poate fi rezolvat, rezultatul va fi similar cu acesta:

root@server1:~# dig howtoforge.com 

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> howtoforge.com 
;; opțiuni globale: +cmd 
;; Răspuns primit: 
;; ->>ANTET<<- cod de operare: INTEROGARE, stare: NOERROR, id: 50297 
;; flags: qr rd ra; INTEROGARE: 1, RĂSPUNS: 2, AUTORITATE: 0, SUPLIMENTAR: 1 

;; PSEUDOSECȚIE OPT: 
; EDNS: versiune: 0, flags:; udp: 512 
;; SECȚIUNE DE ÎNTREBĂRI: 
;howtoforge.com. ÎNTR-O 

;; SECȚIUNE DE RĂSPUNSURI: 
howtoforge.com. 299 ÎNTR-O 104.24.0.68 
howtoforge.com. 299 ÎNTR-O 104.24.1.68 

;; Timp de interogare: 233 msec 
;; SERVER: 8.8.8.8#53(8.8.8.8) 
;; CÂND: Miercuri, 8 august 2024, ora 12:35:15 CEST 
;; DIMENSIUNE MSG primit: 75

Cum se interoghează serverul DNS local cu dig

Pentru a verifica dacă serverul web local este responsabil pentru acest domeniu, utilizați următoarea comandă:

dig @localhost example.com

Obțineți numele serverului de mail cu dig

Dacă vrei să știi care server de mail este responsabil pentru gestionarea mailurilor de pe example.com, poți folosi comanda:

dig MX example.com

Rezultatul va fi similar cu acesta:

root@server1:~# dig MX howtoforge.com 

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> MX howtoforge.com 
;; opțiuni globale: +cmd 
;; Răspuns primit: 
;; ->>ANTET<<- cod de operare: INTEROGARE, stare: NOERROR, id: 14115 
;; flags: qr rd ra; INTEROGARE: 1, RĂSPUNS: 1, AUTORITATE: 0, SUPLIMENTAR: 1 

;; PSEUDOSECȚIE OPT: 
; EDNS: versiune: 0, flags:; udp: 512 
;; SECȚIUNE ÎNTREBĂRI: 
;howtoforge.com. ÎN MX 

;; SECȚIUNE RĂSPUNS: 
howtoforge.com. 299 ÎN MX 10 mail.howtoforge.com. 

;; Timp de interogare: 205 msec 
;; SERVER: 8.8.4.4#53(8.8.4.4) 
;; CÂND: Miercuri, 8 august 2024, ora 10:36:30 CEST 
;; DIMENSIUNEA MESAJULUI PRIVAT: 64

Obțineți mai multe opțiuni ale comenzii dig

Pentru a obține toate opțiunile disponibile pentru comanda dig, puteți rula:

dig --help

O descriere mai detaliată veți găsi în pagina de manual a comenzii dig:

man dig

Iată un fragment din pagina de manual a instrumentului care explică din plin cum se utilizează dig:

O invocare tipică a comenzii dig arată astfel: 

dig @server name type 

unde: 

  server 
     este numele sau adresa IP a serverului de nume care urmează să fie interogat. Aceasta poate fi o adresă IPv4 în 
     notație zecimală punctată sau o adresă IPv6 în notație delimitată prin două puncte. Când 
     argumentul server furnizat este un nume de gazdă, dig rezolvă acel nume înainte de a interoga serverul de nume respectiv. 

     Dacă nu este furnizat niciun argument server, dig consultă /etc/resolv.conf; dacă se găsește o adresă 
     acolo, interoghează serverul de nume la acea adresă. Dacă oricare dintre opțiunile -4 sau -6 este 
     utilizată, atunci se vor încerca doar adresele pentru transportul corespunzător. Dacă nu 
     se găsesc adrese utilizabile, dig va trimite interogarea către gazda locală. 
     Se afișează răspunsul de la serverul de nume care răspunde. 

  name 
     este numele înregistrării resursei care urmează să fie căutată. 

  type 
     indică ce tip de interogare este necesar - ANY, A, MX, SIG etc. type poate fi orice 
     tip de interogare valid. Dacă nu este furnizat niciun argument type, dig va efectua o căutare pentru o înregistrare A.

Dacă doriți, puteți forța comanda dig să elimine anumite secțiuni din afișajul rezultatului. De exemplu, pentru a comuta afișarea liniilor de comentarii în rezultat sau în secțiunea de întrebări a unei interogări atunci când este returnat un răspuns, utilizați opțiunile +nocomments și +noquestion.

Următoarea captură de ecran prezintă aceste opțiuni în acțiune:

Obțineți serverele de nume ale unui domeniu

Continuând, puteți interoga înregistrări NS precum înregistrări MX prin comanda dig. Iată cum puteți face acest lucru:

dig NS example.com

Următorul este rezultatul pe care l-a produs această comandă în cazul nostru:

Obțineți adresa IP a unui nume de domeniu cu comanda dig

Dacă doriți ca dig să afișeze doar adresa IP a serverului, utilizați opțiunea +short.

De exemplu:

dig example.com +short

Dacă doriți să interogați mai multe site-uri web/servere simultan, puteți crea o listă de nume într-un fișier și puteți transmite numele fișierului respectiv ca intrare pentru opțiunea -f a comenzii dig.

-f fișier 

Mod batch: dig citește o listă de cereri de căutare pentru a fi procesate din fișierul dat. Fiecare linie din 
fișier ar trebui să fie organizată în același mod în care ar fi prezentată ca interogări către dig folosind 
interfața din linia de comandă.

Iată un exemplu:

[mai mult...]

Tutorial pentru comanda chmod în Linux pentru începători

Comanda chmod din Linux este utilizată pentru a modifica permisiunile fișierelor și directoarelor într-un sistem de operare bazat pe Linux. Aceasta permite utilizatorilor să definească cine poate citi, scrie sau executa un fișier prin modificarea setărilor de permisiuni. Permisiunile sunt de obicei atribuite la trei categorii: proprietarul fișierului, grupul căruia îi aparține fișierul și alții (toți ceilalți).

Comanda chmod poate fi utilizată cu notație simbolică (de exemplu, chmod u+x nume_fișier pentru a adăuga permisiunea de execuție pentru utilizator) sau cu notație numerică (de exemplu, chmod 755 nume_fișier pentru a seta permisiuni specifice de citire, scriere și execuție pentru fiecare categorie). Această comandă este esențială pentru gestionarea controlului accesului pe un sistem, asigurându-se că fișierele și directoarele au setările de securitate corespunzătoare.

Vă rugăm să rețineți că toate exemplele și instrucțiunile menționate în acest tutorial au fost testate pe Ubuntu 24.04, iar versiunea chmod pe care am folosit-o este 8.25.

Noțiuni de bază despre Chmod

Luați în considerare următorul  exemplu de comandă ls :

Prima coloană din rezultat este de interes pentru noi. Lăsați deoparte semnul „-” inițial (care indică tipul de fișier). Câmpurile rămase din coloană pot fi defalcate în continuare astfel: rw- , rw- și r–. Acestea sunt permisiunile pe care le au proprietarul fișierului, grupul căruia îi aparține fișierul și alte persoane asupra acestui fișier.

Aceasta înseamnă că proprietarul are atât permisiuni de citire (r), cât și permisiuni de scriere (w), la fel ca și grupul. Alții, însă, au doar permisiuni de citire pentru fișier. Rețineți că presupunem că utilizatorul curent deține fișierul.

Acum, să presupunem că cerința este de a acorda tuturor dreptul de a executa acest fișier. Iată cum se poate face acest lucru:

chmod +x script.sh

Iată permisiunile acum:

„X”-ul suplimentar din permisiunile pentru proprietar, grup și alte persoane semnifică faptul că toată lumea are acum acces de execuție pentru acest fișier.

Totuși, cel mai probabil este să nu doriți ca toată lumea să aibă acces de execuție pentru un fișier. Ce se întâmplă dacă cerința este de a acorda acces de execuție la script.sh doar proprietarului/utilizatorului curent. Ei bine, pentru aceasta, primul pas acum ar fi să retrageți accesul de execuție de la toată lumea, lucru pe care îl puteți face folosind următoarea comandă:

chmod -x script.sh

Și apoi acordă-l explicit proprietarului:

chmod u+x script.sh

După cum ați fi ghicit, „u+x” spune să acorde (+) proprietarului/utilizatorului curent (u) acces de execuție (x) la fișier. În mod similar, pentru grup, puteți folosi „g”, iar pentru alții puteți folosi „o”.

Rețineți că ori de câte ori doriți să acordați/revocați un set comun de permisiuni către/de la toți, puteți folosi „a” în loc de „ugo”. Ceea ce vreau să spun este:

chmod ugo-x script.sh

poate fi înlocuit cu acesta:

chmod ax script.sh

De asemenea, rețineți că, dacă niciuna dintre acestea („u”, „g”, „o” și „a”) nu este specificată explicit, atunci se presupune că și valoarea implicită este „a”. Continuând, dacă doriți, puteți, de asemenea, să copiați pur și simplu permisiunile acordate, de exemplu, proprietarului/utilizatorului curent și să le păstrați pentru grup sau pentru alții. Pentru aceasta, utilizați semnul „=”.

De exemplu, pentru a copia permisiunile de proprietar/utilizator într-un grup, utilizați următoarea comandă:

chmod g=u script.sh

Un alt scenariu ar putea fi copierea permisiunilor pentru un anumit fișier și păstrarea acestora pentru fișierul dvs. Pentru aceasta, utilizați opțiunea de linie de comandă –reference . Iată șablonul general pentru utilizarea acestei opțiuni de linie de comandă:

chmod --reference=[fișier-sursă] [fișier destinație]

În comanda de mai sus, fișier-sursă este fișierul ai cărui biți de permisiune doriți să îi copiați, iar fișier-destinație este fișierul ai cărui biți de permisiune doriți să îi modificați.

Mergând mai departe, există și o notație numerică (cunoscută și sub numele de reprezentare octală) folosind care poți spune lui chmod să modifice permisiunile. Există trei numere cu care te joci în acest mod: 4, 2 și 1. În timp ce 4 este pentru citire, celelalte două sunt pentru scriere și respectiv executare.

De exemplu, luați în considerare următorul exemplu:

Acum, să presupunem că sarcina este de a adăuga permisiunea de execuție pentru proprietar/utilizator, de a elimina permisiunea de scriere, dar de a adăuga permisiunea de execuție grupului și de a elimina toate permisiunile de la ceilalți. Acest lucru se poate face după cum urmează:

chmod 750 script.sh

În comanda de mai sus, „7” este pentru utilizator, rezultatul a 4+2+1, deoarece cerința pentru utilizator este să dețină toate permisiunile. În mod similar, „5” este pentru grup, rezultatul a 4+0+1, deoarece cerința este de a acorda grupului doar permisiuni de citire și execuție. În cele din urmă, „0” este pentru ceilalți, rezultatul a 0+0+0, deoarece cerința este de a revoca toate permisiunile celorlalți.

Pentru cei care lucrează cu linkuri simbolice, iată câteva lucruri de știut:

chmod nu modifică niciodată permisiunile legăturilor simbolice; apelul de sistem chmod nu poate modifica permisiunile acestora. Aceasta nu este o problemă, deoarece 
permisiunile legăturilor simbolice nu sunt niciodată utilizate. Cu toate acestea, pentru fiecare legătură simbolică listată în linia de comandă, chmod modifică permisiunile 
fișierului indicat. În schimb, chmod ignoră legăturile simbolice întâlnite în timpul traversărilor recursive de directoare.

Referință linie de comandă

Comanda chmod din Linux are mai multe opțiuni în linia de comandă care îi modifică comportamentul. Iată o listă cu cele mai frecvent utilizate opțiuni:

  • -R, –recursive: Această opțiune aplică recursiv modificările permisiunilor tuturor fișierelor și directoarelor din directorul specificat. Este utilă atunci când doriți să modificați permisiunile unui director și ale întregului său conținut dintr-o dată.Exemplu: chmod -R 755 /calea/către/director
  • -c, –changes: Această opțiune raportează doar când se face o modificare. Dacă permisiunile sunt modificate cu succes, afișează un mesaj care indică modificarea.Exemplu: chmod -c 644 numefișier
  • -v, –verbose: Această opțiune oferă informații detaliate despre fiecare fișier procesat, indiferent dacă permisiunile au fost modificate sau nu.Exemplu: chmod -v 755 numefișier
  • -reference=RFILE: În loc să specificați direct permisiunile, această opțiune vă permite să setați permisiunile unui fișier sau director pentru a se potrivi cu un alt fișier sau director (RFILE).Exemplu: chmod –reference=file1 file2
  • -f, –silent, –quiet: Această opțiune suprimă majoritatea mesajelor de eroare, făcând comanda să se execute fără a afișa rezultatul pentru erori.Exemplu: chmod -f 755 numefișier

Aceste opțiuni permit utilizarea flexibilă a chmod în diverse scenarii, de la ajustări ale unui singur fișier până la modificări ale permisiunilor directorului la scară largă.

[mai mult...]

Cum găsești și elimini fișiere duplicate în OneDrive

Fișierele duplicate pot apărea în OneDrive atunci când sincronizarea se întrerupe, încarci același fișier de mai multe ori sau există conflicte între dispozitive. Iată metodele eficiente pentru a le identifica și șterge.

1. Verifică manual în OneDrive (Web sau PC)

Pe OneDrive Web

  1. Accesează: https://onedrive.live.com

  2. Folosește bara de căutare și caută după:

    • nume de fișier

    • extensii (ex. .jpg, .docx)

  3. Sortează fișierele după:

    • Nume (pentru a găsi duplicate cu nume similare)

    • Dimensiune

    • Data modificării

  4. Selectează fișierele duplicate → Delete.

Pe PC (Folderul OneDrive)

  1. Deschide File Explorer → folderul OneDrive.

  2. Sortează după:

    • Nume

    • Dimensiune

    • Data modificării

  3. Compară și șterge manual duplicatele.

2. Folosește OneDrive „Manage Storage” (pe web)

  1. Accesează OneDrive Web → clic pe Settings (setări).

  2. Intră la Storage / Stocare.

  3. OneDrive afișează fișiere mari și conținut repetitiv sau similar (mai ales poze).

  4. Revizuiește → șterge duplicatele.

OneDrive nu are un detector automat complet de duplicate, dar ajută la identificarea fișierelor mari sau similare.

3. Elimină duplicatele create de conflictele de sincronizare

Uneori OneDrive creează fișiere de tipul:

  • filename (1).docx

  • filename - ComputerName.docx

  • filename-conflicted copy.docx

Cum să le găsești rapid:

  1. Deschide OneDrive în File Explorer.

  2. În căsuța de căutare introduce:

    * (1).*
    *copy*
    *conflicted*
  3. Verifică → compară → șterge duplicatele.

5. Curățare automată cu PowerShell (util pentru multe fișiere)

(Opțional, doar pentru utilizatori avansați)

Poți rula scripturi PowerShell care caută fișiere duplicate în folderul OneDrive pe baza hash-urilor, asigurând eliminarea exactă a duplicatelor.

[mai mult...]

Cum editezi meniul de pagini (Pages/Menu) în WordPress folosind Avada

Editarea meniului principal de navigare (Header Menu)

1. Deschide editorul de meniuri din WordPress

1. Autentifică-te în panoul de administrare **WordPress**
2. Mergi la:
* Aspect → Meniuri (Appearance → Menus)**

2. Selectează meniul corect

* Din partea de sus, alege meniul asociat cu:

* **Main Menu**
* **Primary Menu**
* sau **Header Menu**
* Apasă **Selectează**

 3. Adaugă pagini în meniu

În partea stângă:

1. Apasă pe **Pagini (Pages)**
2. Bifează paginile dorite
3. Apasă **Adaugă în meniu (Add to Menu)**

 4. Reordonează meniul

* Trage și plasează elementele pentru a schimba ordinea
* Trage ușor spre dreapta pentru a crea:

* **Submeniuri (dropdown-uri)**

 5. Șterge o pagină din meniu

* Apasă săgeata de lângă elementul din meniu
* Apasă **Elimină (Remove)**

6. Salvează modificările

Apasă **Salvează meniul (Save Menu)**

Meniul este acum actualizat pe site.

Editează conținutul unei pagini deja din meniu

Dacă vrei să modifici **conținutul** unei pagini:

1. Mergi la **Pagini → Toate paginile (Pages → All Pages)**
2. Apasă pe numele paginii
3. Editează folosind:

* **Avada Live Builder**
* sau editorul clasic WordPress
4. Apasă **Actualizare (Update)**

⚠️ Acest lucru **nu modifică structura meniului**, doar conținutul paginii.

Setări speciale pentru meniu în Avada (Important)

Dacă meniul nu apare corect sau nu funcționează cum trebuie:

1. Mergi la:
**Avada → Options → Menu**
2. Verifică setări precum:

* Meniu fix (Sticky Menu)
* Meniu mobil (Mobile Menu)
* Mega Menu

(Acestea sunt controale specifice temei **Avada**)

Editarea meniului din subsol (Footer Menu), dacă există

1. Mergi la **Aspect → Meniuri (Appearance → Menus)**
2. Selectează meniul asociat cu:

* **Footer Menu**
3. Editează în același mod
4. Apasă **Salvează**

Probleme frecvente și soluții

| Problemă | Soluție |
| ———————— | —————————————– |
| Modificările nu apar | Șterge cache-ul / reîmprospătează pagina |
| Editezi meniul greșit | Verifică locația meniului (jos în pagină) |
| Meniul mobil este greșit | Avada → Options → Mobile Menu |

[mai mult...]