[Mono-list] GAC permissions

2005-03-22 Thread Nik Derewianka
Hi,
New to linux (suse 9.2) so please bear with me:
Using mono 1.1.4 all the files in my GAC have owner/group of root.  In 
my code where i use the Npgsql connector, my code runs fine when 
executed under root but under a normal user it bombs out badly:

** (postgres.exe:9267): WARNING **: Could not find assembly Npgsql, 
references from /home/nik/postgres.exe (assemblyref_index=1)
Major/Minor: 1,0
Build:   5000,0
Token:   5d8b90d52f46fda7
System error: No such file or directory

** (postgres.exe:9267): WARNING **: Missing method .ctor in assembly 
/home/nik/postgres.exe typeref index 2

Unhandled Exception: System.NullReferenceException: Object reference not 
set to an instance of an object

Likewise, when using the gacutil to install npgsql from a normal user i 
get errors and it mentions permissions.

So what user/group should i be setting the files in the gac to ??  If i 
change the group to 'users' with read perms then it complains about 
/etc/mono/machine.config

It just doesnt feel right that i need to be opening up all the perms on 
things - but maybe this is how linux does things... if so is there any 
recommended set of permissions  (or have i royally botched something up 
with the install ?).

Any help appreciated,
Nik
___
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list


Re: [Mono-list] GAC permissions

2005-03-22 Thread A Rafael D Teixeira
Hi Nik,

First, you should only add things to the gac as root, never as a normal
user. We even tought of an additional user-gac, but I think the idea was
dropped.

Second, everything in my gac is owned by user root and group root. And
the permissions are 

drwxr-xr-x 

for directories /usr/lib/mono, /usr/lib/mono/gac, and for each assembly-
related directory inside /usr/lib/mono/gac and their version-pl.

Taking for example Npgsql.dll instaled in my gac we have a directory 
/usr/lib/mono/gac/Npgsql/1.0.5000.0__5d8b90d52f46fda7/

containing

-rwxr-xr-x  1 root root 181760 Mar 21 15:46 Npgsql.dll
-rw-r--r--  1 root root 106152 Mar 21 15:46 Npgsql.dll.mdb

Assemblies in the GAC are shared content so they must be readable by
everyone. The execute permissions on dlls are just a reminder because
they need to be loaded and executed by mono. 

In case you don't know: the execute bits in permissions for directories
are used to mark them as listable (browseable), so if you take them
out the affect user/group won't be able to find/open the files, even if
the files' permissions allow.

HIH,

On Tue, 2005-03-22 at 22:54 +1100, Nik Derewianka wrote: 
 Hi,
 
 New to linux (suse 9.2) so please bear with me:
 
 Using mono 1.1.4 all the files in my GAC have owner/group of root.  In 
 my code where i use the Npgsql connector, my code runs fine when 
 executed under root but under a normal user it bombs out badly:
 
 ** (postgres.exe:9267): WARNING **: Could not find assembly Npgsql, 
 references from /home/nik/postgres.exe (assemblyref_index=1)
  Major/Minor: 1,0
  Build:   5000,0
  Token:   5d8b90d52f46fda7
 System error: No such file or directory
 
 
 ** (postgres.exe:9267): WARNING **: Missing method .ctor in assembly 
 /home/nik/postgres.exe typeref index 2
 
 Unhandled Exception: System.NullReferenceException: Object reference not 
 set to an instance of an object
 
 
 Likewise, when using the gacutil to install npgsql from a normal user i 
 get errors and it mentions permissions.
 
 So what user/group should i be setting the files in the gac to ??  If i 
 change the group to 'users' with read perms then it complains about 
 /etc/mono/machine.config
 
 It just doesnt feel right that i need to be opening up all the perms on 
 things - but maybe this is how linux does things... if so is there any 
 recommended set of permissions  (or have i royally botched something up 
 with the install ?).
 
 Any help appreciated,
 Nik
 ___
 Mono-list maillist  -  Mono-list@lists.ximian.com
 http://lists.ximian.com/mailman/listinfo/mono-list
 
 E-mail classificado pelo Identificador de Spam Inteligente Terra.
 Para alterar a categoria classificada, visite
 http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=rafael.teixeirabr_l=1,492933.424241.11838.cabue.terra.com.br,4034,Des15,Des15
 
 Esta mensagem foi verificada pelo E-mail Protegido Terra.
 Scan engine: McAfee VirusScan / Atualizado em 21/03/2005 / Versão: 4.4.00 - 
 Dat 4451
 Proteja o seu e-mail Terra: http://mail.terra.com.br/
 

___
Mono-list maillist  -  Mono-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-list