Fuser: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Ppopova (talk | contribs)
No edit summary
Ppopova (talk | contribs)
No edit summary
Line 96: Line 96:
====Võti -n [http://www.thegeekstuff.com/2012/02/linux-fuser-command/] ====
====Võti -n [http://www.thegeekstuff.com/2012/02/linux-fuser-command/] ====


Võtme  -n abil kasutaja saab uurida protsesse, mis kasutavad   TCP/UDP pordid.
Võtme  -n abil saab uurida protsesse, mis kasutavad TCP/UDP pordid.
<pre>
<pre>
# fuser -v -n tcp 2345
# fuser -v -n tcp 2345
Line 102: Line 102:
2345/tcp:            fiber     22927 F....  h_socket.pl
2345/tcp:            fiber     22927 F....  h_socket.pl
</pre>
</pre>
Käsuga fusere -n saab näha et protsess, mis  kasutab  TCP pordi 2345, on avanud kirjutamisõigusega faili.
Käsuga # fuser -n saab näha et protsess, mis  kasutab  TCP pordi 2345, on avanud kirjutamisõigusega faili.


====Võti -m====
====Võti -m====

Revision as of 20:03, 1 November 2016

Sissejuhatus

Antud artikkel on kirjutatud "Operatsioonisüsteemide administreerimine ja sidumine" aine raames eesmärgiga anda ülevaade Linux/Unixi põhistes operatsioonisüsteemides kasutatavast käsust fuser. Fuser on hea abimees Linux süsteemi administreerimisel, kuna ta võimaldab uurida protsesse, mis mingit faili on avanud või mingit failisüsteemi kasutavad. Samuti käsk fuser võimaldab tuvastada protsessi omanikku ja juurdepääsu liiki. [1]

Käsu format ja võtmete kirjeldused [2] [3]

# fuser [options] [file|socket]
# fuser [options] -SIGNAL [file|socket]
# fuser -l 

Mõned fuser võtmed:

  -a,--all              näitab kõik failid 
  -i,--interactive      küsib kinnitust enne protsessi tapmist (ei toimi ilma -k)
  -k,--kill             tapab protsessi, mis kasutab antud faili
  -l,--list-signals     näitab kõik teadaolevad signaalide nimed
  -m NAME, --mount NAME NAME nõuab failinimi. Võti-m näitab kõik protsessid, mis on     
                        failisüsteemis (kuhu kuulub NAME fail) faile avanud. 
  -u,--user             näitab protssesi omanikku
  -v,--verbose          kirjeldad protsessi detailselt
  -w,--writeonly        tapab ainult kirjutamisõigusega protsesse
  -V,--version          kuvab  versiooni infot

Täpsemat infot fuser parameetrite kohta leiad terminalist käsuga:

$  man fuser

Mõned näited

Kui kasutad fuser tavakasutajana, siis reeglina näed ainult need ptosessid, mis on sinu kodukataloogis faile avanud. Kui fuser kasutada root kasutaja (superuser) õigustega, siis saad uurida ka neid protsesse, mis on teiste kasutajate kodukataloogides faile avanud [4].

Sisestades terminali fuser käsku ilma täiendava parameetrita kuvatakse kasutajale protsessise ID-id, mis kasutavad tema töökausta (vt. Joonis 1).[5]

$  fuser 
$  fuser /home/.........
Joonis 1. Protsessid

Numbrid tähistavad protsessi ID. Nägu näha jooniselt 1 iga protsessi ID-le järgneb täht, mis näitab kuidas antud protsess kasutab faili, teiste sõnadega täht iseloomutsab juurdepääsu liiki [6]


Täht Seletus
c tähendab et protsess kasutab faili kui aktiivset kausta
e tähendab et protsess kasutab faili kui .exe fail
r tähendab et protsess kasutab faili kui root kausta.
s tähendab et protsess kasutab faili kui jagatud teeki

Joonisel 1 „c” näitab et protsessid kasutavad kasutaja student kodukataloogi kui aktiivset kausta.


Võti -v,--verbose

Võti -v kirjeldab kirjeldab detailselt protsesse, mis mingit faili on avanud või mingit failisüsteemi kasutavad.

$ fuser -v

Nagu näidatud alltoodud joonisel 2 terminalis kuvatakse töökausta nimi, kasutaja nimi, protsessi id (PID), juurdepääsu liik (ACCESS) ja protsessi nimi. [7]

Joonis 2. Protsesside detailne kirjeldus

Nii näiteks saab teada kogu info protsseside kohta, mis kasutavad sinu töökausta.


Võti -k ja -i [8]

Parameeter -k kasutatakse, kui vaja tappa protsessi, mis kasutab failisüsteemi. Selleks, et vältida kogemata protsessi tapmist, tasub kasutada lisaks ka parameeter -i. Kui kasutatakse mõlemad võtid („-k” ja „-i” ), siis enne protsessi tapmist küsitakse kasutaja käest kinnitust.

$ fuser -v -k -i socket_serv
                      USER        PID ACCESS COMMAND
socket_serv:         himanshu   5643 ...e.   socket_serv
Kill process 5643 ? (y/N) y

Kasutades parameetrid -k and -i kasutaja saab oma valikul tappa protsessi, mis on migit faili avanud.

Võti -n [9]

Võtme -n abil saab uurida protsesse, mis kasutavad TCP/UDP pordid.

# fuser -v -n tcp 2345
                     USER        PID ACCESS COMMAND
2345/tcp:            fiber     22927 F....  h_socket.pl

Käsuga # fuser -n saab näha et protsess, mis kasutab TCP pordi 2345, on avanud kirjutamisõigusega faili.

Võti -m

Võti -m kasutatakse fuser käsuga et leida kõik protsessid, mis on avanud faili konkreetses failisüsteemis, mille hulka antud fail kuulub. Võti -m on hea abivahend, kui soovid teda mis protsessid on vaja ära tappa. Terminalisse sisestakse käsk fuser - m koos faili nimega.

root@exampleuser-X55CR:~# fuser -v -m example.txt 
                     USER        PID ACCESS COMMAND
/root/example.txt:   root     kernel mount /
                     root          1 Frce. init
                     root          2 .rc.. kthreadd
                     root          3 .rc.. ksoftirqd/0
                     root          6 .rc.. migration/0
                     root          7 .rc.. watchdog/0
                    [...]
The -m option is very useful, especially when used to discover processes accessing a file system with the intetion of identifying which process to kill.

The following command displays all processes accessing filesystem on which ‘example.txt’ resides. See carefully how the -m option is used with the fuser utility. Võtme -m abil saab uuridaNext, you can determine kuvab protsessi mis mingi faili on vanaudwhich processes are accessing your ~.bashrc file like so:

Joonis 3.

Võti -v tagab detailset kirjedust ja võti -m kuvab kõikide protsesside nimed, mis antud failisüsteemi kasutavad. The option, -m NAME or --mount NAME means name all processes accessing the file NAME. In case you a spell out directory as NAME, it is spontaneously changed to NAME/, to use any file system that is possibly mounted on that directory.6


Autor

Polina Popova
AK21
november 2016


Kasutatud kirjandus

http://www.computerhope.com/unix/fuser.htm

http://www.thegeekstuff.com/2012/02/linux-fuser-command/

https://www.digitalocean.com/community/tutorials/how-to-use-the-linux-fuser-command

https://sites.ualberta.ca/dept/chemeng/AIX-43/share/man/info/C/a_doc_lib/cmds/aixcmds2/fuser.htm

http://www.tecmint.com/learn-how-to-use-fuser-command-with-examples-in-linux/

http://fibrevillage.com/sysadmin/277-fuser-command-examples-on-linux https://linux.die.net/man/1/fuser