Questione di permessi

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun 25 dic 2006, 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Questione di permessi

Messaggio da stan »

Ciao a tutti,
negli slackbuild solitamente si decomprime i sorgenti, si setta il proprietario a root e poi si controllano i permessi.
Ora, se io faccio ciò per sqlite rilevo che esistono permessi "sbagliati" solo di tipo 600.
Ma se poi faccio ./configure --prefix=/usr && make && make install DESTDIR=/tmp/package-sqlite osservo che in /tmp/package-sqlite esistono:

Codice: Seleziona tutto

 find /tmp/package-sqlite/ -perm 777
/tmp/package-sqlite/usr/lib/libsqlite3.so.0
/tmp/package-sqlite/usr/lib/libsqlite3.so
Ma le librerie non dovrebbero avere 755? In questo caso bisogna cambiare a 755 i permessi di tali liberie?
Io non ho mai visto in nessuno slackbuild ne' di PJV ne' di Slacky cambiare i permessi DOPO il make install.
Mi illuminate?
Vi ringrazio.

Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun 25 dic 2006, 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Re: Questione di permessi

Messaggio da stan »

Quelli sopra erano symlink che vengono trattati correttamente da makepkg.
Resta il dubbio se make e make install possono installare file con permessi errati.

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Questione di permessi

Messaggio da Mario Vanoni »

Slackware 12.0 aggiornata ad oggi.

Da http://www.linuxpackages.net scaricato l'ultimo sqlite.
installpkg sqlite*.tgz
I permessi sono o 0755 o 0644 per la libreria *.a.

pkgtool cancellato sqlite, nessuna traccia in /usr/lib

Scaricato dal sito officiale sqlite-3.5.7,
tar ..., poi esattamente quello che dici di aver fatto,
i permessi in /tmp/package-sqlite/usr/lib sono
esattamente come sopra, 0755 o 0644 per *.a.

L'unico che puo` risolvere il tuo problema sei _tu_!

Mario Vanoni

PS Ovviamente come utente root!

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Questione di permessi

Messaggio da targzeta »

stan ha scritto:Quelli sopra erano symlink che vengono trattati correttamente da makepkg.
Resta il dubbio se make e make install possono installare file con permessi errati.
Quindi il tuo era un falso allarme ;). Per quanto riguarda i permessi, tutto dipende dal valore di umask, se per root è, come dovrebbe essere impostata a 0022 allora non verranno creati file con 777 ma al più con 0755. Ovviamente se però si imposta l'umask a 0077 allora tutto può succedere.

Non so se sai come funziona l'umask, ma ogni volta che, usando un programma cerchi di salvare un file, il programma potrebbe impostare dei suo permessi, supponi ad esempio che il gcc voglia rendere eseguibile un programma per tutti gli utenti, impostando quindi i permessi come 755. Questo valore però passa prima da un altro filtro, ovvero il valore dell'umask impostata dall'utente tramite il comando:

Codice: Seleziona tutto

umask valore
. Il valore impostato dal programma viene messo in AND con il valore di NOT umask e quindi, se umask è 0077, allora il NOT è 7700 e quindi il programma può solo abilitare i permessi all'utente proprietario. Ti posto un esempio completo, che a volte un esempio vale più di mille parole.

Crea un file, casa.c, con questo contenuto:

Codice: Seleziona tutto

int main()
{
  return 0;
}
poi imposta umask a 0022 (dovrebbe già essere così) con:

Codice: Seleziona tutto

umask 0022
e lancia

Codice: Seleziona tutto

gcc casa.c
ora fai

Codice: Seleziona tutto

ls -l a.out
e ottieni

Codice: Seleziona tutto

-rwxr-xr-x
ora invece imposta umask a 0077 e rilancia gcc, vedrai che i permessi di a.out non sono più -rwxr-xr-x ma sono -rwx------.

Spina
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun 25 dic 2006, 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Re: Questione di permessi

Messaggio da stan »

Mario Vanoni ha scritto: Scaricato dal sito officiale sqlite-3.5.7,
tar ..., poi esattamente quello che dici di aver fatto,
i permessi in /tmp/package-sqlite/usr/lib sono
esattamente come sopra, 0755 o 0644 per *.a.

L'unico che puo` risolvere il tuo problema sei _tu_!

Mario Vanoni

PS Ovviamente come utente root!
Mi riferivo ai symlink, che poi vengono rigenerati nel doinst.sh e vengono gestiti da makepkg. Comunque grazie per la prova.

@spina: Si...infatti era un non problema. Ho postato senza connettere il cervello (è almeno la seconda volta nel giro di due settimane... :roll: ).
Umask lo conoscevo...e lo dimenticavo. Comunque grazie per il ripasso...torna sempre utile.

Rispondi