Кажется, что вы спрашиваете, возможно ли это и как изменить/настроить разрешения на машине Solaris.
Приведенные здесь шаги могут изменяться в зависимости от версии Solaris и конкретных настроек, которые имеют ваша среда.
Эти шаги предоставляются без каких-либо гарантий, и вы никогда не должны следовать советам безопасности или шагам «вслепую» о том, как настроить безопасность системы, за которую вы отвечаете, только потому, что вы нашли ответ онлайн (даже в стеке переполнение), убедитесь, что вы понимаете и проверяете каждую отдельную строку, показанную здесь, перед ее применением в производственную систему.
На стороне сервера, в зависимости от имеющейся у вас версии Solaris, необходимо выполнить следующие шаги.
Эта процедура настраивает каталог sftponly, созданный специально для SFTP переводов. Пользователи не могут видеть файлы или каталоги вне каталога передачи.
Все следующие шаги выполняются с помощью роли root. ,
На сервере Secure Shell создайте изолированный каталог как среду chroot.
# groupadd sftp
# useradd -m -G sftp -s /bin/false sftponly
# chown root:root /export/home/sftponly
# mkdir /export/home/sftponly/WWW
# chown sftponly:staff /export/home/sftponly/WWW
В этой конфигурации/экспорт/главный/sftonly это каталог корневого, что только корневая учетная запись имеет доступ. У пользователя есть разрешение на запись в подкаталог sftponly/WWW.
На сервере настройте блок соответствия для группы sftp.
В файле/и т.д./SSH/sshd_config, найдите запись подсистемы SFTP и изменить файл следующим образом:
# pfedit /etc/ssh/sshd_config
...
# sftp subsystem
#Subsystem sftp /usr/lib/ssh/sftp-server
Subsystem sftp internal-sftp
...
## Match Group for Subsystem
## At end of file, to follow all global options
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
Вы можете использовать следующие переменные, чтобы указать путь CHROOT:
% h - Задает домашний каталог.
% u - Указывает имя пользователя аутентифицированного пользователя.
%% - Сбрасывает знак%.
На клиентском убедитесь, что конфигурация работает правильно.
Файлы в вашей среде chroot могут отличаться.
[email protected]:~# ssh [email protected]
This service allows sftp connections only.
Connection to server closed. No shell access, sftp is enforced.
[email protected]:~# sftp [email protected]
sftp> pwd sftp access granted
Remote working directory: /chroot directory looks like root directory
sftp> ls
WWW local.cshrc local.login local.profile
sftp> get local.cshrc
Fetching /local.cshrc to local.cshrc
/local.cshrc 100% 166 0.2KB/s 00:00user can read contents
sftp> put /etc/motd
Uploading /etc/motd to /motd
Couldn't get handle: Permission denieduser cannot write to/directory
sftp> cd WWW
sftp> put /etc/motd
Uploading /etc/motd to /WWW/motd
/etc/motd 100% 118 0.1KB/s 00:00user can write to WWW directory
sftp> ls -l
-rw-r--r-- 1 101 10 118 Jul 20 09:07 motdsuccessful transfer
sftp>
Это было взято из этого документа
https://docs.oracle.com/cd/E36784_01/html/E37125/sshuser-18.html
Мы не можем ожидать, чтобы знать, как разрешения установлены в новой среде. Это может взорваться, или ... это может сработать. Вы должны попробовать использовать свой код. Если это сработает, удалите этот вопрос Q. Если он не работает, обновите Q с сообщениями об ошибках, которые вы получите. Удачи. – shellter
Ошибка SQLState = S1000, NativeError = 0. В принципе SQL Server не может подключиться к серверу, использующему Solaris. То, о чем я прошу, - это то, о чем вы меня спрашиваете, используя SFTP, как я могу настроить разрешения, которые используют соединение с минус -T (доверенным). Каковы некоторые параметры для настройки этих разрешений. – MilesMorales
Вы пробовали использовать telnet или ftp-клиент из FileZilla, например, для проверки соединения и разрешений.Как только вы можете сделать это вручную, это должно быть более простым, чтобы сделать это prrogramatically –