FUSER(1) Comenzi pentru utilizator FUSER(1) NUME fuser - identifica procesele care utilizeaza fiiere sau socluri REZUMAT fuser [-fuv] [-a|-s] [-4|-6] [-c|-m|-n spaiu_nume] [ -k [-i] [-M] [-w] [-SEMNAL] ] nume ... fuser -l fuser -V DESCRIERE fuser afieaza PID-urile proceselor care utilizeaza fiierele sau sistemele de fiiere specificate. In modul de afiare implicit, fiecare nume de fiier este urmat de o litera care indica tipul de acces: c directorul curent. e executabil in curs de executare. f fiier deschis.. f este omis in modul de afiare implicit. F fiier deschis pentru scriere. F este omis in modul de afiare implicit. r directorul radacina. m fiier alocat cu <> sau biblioteca partajata. . Substituent, omis in modul de afiare implicit. fuser returneaza un cod de returnare diferit de zero daca niciunul dintre fiierele specificate nu este accesat sau in cazul unei erori fatale. Daca a fost gasit cel puin un fiier accesat, fuser returneaza zero. Pentru a cauta procese folosind socluri TCP i UDP, spaiul de nume corespunzator trebuie sa fie selectat cu opiunea -n. In mod implicit, fuser va cauta atat in soclurile IPv6, cat i in soclurile IPv4. Pentru a modifica comportamentul implicit, utilizai opiunile -4 i -6. Soclurile pot fi specificate prin portul local i de la distana i prin adresa de la distana. Toate campurile sunt opionale, dar virgulele din faa campurilor lipsa trebuie sa fie prezente: [port_local][,[gazda_rmt][,[port_rmt]]] nota: rmt = la distana(remote) Putei utiliza fie valori simbolice, fie valori numerice pentru adresele IP i numerele de porturi. fuser afieaza doar PID-urile la ieirea standard, orice altceva este trimis catre ieirea de eroare standard. OPIUNI -a, --all Afieaza toate fiierele specificate in linia de comanda. In mod implicit, sunt afiate doar fiierele care sunt accesate de cel puin un proces. -c La fel ca i opiunea -m, utilizata pentru compatibilitatea cu POSIX. -f Ignorata in tacere, utilizata pentru compatibilitatea cu POSIX. -k, --kill Omoara procesele care acceseaza fiierul. Cu excepia cazului in care este schimbat cu opiunea -SIGNAL, semnalul SIGKILL este semnalul trimis procesului. Un proces fuser nu se omoara pe el insui niciodata, dar poate omori alte procese fuser. ID-ul de utilizator efectiv al procesului care executa fuser este reamplasat cu ID-ul de utilizator real inainte de a incerca sa ucida. -i, --interactive Cere utilizatorului confirmarea inainte de a omori un proces. Aceasta opiune este ignorata in tacere daca opiunea -k nu este deasemeni prezenta. -I, --inode Pentru spaiul de nume fiier, toate comparaiile trebuie sa se bazeze pe nodul-i al fiierelor specificate i niciodata pe numele fiierelor, chiar i pe sistemele de fiiere bazate pe reea. -l, --list-signals Listeaza toate numele semnalelor cunoscute. -m NUME, --mount NUME NUME specifica un fiier pe un sistem de fiiere montat sau un dispozitiv bloc care este montat. Sunt listate toate procesele care acceseaza fiierele din acel sistem de fiiere. Daca este specificat un director, acesta este schimbat automat in NUME/ pentru a utiliza orice sistem de fiiere care ar putea fi montat pe acel director. -M, --ismountpoint Solicitarea va fi indeplinita numai daca NUME specifica un punct de montare. Aceasta este o centura de sigurana nepreuita care va impiedica sa ucidei maina daca NUME se intampla sa nu fie un sistem de fiiere. -w Omoara numai procesele care au acces de scriere. Aceasta opiune este ignorata in tacere daca opiunea -k nu este deasemeni prezenta. -n SPAIU_NUME, --namespace SPAIU_NUME Selecteaza un alt spaiu de nume. Sunt acceptate spaiile de nume fiier (nume de fiiere, implicit), udp (porturi UDP locale) i tcp (porturi TCP locale). Pentru porturi, poate fi specificat fie numarul portului, fie numele simbolic. Daca nu exista ambiguitate, poate fi folosita notaia scurta nume/spaiu (de exemplu, 80/tcp). -s, --silent Funcionare silenioasa. Opiunile -u i -v sunt ignorate in acest mod. Opiunea -a nu trebuie sa fie utilizata cu opiunea -s. -SEMNAL Utilizeaza semnalul specificat in loc de SIGKILL atunci cand omoara procesele. Semnalele pot fi specificate fie dupa nume (de exemplu, -HUP), fie dupa numar (de exemplu, -1). Aceasta opiune este ignorata in tacere daca nu este utilizata opiunea -k. -u, --user Adauga numele de utilizator al proprietarului procesului la fiecare PID. -v, --verbose Modul informaie-detaliata. Procesele sunt afiate intr-un stil asemanator comenzii ps. Campurile PID, UTILIZATOR i COMANDA sunt similare cu cele ale ps. ACCES arata modul in care procesul acceseaza fiierul. Modul informaie-detaliata va afia, de asemenea, cand un anumit fiier este accesat ca punct de montare, export knfs sau fiier de spaiu de interschimb ,,swap". In acest caz, nucleul este afiat in loc de PID. -V, --version Afieaza informaiile despre versiune. -4, --ipv4 Cauta doar socluri IPv4. Aceasta opiune nu trebuie utilizata cu opiunea -6 i are efect doar cu spaiile de nume tcp i udp. -6, --ipv6 Cauta doar socluri IPv6. Aceasta opiune nu trebuie utilizata cu opiunea -4 i are efect doar cu spaiile de nume tcp i udp. FIIERE /proc locaia sistemului de fiiere proc EXEMPLE fuser -km /home omoara toate procesele care acceseaza sistemul de fiiere ,,/home" in orice fel (citire, scriere, creare, .. etc.). if fuser -s /dev/ttyS1; then :; else comanda; fi invoca comanda daca niciun alt proces nu utilizeaza /dev/ttyS1. fuser telnet/tcp afieaza toate procesele de la portul (local) TELNET. RESTRICII Procesele care acceseaza acelai fiier sau sistem de fiiere de mai multe ori in acelai mod sunt afiate o singura data. Daca acelai obiect este specificat de mai multe ori in linia de comanda, unele dintre aceste intrari pot fi ignorate. fuser poate obine doar informaii pariale, cu excepia cazului in care ruleaza cu privilegii. In consecina, fiierele deschise de procese aparinand altor utilizatori pot sa nu fie listate i executabilele pot sa fie clasificate doar ca asociate cu fiierul. fuser nu poate raporta niciun proces pentru care nu are permisiunea de a cauta in tabelul descriptor al fiierului. Cel mai frecvent caz in care apare aceasta problema este atunci cand se cauta socluri TCP sau UDP in timp ce fuser ruleaza ca utilizator non-root. In acest caz, fuser va raporta ca nu exista acces. Instalarea lui fuser cu SUID root va evita problemele asociate cu informaiile pariale, dar poate fi nedorita din motive de securitate i confidenialitate. Spaiile de nume udp i tcp i soclurile de domeniu UNIX nu pot fi cautate cu nuclee mai vechi de 1.3.78. Accesarile de catre nucleu sunt afiate doar cu opiunea -v. Opiunea -k funcioneaza numai asupra proceselor. Daca utilizatorul este nucleul, fuser va afia un sfat, dar nu va lua nicio masura in afara de aceasta. fuser nu va vedea dispozitivele bloc montate de procese intr-un spaiu de nume de montare diferit. Acest lucru se datoreaza faptului ca ID-ul dispozitivului afiat in tabelul descriptor al fiierului procesului provine din spaiul de nume al procesului, nu din cel al <>; adica nu se va potrivi. ERORI fuser -m /dev/sgX va afia (sau va ucide cu opiuneal -k) toate procesele, chiar daca nu avei acel dispozitiv configurat. Pot exista i alte dispozitive pentru care face acest lucru. Opiunea de montare -m se va potrivi cu orice fiier din acelai dispozitiv cu fiierul specificat, utilizai i opiunea -M daca dorii sa specificai doar punctul de montare. fuser nu va potrivi fiierele copiate in memorie, cum ar fi bibliotecile partajate ale unui proces, daca acestea se afla pe un sistem de fiiere btrfs(5) din cauza faptului ca ID-urile de dispozitiv sunt diferite pentru stat(2) i /proc//maps. CONSULTAI I kill(1), killall(1), stat(2), btrfs(5), lsof(8), mount_namespaces(7), pkill(1), ps(1), kill(2). psmisc 02.11.2022 FUSER(1)