Вообще поддержка симлинков может быть опасной в такого рода расшареных ресурсах.Это только в пропатченном vsFTPd, там и симлинки работают и функция allow_writeable_chroot=YES есть! Но где скачать такой vsFTPd?
У меня под рукой доступа к настройкам ftp нет, но такое ощущение, что там в конфиге была специальная опция. Могу ошибаться.
Однако общее правило такое. Симлинк нужно делать от корня ftp на папки внутри расшаренной. Нужно избегать линкования на внешние каталоги, поскольку это может вызвать уязвимость (доступ к файлам, к которым вы не планировали давать доступ).В том то и дело, что мне надо дать доступ к определённому катологу, ЗА пределами chroot!
Жесткие ссылки, по идее, должны работать в любом случае.Жёсткие ссылки работают идеально везде.
Ещё есть вариант без симлинков:Но тогда права и там и там будут одинаковые и настроить безопасность будет НЕЛЬЗЯ!
mount --bind /source/dir /destination/dir
И в fstab:Я знаю, что bold.fstab есть в голом андроиде, но где он в Linux?
/source/dir /destination/dir none defaults,bind 0 0
0. Задуматься, зачем это нужно, и найти менее противоестественное решение.Когда был Windows Server, я хотел всё на LDAP, Radius и AD распихнуть и интегрировать LDAP и MySQL. Но коль Windows Server у меня не поддерживается, то решил всё на линуксе настроить и использовать MySQL.
Не оно?Да, оно. я попробую это сделать!
https://myhelpit.ru/index.php?id=163
Это нормально.
просто порты заняты как вариант.Я провёл эксперименты и оказалось, что на порту 80 поднят левый Web сервер (именно Web) и в Putty он определется. Посмотрел через netstat - он имеет PID4. Что за левый Web-сервер?
Порты до 1023-го - доситпны только для root.Это не android, а Linux.
Под каким юзером Вы запускаетесь?Под рутом и с правами sudo.
Все сертификаты бесплатны и валидны.Это понятно.
Сгенерировать сертификат может любой - абсолютно бесплатно.
А если речь идет о чужих системах - нужны сертификаты выданные центрами сертфикакции, которым доверяет системаНу а какой центр сертификации выдаёт их бесплатно?! Чтоб они были валидны и доверенны.
2) Поставить юзеру в качестве шелла скрипт, который делает "screen к_программе" и потом завершается.И куда данный скрипт прописать?!
Но надо помнить, что при таком варианте юзер может законнектиться с пробросом портовЕсли вы говорите про функции двойного назначения ssh, типа проброса портов, прокси, VPN, X11 и NoMachine, то они легко блокируются в sshd_config!
443 порт ssl, и екстрасенсов сдесь нетLet's Encrypt (certbot) проверяет по http, а не по https.
Вы можете использовать самоподписанные сертификаты.Это понятно, но всем пользователям надо сперва зайти по HTTP (ftp), установить сертификаты и только потом зайти по HTTPS (FTPs)! Как этого избежать?!
Утилита certbot имеет ключ --manualПопробую!
Но сомневаюсь, что вам удобно каждые 3 месяца будет менять их, ибо lets ecnrypt выдает их на 90 дней.Ну пусть хоть так, а то на нормальные - денег жалко.
nginx+php+mysqlА apache2+php+mysql нельзя поднять?
зафигачить веб интерфейс, который будет чекать юзера, выполнять команду или запускать прогу на сервере и отдавать челу результатКак? Есть ли инструкция, гайды и файлы по этому?
Вариант 1: прописать в качестве стартового шелла для пользователя эту консольную программу.И тогда при подключении программа будет запускаться, а при разрыве соединения зарываться, а нужно, чтоб она работала всегда! Тогда уж лучше в качестве оболочки прописать screen с этой программой. Но как?
Вариант 2: логика та же, только в .bash_profile делаем вызовПойдёт, но только нужен не запуск самой программы, а Screen'а с ней.
chroot ./
./you_programm
logout
Вариант 3 - отдельный sshd с авторизацией через ldap - рецепта сразу не подскажу, но то, что это возможно - 100%У меня будет аутентификация не через ldap, а через PAM MySQL. И как в таком случае настроить?
Варианты 4 и далее - вариации с докеромЧасто слышу, но что такое Докер?!
Единственный вариант использовать какие-то стороннее ПОА какое именно и как им пользоваться?!
А по хорошему, вместо того, чтобы выдавать пользователю доступ к серверу, делают специальный интерфейс - через веб-сайт, через скрипт, который делает то, что разрешено.Это я планировал спросить в другом вопросе, но коль уж вы предложили, то как это реализовать?
зачем?Надо почитать документацию. Но если вы не занимаетесь серверами, то объясню. В консоли есть команда /pex user - она означает выдать права пользователю, /give - выдать предметы и редкие (премиум вещи), /set - команда для World Edit + World Guard, означает выбор территории.
Погуглите по теме "как настроить chroot для sFTP", чтобы пользователь не мог выйти за пределы домашней папки.Да это у меня уже настроенно и отлично работает! А с правами как?
А зачем донатерам лазить к вам на сервер????В том то и дело, что им нужно запретить выполнение любых Unix команд, неважно bash или zsh. Им надо по SSH получить доступ к консоли сервера, а по sFTP - к его файлам.