Dateirechte nach Installation mit setup.py installl

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
svenXY
User
Beiträge: 27
Registriert: Dienstag 16. Juni 2009, 10:36
Kontaktdaten:

Hi,

folgendes Problem:

Wenn ich ein Modul (hier pymssql) mittels

Code: Alles auswählen

sudo python setup.py install installiere
, dann funkt das zwar soweit wunderbar, aber danach sind die Dateirechte so strikt, dass nur root sie lesen kann:

Code: Alles auswählen

% sudo ls -l /usr/local/lib/python2.6/dist-packages/pymssql-1.9.908-py2.6-linux-i686.egg
insgesamt 640
drwx--s--x 2 root staff   4096 2010-11-15 15:58 EGG-INFO
-rwxr-xr-x 1 root staff    276 2010-11-15 15:58 _mssql.py
-rw------- 1 root staff    618 2010-11-15 15:58 _mssql.pyc
-rw------- 1 root staff  46007 2010-11-15 15:58 _mssql.pyx
-rwxr-xr-x 1 root staff 348437 2010-11-15 15:58 _mssql.so
-rwxr-xr-x 1 root staff    277 2010-11-15 15:58 pymssql.py
-rw------- 1 root staff    621 2010-11-15 15:58 pymssql.pyc
-rw------- 1 root staff  13010 2010-11-15 15:58 pymssql.pyx
-rwxr-xr-x 1 root staff 214317 2010-11-15 15:58 pymssql.so
Soll das so sein? Ist es hier wirklich erwünscht, dass man immer noch ein chmod hinterherschicken muss oder habe ich was übersehen?

Danke für jegliche Hilfe/Tip/Erleuchtung.

Gruss,
Sven
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Ja, da du es mit sudo -[super user do] installierst, führst du die Installation mit deinen Administrativen Rechten aus.
Deshalb ist der Ersteller dann "root"- (kommt auf die Systemkonfiguration des os an), aber in den meisten Fällen trifft dies zu.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
svenXY
User
Beiträge: 27
Registriert: Dienstag 16. Juni 2009, 10:36
Kontaktdaten:

Xynon1 hat geschrieben:Deshalb ist der Ersteller dann "root"- (kommt auf die Systemkonfiguration des os an), aber in den meisten Fällen trifft dies zu.
Schon klar, das ist auch völlig in Ordnung, aber dass dann auch nur root die Module benutzen (sprich: lesen) kann, finde ich dann doch etwas seltsam.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

na für doch ein chmod durch wie du es gesagt hattest oder lass das sudo weg, so lang dir dies Möglich ist,
Meist gibt es eine zusätzliche Parameter angabe oder ähnliches, welche entweder in der README, oder in der INSTALL des Paketes definiert sind.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
svenXY
User
Beiträge: 27
Registriert: Dienstag 16. Juni 2009, 10:36
Kontaktdaten:

Code: Alles auswählen

% sudo easy_install pymssql
install_dir /usr/local/lib/python2.6/dist-packages/
Searching for pymssql
Best match: pymssql 1.9.908
Processing pymssql-1.9.908-py2.6-linux-i686.egg
pymssql 1.9.908 is already the active version in easy-install.pth   ## OK, ich hatte es ja schon installiert

Using /usr/local/lib/python2.6/dist-packages/pymssql-1.9.908-py2.6-linux-i686.egg
Processing dependencies for pymssql
Finished processing dependencies for pymssql
aber dann:

Code: Alles auswählen

% python
Python 2.6.6 (r266:84292, Sep 15 2010, 15:52:39) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pymssql
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pymssql
und - als root funktionuiet es dann aber schon...

Hat jemand eine Idee?

Danke,
Sven
svenXY
User
Beiträge: 27
Registriert: Dienstag 16. Juni 2009, 10:36
Kontaktdaten:

OK, Folgendes "löst" das Problem:

Code: Alles auswählen

% ls -l /usr/local/lib/python2.6/dist-packages/easy-install.pth
-rw------- 1 root staff 224 2010-11-15 15:58 /usr/local/lib/python2.6/dist-packages/easy-install.pth

% sudo chmod a+rx /usr/local/lib/python2.6/dist-packages/easy-install.pth

Danach funktioniert das auch für Normalsterbliche. :)

Aber das bringt mich wieder zurück zu meiner eigentlichen Frage:
Soll das wirklich so sein, dass nur root solche Module benutzen können soll oder kapiere ich da einfach was nicht? :?:

Danke, Sven
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hast du dir mal deine umask-Einstellungen eingeguckt? Vielleicht hat der Root-User das auf deinem System einfach generell so?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
svenXY
User
Beiträge: 27
Registriert: Dienstag 16. Juni 2009, 10:36
Kontaktdaten:

guter Einwand, aber leider nope:

Code: Alles auswählen

# umask
0022

# mkdir ...

# ls -ld bla*
-rw-r--r-- 1 root root    0 2010-11-16 08:55 bla
drwxr-xr-x 2 root root 4096 2010-11-16 08:55 blala
Antworten