Товарищи! Друзья!К чему я это? К тому, что иногда нет никакой возможности защититься от всякого нехорошего барахла. Просто я устал и хочу занести то, что сделал в дневник, чтобы потом было куда подсмотреть.
На пол срать нельзя!
Для этого есть яма.
Держите жопу прямо.
Значит, задача: организовать sftp - сервер для замены сетевой шары. Так.
Создадим пользователя без хомяка:
useradd -d /dev/null -M -s /bin/fish userНу и пароль ему какой-нибудь придумаем:
passwd userЭто очень круто! Теперь не будет ещё одного гада, который гадит на диск. Но куда-то ему таки надо изливать то, что у него накопилось. Я вообще говоря, так сделал, потому что замучился переносить home. Он отчего-то дико косячил и мне это надоело. Поэтому я просто сделал автоматическое подключение диска и оно заработало, а вот хомяк чего-то никак не хотел. Но это фигня.
Дальше надо создать папку, которую хотим юзануть. Что-нибудь вроде
mkdir /media/diskex/; mkdir /media/diskex/userНу и назначим минимальные права. Это будет правильно. Не люблю, когда что-то делается помимо моей воли.
chown -R root:root /media/diskex/user; chmod -R 700 /media/diskex/user; chown -R user:user /media/diskex/user; chmod -R 770 /media/diskex/user
Круть! Теперь надо бы поправить файлик
mcedit /etc/ssh/sshd_configИ в него уже в конце дописать что-то вроде
Здесь, как видно, пользователей может туда ходить два и с разными именами. Если это, конечно, надо и вы создадите ещё и второго пользователя, повторив предыдущие шаги. При этом они никак не смогут лазать в папки, которые им не принадлежат и это тоже очень круто. Только те, что совпадают с их именами. По сути, это их хомяки (для умных /home).Subsystem sftp /usr/lib/openssh/sftp-serverMatch user userChrootDirectory /media/diskex/ForceCommand internal-sftpAllowTcpForwarding noMatch user user2ChrootDirectory /media/diskex/ForceCommand internal-sftpAllowTcpForwarding no
Это всё, безусловно весело и интересно и вы уже поняли, что надо было удалить вот такую фигню:
#Subsystem sftp /usr/lib/openssh/sftp-server
Вот теперь уже всё хорошо и мы можем сделать последний штрих, который в нормальных системах выглядит так:
service ssh restartТеперь можно радоваться и любоваться результатом. Косяк, конечно есть. И он в том, что люди-то будут видеть чужие хомяки, только войти в них не смогут, а это может породить желание это сделать. Ибо раз закрыто и не пускают, значит что-то скрывают, но вот прямо сейчас я не знаю как можно было бы их скрыть и убрать куда дальше.