Назад | Перейти на главную страницу

Как вывести список всех имен пользователей FTP с помощью SSH

У меня есть сервер CentOS 5.5. Как я могу получить список всех пользователей FTP на сервере с помощью SSH?

Прежде всего, неважно, делаете ли вы это локально или удаленно, поскольку у вас в любом случае будет доступ к оболочке во время открытого сеанса. Если вы хотите просто выполнить одну команду на удаленном компьютере и отключиться, вы можете указать ее в кавычках:

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

Тем не менее, у вас есть несколько вариантов для перечисления всех пользователей в определенной группе:

С помощью getent инструмент:

getent group ftp

Старомодный способ:

grep ^ftp /etc/group

Используя сценарий домашнего приготовления, который вы можете адаптировать к своим потребностям:

#!/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

Этот сценарий был скопирован из Вот.

В centos5 вы, вероятно, используете vsftpd. Видеть Команда для просмотра вошедших пользователей в vsftpd?