доступ к ресурсам с помощью С++
Модератор: Fastman
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
доступ к ресурсам с помощью С++
Подскажите каким образом использую С++ можно поиметь доступ к шаре? Сейчас используются скрипты на csh , но есть моменты когда они не весь ф-ционал выполняют.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- ефрейтор
- Сообщения: 61
- Зарегистрирован: 2009-11-27 22:29:58
Re: доступ к ресурсам с помощью С++
А какие проблемы?
Единственное в путь надо дописывать лишении '\'
к примеру "\\serv\mydir\text.txt" запись идёт в путь "\\\\serv\\mydir\\text.txt"
Единственное в путь надо дописывать лишении '\'
к примеру "\\serv\mydir\text.txt" запись идёт в путь "\\\\serv\\mydir\\text.txt"
-
- проходил мимо
Re: доступ к ресурсам с помощью С++
а как быть с авторизацией?Dambo писал(а):А какие проблемы?
Единственное в путь надо дописывать лишении '\'
к примеру "\\serv\mydir\text.txt" запись идёт в путь "\\\\serv\\mydir\\text.txt"
-
- ефрейтор
- Сообщения: 61
- Зарегистрирован: 2009-11-27 22:29:58
Re: доступ к ресурсам с помощью С++
А под какой ОС вы пишите?
Это определяется в API всё таки... в винде CreateFile есть параметр секури и моде...
Это определяется в API всё таки... в винде CreateFile есть параметр секури и моде...
-
- проходил мимо
Re: доступ к ресурсам с помощью С++
Dambo писал(а):А под какой ОС вы пишите?
Это определяется в API всё таки... в винде CreateFile есть параметр секури и моде...
под FreeBSD. Сейчас шары подключаю через SMBCLIENT (sh), но там нет гарантии на успешное копирование, т.е. конструкция:
Код: Выделить всё
if smbclient -U $obmenname $obmen $obmenpass -c "cd in;lcd /fs/ARM1/IN;prompt;mput *"
then echo "YES"
else echo "NO"
fi
-
- проходил мимо
Re: доступ к ресурсам с помощью С++
что значит примапливание может пройти
а mput может не отработать
разложите по частям и докопайтесь до истины
вас бы устроил диагноз в больнице "што то где то болит"
?
а mput может не отработать
разложите по частям и докопайтесь до истины
вас бы устроил диагноз в больнице "што то где то болит"
?
-
- проходил мимо
Re: доступ к ресурсам с помощью С++
Вообщем, если выполнитсяГость писал(а):что значит примапливание может пройти
а mput может не отработать
разложите по частям и докопайтесь до истины
?
Код: Выделить всё
smbclient -U $obmenname $obmen $obmenpass
Код: Выделить всё
-c "cd in;lcd /fs/ARM1/IN;prompt;mput *"
Гость писал(а): вас бы устроил диагноз в больнице "што то где то болит"
?
ну тут как раз вы как врач...и дали именно такой ответ
-
- проходил мимо
Re: доступ к ресурсам с помощью С++
разбить все на два этапа
smbclient монтирует
а потом уже другим действием игратся с mput
если ошибка итд то крутить по кругу
но шара то уже будет примонтирована
-c я ж так понимаю параметр действия после монтирования?
и у смонтированой шары надеюсь приколов типа что то сменилось нет?
шары статически расшарены и не меняются?
тогда все так как я описал вначале
smbclient монтирует
а потом уже другим действием игратся с mput
если ошибка итд то крутить по кругу
но шара то уже будет примонтирована
-c я ж так понимаю параметр действия после монтирования?
и у смонтированой шары надеюсь приколов типа что то сменилось нет?
шары статически расшарены и не меняются?
тогда все так как я описал вначале
-
- проходил мимо
Re: доступ к ресурсам с помощью С++
вот код:
Код: Выделить всё
#!/bin/sh
obmen="//10.96.7.5/obmen"
obmenname="COPER"
obmenpass="18ko0q%"
........................................................................................
if smbclient -U $obmenname $obmen $obmenpass -c "cd in;lcd /fs/ARM1/IN;prompt;mput *"
then echo "YES"
else echo "NO"
fi
.........................................................................................
Так там же нет как такового монтирования, т.е. точки монтирования нет...копирование идет по сетевому пути, разбить на 2 этапа не удастся.Гость писал(а):разбить все на два этапа
smbclient монтирует
а потом уже другим действием игратся с mput
если ошибка итд то крутить по кругу
но шара то уже будет примонтирована
Шара не наша(случай был ... поэтому и вся эта песня)Гость писал(а): -c я ж так понимаю параметр действия после монтирования?
и у смонтированой шары надеюсь приколов типа что то сменилось нет?
шары статически расшарены и не меняются?
тогда все так как я описал вначале
-
- ефрейтор
- Сообщения: 61
- Зарегистрирован: 2009-11-27 22:29:58
Re: доступ к ресурсам с помощью С++
http://ru.wikipedia.org/wiki/SMBГость писал(а):Подскажите каким образом использую С++ можно поиметь доступ к шаре? Сейчас используются скрипты на csh , но есть моменты когда они не весь ф-ционал выполняют.
http://blogs.technet.com/b/josebda/arch ... ndows.aspx
http://msdn.microsoft.com/en-us/library/cc212614.aspx
Или читаться сорцы самба
-
- ефрейтор
- Сообщения: 61
- Зарегистрирован: 2009-11-27 22:29:58
Re: доступ к ресурсам с помощью С++
в msdn со студией минимум информации о smb...
Microsoft SMB Protocol Packet Exchange Scenario
This topic gives an example of a Microsoft SMB Protocol packet exchange between a client and a server. The following steps are an overview of the process:
The client and server establish a NetBIOS session.
The client and server negotiate the Microsoft SMB Protocol dialect.
The client logs on to the server.
The client connects to a share on the server.
The client opens a file on the share.
The client reads from the file.
First, a full-duplex TCP connection is established by the client with the server. Then the client builds and sends a NetBIOS session request packet over the TCP connection. If the packet was formatted correctly, the server then returns a packet that contains a message acknowledging that the session has been established. After this, the client sends the first Microsoft SMB Protocol packets to the server.
Packet 1: SMB_COM_NEGOTIATE
Direction: Client to server
Description: The client requests that the server negotiate the Microsoft SMB Protocol dialect. A list of strings identifying the dialects that the client can work with is included in the packet.
Packet 2: SMB_COM_NEGOTIATE
Direction: Server to client
Description: The server responds to the client's request to identifythe Microsoft SMB Protocol dialect that is going to be used in the session. The returned packet also includes an 8-byte random string that will be used in the next step to authenticate the client during the logon process.
Packet 3: SMB_COM_SESSION_SETUP_ANDX
Direction: Client to server
Description: This packet includes information about client capabilities, so this packet must be sent even if the server has implemented only share-level security.
Packet 3: SMB_COM_SESSION_SETUP_ANDX
Direction: Server to client
Description: If the challenge/response is accepted by the server, a valid UID is included in the packet that is returned to the client. If it is not accepted, the server will return an error code in this packet and deny access.
Packet 4: SMB_COM_TREE_CONNECT_ANDX
Direction: Client to server
Description: The client requests access to the share. The packet contains the fully specified path of the share in UNC format.
Packet 5: SMB_COM_TREE_CONNECT_ANDX
Direction: Server to client
Description: If access to the share is granted, then the server returns the 16-bit tree ID (TID) that corresponds to the share in this packet. If the share does not exist or the user has insufficient credentials to access the share, the server will return an error code in this packet and deny access to the share.
Packet 6: SMB_COM_OPEN_ANDX
Direction: Client to server
Description: The client requests the server to open a file on the accessed share on behalf of the client. This packet contains the name of the file to be opened.
Packet 7: SMB_COM_OPEN_ANDX
Direction: Server to client
Description: If access to the file is granted, then the server returns the file ID of the requested file. If the file does not exist or the user has insufficient credentials to access the file, the server will return an error code in this packet and deny access to the file.
Packet 8: SMB_COM_READ_ANDX
Direction: Client to server
Description: The client requests the server to read data from the opened file on behalf of the client and return this data to the client. The file ID that is obtained by the client when the file was opened is included in this packet in order to identify which opened file the server should read data from.
Packet 9: SMB_COM_READ_ANDX
Direction: Server to client
Description: The server returns the requested file data in this packet. An error here is unlikely given that access to the server, share, and file has been granted. It can happen in some situations, however: for example, if access to a share is changed between the time the file is opened and the time it is read from.
-
- проходил мимо
Re: доступ к ресурсам с помощью С++
Может существует библиотека для работы c ресурсами самбы? Если владеете данной информацией - подскажите.Dambo писал(а):в msdn со студией минимум информации о smb...
- itux
- мл. сержант
- Сообщения: 114
- Зарегистрирован: 2008-11-09 12:37:55
- Откуда: Kemerovo
- Контактная информация:
Re: доступ к ресурсам с помощью С++
Это же не Си++#!/bin/sh
obmen="//10.96.7.5/obmen"
obmenname="COPER"
obmenpass="18ko0q%"
........................................................................................
if smbclient -U $obmenname $obmen $obmenpass -c "cd in;lcd /fs/ARM1/IN;prompt;mput *"
then echo "YES"
else echo "NO"
fi
.........................................................................................

несу чушь, не дорого... звонить +7903.......
- Анна Олеговна
- проходил мимо
- Сообщения: 5
- Зарегистрирован: 2015-10-15 16:02:57
- Откуда: Москва