Como listar todos os nomes de usuários de FTP usando SSH

4

Eu tenho um servidor CentOS 5.5. Como posso obter uma lista de todos os usuários de FTP no servidor usando o SSH?

    
por SJM 30.06.2011 / 20:06

2 respostas

9

Primeiro de tudo, não importa se você está fazendo isso localmente ou remotamente, já que você terá acesso ao shell durante a sessão aberta de qualquer maneira. Se você quiser apenas executar um único comando na máquina remota e desconectar, você pode especificá-lo entre aspas:

ssh user@machine 'echo "Who's your Daddy?"'

No entanto, você tem poucas opções para listar todos os usuários em um grupo específico:

Usando a ferramenta getent :

getent group ftp

Forma antiga:

grep ^ftp /etc/group

Usando um script caseiro, que você pode adaptar às suas próprias necessidades:

#!/bin/bash

srchGroup="$1"

# get the corresponding line from /etc/group
for thisLine in "'grep "^${srchGroup}:" /etc/group'"
do
  # get the parts of interest 
  grpNumber="'echo ${thisLine} | cut -d":" -f3'"
  grpUsers="'echo ${thisLine} | cut -d":" -f4 | sed 's/,/ /g''"
done

# check /etc/passwd
pwdUsers="'awk -F":" '$4 ~ /'${grpNumber}'/ { printf("%s ",$1) }' /etc/passwd'"

echo "0 ${srchGroup}" # given at commandline
echo "1 ${grpNumber}" # from /etc/group
echo "2 ${grpUsers}"  # from /etc/group
echo "3 ${pwdUsers}"  # from /etc/passwd
echo "All users: ${grpUsers} ${pwdUsers}"
$ ./show.group.users ftp
0 ftp
1 500
2 user1 user2
3 homie1 homie2
All users: user1 user2 homie1 homie2

Este script foi extraído de aqui .

    
por 30.06.2011 / 20:27
0

No centos5, você provavelmente está usando o vsftpd. Consulte Comando para ver usuários conectados no vsftpd?

    
por 30.06.2011 / 23:09

Tags