Shell scriptes feladatban hogy tudok felhasználókat keresni, megmondani be van-e jelentkezve, és hogy melyik terminálon van?
A w parancs, írja ki az éppen bejelentkezett felhasználókat. Példa:
user1@m4schpsrl1c3-g0-0> w
3:51pm up 137 day(s), 21:55, 3 users, load average: 0.60, 0.21, 0.14
User tty login@ idle JCPU PCPU what
user1 pts/1 8:20am 58 w
user1 pts/11 3:44pm 2 /home/user1/program.pl
user2 pts/13 2:26pm 21 ssh 10.224.91.12
Ennek a paracsnak kimenetét kell feldolgoznod, pl ha belerakod egy filéba. Szerintem menni fog.
A regisztrált felhasználókat pedig a finger paranccsal tudod megkeresni ( tehát pl azok akik léteznek a rendszerben, függetlenül attól, hogy be vannak a jelentkezve.
Példa létező user-re:
user1@m4schpsrl1c3-g0-0> finger user1
Login name: user1
Directory: /home/user1 Shell: /usr/bin/tcsh
On since Jul 4 08:20:41 on pts/1 from 10.6.128.198
No unread mail
No Plan.
Login name: user1
Directory: /home/user1 Shell: /usr/bin/tcsh
On since Jul 4 15:44:17 on pts/11 from 10.1.128.168
5 minutes 4 seconds Idle Time
Példa olyan user-re aki nem létezik:
user1@m4schpsrl1c3-g0-0> finger gyakorikerdes
Login name: gyakorikerdes In real life: ???
user1@m4schpsrl1c3-g0-0>
# 2: finger? OMG, 2018 van, ki telepít ma (vagy akár az elmúlt 10-15 évben) fingerd-t? Te hol találtad? :) Valami oktatási célú cuccon?
Kérdező, az említett w-t és a "getent passwd"-t nézd meg.
Gondolom már le kellett adni, de csak az archívum miatt egy lehetséges megoldás Linuxon:
---
#!/bin/bash
if [ "$1" == "" ]; then echo "Kit keresel? Juzert meg kell adni."; exit; fi
getent passwd $1 1>/dev/null
if [ $? -eq 0 ]
then
TTYS=`w -h -s $1 | awk -F " " {'print $2'}`
if [ "$TTYS" != "" ]; then
echo "Ezeken a terminalokon van bent:" ;
echo $TTYS
else echo "$1 nincs bejelentkezve";
fi;
else
echo "Ilyen user nincsen";
fi
---
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!