First I did
ps -aux | grep ftp
and did not find в running ftp of any kind. гm interested in turning up an FTP service on my Ubuntu 15.04 running on my laptop. I am aware of ftp
, sftp
, and vsftpd
packages but гm confused about which to install on my laptop. Ultimately I wish to ftp into my laptop from another laptop to get and удар в лунку поля. Which ftp package should I install on my laptop?
Можно хотеть добавить больше чем 1 пользователя, и процесс (для меня) может быть утомительным, таким образом, я создал сценарий, чтобы сделать это для меня. nano ~/add_ftp_user.sh
и вставка следующее:
#!/bin/sh
#Loosely based on https://45squared.com/setting-sftp-ubuntu-16-04
if [ "$EUID" -ne 0 ]
then echo "Please run as root"
exit
fi
CONFIG_FILE="/etc/ssh/sshd_config"
echo Enter the username to create:
read USERNAME
echo Creating user ${USERNAME}...
adduser ${USERNAME}
usermod -aG www-data ${USERNAME}
echo Setting folder permissions...
mkdir -p /var/www/html/${USERNAME}
chown -R ${USERNAME}:www-data /var/www/html/${USERNAME}/
echo Editing config file ${CONFIG_FILE}...
echo ' ' | tee -a ${CONFIG_FILE}
echo '# Created by add_ftp_user.sh script on +%Y-%m-%d' | tee -a ${CONFIG_FILE}
echo Match User ${USERNAME} | tee -a ${CONFIG_FILE}
echo 'ChrootDirectory /var/www/html/'${USERNAME} | tee -a ${CONFIG_FILE}
echo 'X11Forwarding no' | tee -a ${CONFIG_FILE}
echo 'AllowTcpForwarding no' | tee -a ${CONFIG_FILE}
echo 'AllowAgentForwarding no' | tee -a ${CONFIG_FILE}
echo 'ForceCommand internal-sftp' | tee -a ${CONFIG_FILE}
echo 'PasswordAuthentication yes' | tee -a ${CONFIG_FILE}
echo Restarting sshd service...
service sshd restart
echo Done
Это создаст нового пользователя, и они могут войти в yourserver.com
через SFTP (который отображается на /var/www/html/{username}
на Вашем сервере), и они видят файлы по телефону https://www.yourserver.com/{username}
.
, Если Вы не хотите других людей, видящих файлы, изменяете строку, таким образом, это читает: chown -R ${USERNAME}:${USERNAME} /var/www/html/${USERNAME}/
От krizna.
Безопасный FTP (SFTP) является Вашим лучшим выбором. Вот то, что необходимо сделать (просто подведение его итогов от связанного веб-сайта):
пакет openssh-сервера Установки:
sudo apt-get install openssh-server
Создают новую группу ftpaccess для пользователей FTP:
sudo groupadd ftpaccess
Теперь вносят изменения в этом/etc/ssh/sshd_config файле.
В» Находят и комментируют ниже строки
Subsystem sftp /usr/lib/openssh/sftp-server
и Добавляют эти строки в конце файла.
Subsystem sftp internal-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Перезапуск sshd сервис:
sudo service ssh restart
ниже шагов должен сопровождаться при создании Пользователей для sftp доступа:
a. Создайте пользователя john с ftpaccess группой и оболочкой/usr/bin/nologin:
sudo useradd -m john -g ftpaccess -s /usr/sbin/nologin
sudo passwd john
b. Владение изменения для корневого каталога:
sudo chown root /home/john
c. Создайте папку в корневом каталоге для записи и владения изменения той папки:
sudo mkdir /home/john/www
sudo chown john:ftpaccess /home/john/www
Теперь попытка подключить сервер с помощью SFTP (порт: 22), и makesure Пользователи могут загрузить файлы на www каталог и не могут получить доступ к другим папкам вне корневого каталога.
, Если Вы хотите использование и FTP и SFTP вместе, выполните выше шагов (шаг 5) при создании пользователей. Для существующих пользователей переместите их к ftpaccess группе и создайте изменения владения и структура папок как указано ниже:
sudo usermod john -g ftpaccess -s /usr/sbin/nologin
sudo chown root /home/john
sudo mkdir /home/john/www
sudo chown john:ftpaccess /home/john/www