Stránka 1 z 1

Access Denied u síťové cesty

Odeslat příspěvekNapsal: 6. 5. 2016 11:34
od Nargon
Ahoj, řeším takový zvláštní problém a už mi hlava nebere proč to tak (ne)funguje. Doufám že mi do toho vnesete trochu světla.

Na windows serveru 2012 mám vlastní aplikaci, která čte nějaký soubor ze síťové cesty. Pokud aplikaci spustím ručně tak proběhne a vše funguje. Jenže aplikace by měla běžet automaticky, tak jsem k tomu použil Plánovač úloh (windows scheduler) a tady se to chová zvláštně.

Pokud mám na první záložce scheduleru nastaveno, aby se úloha spouštěla pouze pokud je přihlášený uživatel, tak to opět funguje a běží. Ale když úlohu přepnu, aby se spouštěla i bez přihlášení uživatele, tak se aplikace spustí, ale jen zaloguje chybu "Access Denied" při přístupu na síťovou cestu. Přitom ve všech případech používám stejný doménový účet. Ta síťová cesta vede na nějaký linuxový stroj, ale přistupuji tam normálně přes klasickou síťovou cestu, tj SAMBA protokol, a tomu by mělo být jedno zda je uživatel přihlášen nebo ne.

Vůbec mi hlava nebere jak je to možné. Tj, že když se aplikace spustí pod přihlášeným uživatelem tak práva jsou, ale když se to pod stejným účtem spustí na pozadí tak už práva nejsou. Jak je něco takového vlastně možné nastavit a kde? Kdybych například někdy chtěl podobného stavu docílit tak ani netuším jak.

Napadá vás něco?

Re: Access Denied u síťové cesty

Odeslat příspěvekNapsal: 6. 5. 2016 14:34
od Milanr1
Nesdělil jsi příslušný text hlášek v Aplikačním logu.
Nemáš ve skriptíku/jobu Plánovače nebo přímo v aplikaci absolutní cestu místo UNC?

Re: Access Denied u síťové cesty

Odeslat příspěvekNapsal: 6. 5. 2016 14:45
od vladimir
Používáš UNC cesty, nebo napřed síťový disk připojuješ nebo máš disk trvale připojený přímo v uživateli a snažíš se ho používat??

Já používám přes plánovač nějaké zálohování. Aby mi to fungovalo i bez spuštěného uživatele, napřed si ten disk v dávkovém souboru připojím:
NET USE O: \\192.168.2.222\adresar heslo /user:uzivatel /persistent:NO
pak spustím zálohování a po skončení použiju
NET USE O: /DELETE
Funguje mi to s přihlášeným i bez přihlášeného uživatele.

Pokud jsi přihlášený a máš disk namapovaný přímo v uživateli, nefunguje to při nepřihlášeném uživateli, protože připojení síťových disků se provádí až po přihlášení uživatele.

Další možný rozdíl (nápad): Netuším, jak je to s automatickým použitím hesla z Windows daného uživatele pro přihlášení k síťovému disku při použití z dávkového souboru při přihlášeném/nepřihlášeném uživateli, nad tím jsem nebádal.
(Já tam to heslo v NET USE mám, protože se přihlašuji úplně jiným heslem, než Windowsovským).

Pokud používáš UNC cestu, tak je to samozřejmě jinak. Já UNC nepoužívám, tedy problémy s UNC neznám.

Re: Access Denied u síťové cesty

Odeslat příspěvekNapsal: 6. 5. 2016 14:51
od JirkaVejrazka
Blba otazka - nemas v tom planovaci uloh preklep v hesle, nebo nejaky prapodivny specialni znak, ktery by mohl delat problemy?

Re: Access Denied u síťové cesty

Odeslat příspěvekNapsal: 6. 5. 2016 14:59
od Nargon
Hláška v logu je přesně:
Kód: Vybrat vše
Access to the path '\\HQS004\HQSDF\HQSDFTR\BU04.txt' is denied.

cestu mám zadanou v UNC formátu: \\HQS004\HQSDF\HQSDFTR\BU04.txt

