Usuários de rede com problemas com aplicativos - possível problema de permissão

2

Notamos algumas esquisitices em que alguns aplicativos não funcionam adequadamente para usuários com contas de rede existentes [mas, consulte a seção "Comparação de usuários", pois eles trabalham com uma conta de rede de teste].

Problemas do aplicativo

Adobe Bridge CS3

Por exemplo, quando eu executo o Adobe Bridge CS3 como um usuário de conta de rede existente, aparecem caixas de diálogo que dizem:

The operation could not be completed.
A file or directory already exists with the same name.

seguido por um que diz:

The operation could not be completed.

Ele não coloca nada útil no log do sistema (como "arquivo ou diretório já existe com o mesmo nome"). Eu comparei os resultados de log com a execução como um administrador local e um usuário de rede de teste, e está fazendo algumas cópias engraçadas:

Jul 20 08:55:23 Master-2009-07-54 [0x0-0x45045].com.adobe.bridge2[1457]: mv: rename /Applications/Adobe Bridge CS3/Bridge CS3.app/Contents/Resources/de.lproj/Adobe Bridge Opener Preferences.xml to /Applications/Adobe Bridge CS3/Bridge CS3.app/Contents/Resources/de.lproj/Adobe Bridge Opener Preferences_de.xml: Permission denied
Jul 20 08:55:23 Master-2009-07-54 [0x0-0x45045].com.adobe.bridge2[1457]: cp: /Applications/Adobe Bridge CS3/Bridge CS3.app/Contents/Resources/de.lproj/Adobe Bridge Opener Preferences.xml: Permission denied

é melhor descrito como inexplicável.

Adobe Photoshop Elements (6)

Quando executado como um usuário da conta de rede existente, ele exibe uma caixa de diálogo que diz:

Could not synchronize the color settings because of a program error.

Google Earth

Could not create directory: /Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents/CES_Grade_03/------wild-/Library Earth

[presumivelmente, supõe-se que haja mais algum texto que tenha saído do lado do diálogo, entre 'Biblioteca' e 'Terra'.]

Da próxima vez que tentei executá-lo, recebi o seguinte:

Google Earth could not write to the current cache or myplaces file location. The values will be set as follows:

My Places Path: "/Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents/CES_Grade_03/--- Cache Path: "/Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents/CES_Grade_03/------w

[novamente, o texto passou do final do diálogo]

O Google Earth tem isto a dizer no log do sistema:

Jul 21 10:25:40 LeopardMaster-2009-07-20 [0x0-0xfa0fa].com.Google.GoogleEarthPlus[6606]: Intrinsic Alchemy  v3.2 Beta-0303 (Dynamic/Release) 
Jul 21 10:25:40 LeopardMaster-2009-07-20 [0x0-0xfa0fa].com.Google.GoogleEarthPlus[6606]: Built by google on Tue Mar 3 17:33:00 PST 2009
Jul 21 10:25:40 LeopardMaster-2009-07-20 [0x0-0xfa0fa].com.Google.GoogleEarthPlus[6606]: Can't save ticket store (permissions problem?)
Jul 21 10:25:40 LeopardMaster-2009-07-20 [0x0-0xfa0fa].com.Google.GoogleEarthPlus[6606]: INFO: Using igOglVisualContext.
Jul 21 10:25:43 LeopardMaster-2009-07-20 com.apple.launchd[5838] ([0x0-0xfa0fa].com.Google.GoogleEarthPlus[6606]): Exited with exit code: 1

Comparação de usuários

Eu estava testando com duas contas de usuário. Um deles era um estudante, aqui referido como ------ wild- ou Wild332, e o outro é chamado de 'cesteststudent'. O primeiro foi criado por um script há quase um ano, e o segundo foi criado manualmente no Workgroup Manager nesta manhã.

A execução do comando id para os dois usuários gera:

uid=8222(Wild332) gid=620450(CES_Students) groups=620450(CES_Students),620403(CES_Grade_03)

uid=1093(cesteststudent) gid=620450(CES_Students) groups=620450(CES_Students),620403(CES_Grade_03)

Os dois parecem equivalentes. O que é curioso, no entanto, é que quando executo os aplicativos listados acima com o usuário de teste, não me deparo com nenhum problema. Da mesma forma, não tenho problemas com os aplicativos quando estou executando como um usuário local, com ou sem privilégios de administrador.

Eu executei o comando 'mount' como o usuário existente e ele incluiu essas duas entradas:

trigger on /Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents (autofs, automounted)
afp_0SU2uk0006ow0000oM0000VU-1.2e000012 on /Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents (afpfs, nodev, nosuid, automounted, mounted by Wild332)

Quando corri

touch /Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents/CES_Grade_03/------wild-/Library/touched
ls -l /Network/Servers/ces.wwsd.net/Volumes/DataHD/CESstudents/CES_Grade_03/------wild-/Library/touched
-rw-r--r--  1 Wild332  CES_Students  0 Jul 21 10:36 

Os resultados são os esperados. Para boa medida, eu corri:

ls -l 'which touch'
-r-xr-xr-x  1 root  wheel  43056 Feb  6 20:45 /usr/bin/touch
ls -l /Applications/Google\ Earth.app/Contents/MacOS/Google\ Earth 
-rwxr-xr-x  1 sysadmin  admin  32132912 May  5 02:37 /Applications/Google Earth.app/Contents/MacOS/Google Earth

Pergunta

Bem, estou confuso. O usuário parece ter acesso de leitura / gravação aos seus arquivos. O aplicativo é executado como o usuário (não é?). Os aplicativos parecem estar chateados porque não têm acesso de leitura / gravação aos arquivos dos usuários. [E eles não me disseram exatamente qual arquivo (s) eles estão tentando acessar.]

Alguém sabe o que está errado ou em qual direção devo investigar?

Obrigado.

    
por Clinton Blackmore 21.07.2009 / 19:34

1 resposta

1

Seria doloroso e tedioso, mas o próximo passo que eu perseguiria seria executar o aplicativo em dtruss (ou ktrace se você estiver em um OS X mais antigo). Dessa forma, você pode ver exatamente quais chamadas estão falhando.

Algo como isso deve fazer o truque:

sudo dtruss -f open /Applications/Adobe Bridge CS3/Bridge CS3.app > dtruss.out 2>&1

Claro, isso só funciona se os erros ocorrerem durante a inicialização. Se eles forem acionados por atividade depois que o aplicativo já estiver aberto, você precisará identificar o PID do aplicativo em execução e executar algo assim:

sudo dtruss -f -p $PIDOFAPP > dtruss.out 2>&1

Ao analisar o arquivo dtruss.out , grep -v é seu amigo.

    
por 21.07.2009 / 20:18