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

Я делаю видео к> 500k люди в день и что Вы планируете с банкротом Вас или завершали работу Вашей хостинговой компании Ваш сайт в течение дней - скорее всего, оба.

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

Из интереса Вы собирающийся иметь большее довольное пул, чем Ваш cache/s? если не, на что Ваша дисковая случайная производительность чтения собирается быть похожей? Если необходимо было так или иначе распространить загрузку 5k равномерно за период 24 часов (и это ДЕЙСТВИТЕЛЬНО не, что произойдет), это - все еще 4 x 1.6MB/sec, Вам требуется к серверу... последовательно... когда-либо минуту каждого дня... без дрожания - настоящая трудная задача для одного или двух дисков SATA.

О, и Antoine прав, 400 МБ в течение 4 минут почти точно десять раз скорость передачи, которую я поставляю, действительно ли Вы уверены, что это правильно?

4
задан 30 June 2011 в 21:06
2 ответа

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

0
ответ дан 3 December 2019 в 02:46

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

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

Этот сценарий, разорванный отсюда.

9
ответ дан 3 December 2019 в 02:46

Теги

Похожие вопросы