Увод
Одређени сценарији захтевају да креирате кориснике са приступом за читање и писање у једном директоријуму само преко ФТП-а. Овај текст ће вам показати како да креирате такве кориснике. Неће моћи да се крећу изван свог матичног директоријума, да се пријаве на сервер преко ССХ-а или да извршавају команде љуске.
Подесите СФТП групу и услугу
Креирајте сфтпусерс групу.
sudo groupadd sftpusers
Коментирајте поставку која онемогућава СФТП приступ из ссхд конфигурационе датотеке.
sudo sed -i "s/Subsystem sftp \/usr\/lib\/openssh\/sftp-server/#Subsystem sftp \/usr\/lib\/openssh\/sftp-server/" /etc/ssh/sshd_config
Отворите конфигурациону датотеку ссхд sudo nano /etc/ssh/sshd_config, додајте је испод исјечка и изађите (Цтрл+Кс -> И -> Притисните Ентер) .
#enable sftp
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h #set the home directory
ForceCommand internal-sftp
X11Forwarding no
AllowTCPForwarding no
PasswordAuthentication yes
Поново покрените ссх.
sudo service ssh restart
Креирање корисника
Поновите поступак у наставку за сваког корисника само за СФТП којег желите да додате на сервер.
# create user
sudo adduser sftpuser1
# prevent ssh login & assign SFTP group
sudo usermod -g sftpusers sftpuser1
sudo usermod -s /bin/nologin sftpuser1
# chroot user (so they only see their directory after login)
sudo chown root:sftpuser1 /home/sftpuser1
sudo chmod 755 /home/sftpuser1
sudo mkdir /home/sftpuser1/uploads
sudo chown sftpuser1:sftpuser1 /home/sftpuser1/uploads
sudo chmod 755 /home/sftpuser1/uploads
Можете убрзати креирање корисника тако што ћете умотати горе у функцију и додати је у свој басхпрофил тако што ћете (1) покренути sudo nano ~/.bash_profile; (2) додавање исечка испод; (3) трчање source ~/.bash_profile.
Након тога, креирање новог СФТП корисника постаје једноставно као и покретање команде create_sftp_userзаједно са корисничким именом као његовим параметром.
# usage: create_sftp_user <username>
function create_sftp_user() {
# create user
sudo adduser $1
# prevent ssh login & assign SFTP group
sudo usermod -g sftpusers $1
sudo usermod -s /bin/nologin $1
# chroot user (so they only see their directory after login)
sudo chown root:$1 /home/$1
sudo chmod 755 /home/$1
sudo mkdir /home/$1/uploads
sudo chown $1:$1 /home/$1/uploads
sudo chmod 755 /home/$1/uploads
}
Тестирајте да бисте били сигурни да се корисник којег сте креирали може повезати са сервером преко СФТП-а ( Напомена : Повежите се помоћу СФТП- а а не ФТП-а) .
Написао Лами Адабониан