Имя: Пароль:
IT
 
Пути к шарам в Linux из 1с
0 stonewolf
 
11.08.15
14:38
Доброго, камрады. Вот хочется из 1с почитать файлики на шаре, однако odin's'ass пути к шарам типа "net://" и "smb://" не жрёт, а монтировать это руками не комильфо. Подумал делать временный маунт в темпах, а потом чистить. Но оно хочет пароль, есессно. Т.е. надо править sudoers, что тоже "ниочинь". Больше вменяемых вариантов нет?
1 ДенисЧ
 
11.08.15
14:46
а шо, этот ваши лайнух через unc не понимает?
2 stonewolf
 
11.08.15
14:53
он-то понимает. одинэз, зараза, не хочет.
3 ДенисЧ
 
11.08.15
14:53
что значит - не хочет?
4 stonewolf
 
11.08.15
14:54
1с файлов не видит. Насколько я понял, она в начале неявно дописывает "file://"
5 18_plus
 
11.08.15
14:55
а чо, в линухе уже можно лазить по несмонтированным разделам?
6 stonewolf
 
11.08.15
14:56
мож чего поставить надо?
7 ДенисЧ
 
11.08.15
14:57
(6) ящик пива админу нужно поставить ))
8 stonewolf
 
11.08.15
14:57
ну есть же неявное монтирование. х.з. что там у 1с внутрях творится. всякие thunarы с кокверорами же могут.
9 stonewolf
 
11.08.15
14:58
(7) эт я для себя пока балуюсь ))
10 Garikk
 
11.08.15
14:58
ибо нефиг в православном линухе богомерзкий нетбиус использовать
11 ДенисЧ
 
11.08.15
14:58
А когда ты конкверором открываешь, он у теб япароль не спрашивает?
12 stonewolf
 
11.08.15
14:59
(11) ему sudo ж не нужен. а у шары пароля нет
13 stonewolf
 
11.08.15
15:01
вот мож чего поставить надо, чтобы ТекстовыйДокумент мог открыть напрямую "//srv/shara/shnyaga.txt"?
14 stonewolf
 
12.08.15
15:17
Вопчем, сделал пока так:

в sudoers добавил разрешения на mount/umount
в 1с вот такую фигню:

Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    шара=ПодключитьШару("//192.168.тыры.пыры/шара");
    т=новый ТекстовыйДокумент;
    т.Прочитать(шара+"/файлег.txt");
    УдалитьШару(шара);
    
КонецПроцедуры

Функция ПодключитьШару(путь,логин="guest",пароль="guest")
    
    КаталогШары=ПолучитьИмяВременногоФайла("");
    
    лог=" 2>> /tmp/1c_log";
    ЗапуститьПриложение("mkdir "+КаталогШары+лог,,истина);
    ЗапуститьПриложение("sudo mount "+путь+" "+КаталогШары+" -o username="+логин+",password="+пароль+лог,,истина);
    
    Возврат КаталогШары;
    
КонецФункции//    

Процедура УдалитьШару(шара)
    
    ЗапуститьПриложение("sudo umount "+шара+" 2>> /tmp/1c_log",,истина);
    ЗапуститьПриложение("rmdir "+шара+" 2>> /tmp/1c_log");
    
КонецПроцедуры//    УдалитьШару(шара)

Процедура ОчиститьШары()
    
    СписокШар=ПолучитьИмяВременногоФайла();
    КомандаСистемы("(ls /tmp | grep -E 'v8_\w+_\w+$') > "+СписокШар+" 2>> /tmp/1c_log");
    
    т=новый ТекстовыйДокумент;
    т.Прочитать(СписокШар);
    Для к=1 По т.КоличествоСтрок() Цикл
        шара="/tmp/"+т.ПолучитьСтроку(к);
        УдалитьШару(шара);
    КонецЦикла;
    ЗапуститьПриложение("rm "+СписокШар);
    
КонецПроцедуры//    ОчиститьШары

Процедура Кнопка1Нажатие(Элемент)
    ОчиститьШары();
КонецПроцедуры

Как-то так... Вооот. У кого мысли есть годные по этому поводу?
15 stonewolf
 
12.08.15
15:19
Через КомандуСистемы рандомно ошибку выдавал, поэтому заменил на ЗапуститьПриложение
16 18_plus
 
12.08.15
15:29
а чо бы в fstab не прописать и забыть?
17 Asmody
 
12.08.15
15:30
Использовать autofs http://linuxoid.in/Autofs
18 stonewolf
 
12.08.15
16:22
(16)
1. патамушта шары могут быть разные и появляться новые
2. ибо привязываться к одному локальному пути на разных машинах имхо не комильфо

(17) Чёт 1с не цепляет его...
Основная теорема систематики: Новые системы плодят новые проблемы.