Co se chyby týče tak to je celkem jasné že nemám práva na soubor. Jen je zvláštní že když to spustí ten stejný účet jen "manuálně" poklepáním na exe tak to funguje a práva mám.

Chybu v hesle vylučuji. Když zadám špatně heslo tak se ta naplánovaná úloha ani neuloží, dokud to heslo nezadám správně. A v heslu mám jen velká, malá písmena a čísla.

P.S. Neptejte se co znamenají ty zkratky v názvech složek. Nemám tušení...

Re: Access Denied u síťové cesty

Odeslat příspěvekNapsal: 6. 5. 2016 15:13
od hunter21
Spravil by som skript, ktory by pred ostartovanim aplikacie najprv vypisal (alebo ulozil do nejakeho logu) kompletne nastavenie environmentu. Porovnanim zrejme dost rychlo prides na to, kde je problem.

Re: Access Denied u síťové cesty

Odeslat příspěvekNapsal: 6. 5. 2016 15:29
od Abox
A v tom planovaci ma ten uzivatel prava na ten adresar..?
Protoze kdyz si treba namapujes nejaky adresar pod uzivatelem, a pak spustis treba CMD jako spravce, tak to mapovani nevidis - protoze to je jiny uzivatel...

Re: Access Denied u síťové cesty

Odeslat příspěvekNapsal: 6. 5. 2016 17:35
od vladimir
Koukám nejsi sám, obdobný problém vidím ve spojitosti se Serverem 2012 na dalších fórech (http://serverfault.com/questions/606891 ... ng-program , https://community.spiceworks.com/topic/ ... d-unc-path ) - s přihlášeným uživatelem UNC cesty fungují, bez něj ne - bohužel bez řešení. Tedy to asi bude obecný problém související nějak se zabezpečením.

Napadá mne možná blbost: DisableUNCCheck máš aktivované? Bez toho by UNC asi nešlo používat v dávkách vůbec, ale možná v 2012 změnili bezpečnostní politiku?

Re: Access Denied u síťové cesty

Odeslat příspěvekNapsal: 8. 5. 2016 06:21
od Nargon
@vladimir: Mno jsem rád že nejsem sám. Alespoň vím že se to tak obecně chová a není to jen chyba u mě. Jedná se .NET aplikaci, takže žádná dávka a tam asi tyhle parametry nemají efekt. Jinak co se týče mapování disku, tak můžu vyzkoušet udělat si dávku, kde si disk namapuji, spustím mojí aplikaci na cestu s písmenem a pak zase mapovaní smažu, ale vím že to nebudu moci použít pro finální řešení. Mít heslo uložené jen tak v plaintextu z bezpečnostních důvodu nepůjde.

@Abox: Ano uživatel má práva na adresář.

@hunter21: Dobrý hint, to můžu vyzkoušet. Jen doufám že nezjistím například to, že ten plánovač ignoruje nastavený uživatelský účet a spouští aplikaci pod systémovým účtem. Protože ten opravdu na tu síťovou cestu práva nemá.

Mě zatím napadlo řešení, že bych v plánovači nechal spouštění jen když je uživatel přihlášený, současně nastavil automatické přihlášení uživatele do windows, a do logon skriptu (nebo možná další úlohy plánovače) bych zadal spuštění: "rundll32.exe user32.dll, LockWorkStation" což uživatele ihned uzamkne, aby někdo bez znalosti hesla tam nemohl něco dělat.
Sice mi to připadá jako drbání se za levým uchem způsobem, že řeknu kamarádovi vpravo, aby mě podrbal. Ale mohlo by to být dostatečně akceptovatelné řešení.

Re: Access Denied u síťové cesty

Odeslat příspěvekNapsal: 8. 5. 2016 08:54
od vladimir
Mít heslo uložené jen tak v plaintextu z bezpečnostních důvodu nepůjde:
pokud se přihlašuješ k tomu linuxu stejným heslem, jako má uživatel Windows, tak tam to heslo uložené mít (předpokládám) nemusíš.

Re: Access Denied u síťové cesty

Odeslat příspěvekNapsal: 8. 5. 2016 09:39
od Milanr1
Hesla jsou uložená šifrovaně.
Viz Vault.