Pagina 1 di 3

ripristinati permessi inaspettatamente

Inviato: mar 22 set 2009, 17:34
da ulisse89
Ciao a tutti. Oggi mentre ricompilavo qualche pacchetto ho avuto un problema. Dopo aver ricompilato il pacchetto meteo, mi sono ritrovato root come proprietario di due directory della mia home. Lo script che ho lanciato è questo:
http://repository.slacky.eu/slackware-1 ... SlackBuild
Io non ho visto niente di strano ma qualcuno magari più esperto....

Non essendo totalmente sicuro che sia stato lo slackbuild vi posto anche la bash_history di root.

Codice: Seleziona tutto

cd meteo/
chmod 777 meteo.SlackBuild 
./meteo.SlackBuild 
installpkg meteo-0.9.17-i486-2sl.txz 
meteo
cd /tmp
ls
rm -rf ./*
ls
pwd
cd /home/riccardo/Desktop/Package_Work/meteo/
./meteo.SlackBuild 
explodepkg meteo-0.9.17-i486-2sl.txz 
Anche qui non noto niente di strano.

Qualche aiuto?

EDIT:Lo slackbuild non è di certo perchè l'ho rieseguito più volte e non cambia i permessi. Anche leggendolo si nota. Scusate per la c*****ta.

Re: ripristinati permessi inaspettatamente

Inviato: mar 22 set 2009, 18:44
da aschenaz
Secondo me è stato proprio lo slacbuild. Infatti:
cd $TMP
tar xzvf $CWD/$NAME-$VERSION.tar.gz
cd $NAME-$VERSION
chmod -R u+w,go+r-w,a-s .
chown -R root:root .
Se per qualche strano motivo la directory non è stata creata, il cd viene
ignorato e chmod e chown hanno effetto sulla directory corrente.

Sarebbe buona norma aggiungere un || exit 1 dopo il cd (IMHO)...

Re: ripristinati permessi inaspettatamente

Inviato: mar 22 set 2009, 18:54
da ulisse89
aschenaz ha scritto:Secondo me è stato proprio lo slacbuild. Infatti:
cd $TMP
tar xzvf $CWD/$NAME-$VERSION.tar.gz
cd $NAME-$VERSION
chmod -R u+w,go+r-w,a-s .
chown -R root:root .
Se per qualche strano motivo la directory non è stata creata, il cd viene
ignorato e chmod e chown hanno effetto sulla directory corrente.

Sarebbe buona norma aggiungere un || exit 1 dopo il cd (IMHO)...
Forse hai ragione. Ma non è strano che solo a due delle 5 directory sia stato cambiato l'owner?
Tra l'altro non era neanche la directory corrente.

Re: ripristinati permessi inaspettatamente

Inviato: mar 22 set 2009, 20:23
da phobos3576
Il problema sembra simile a quello segnalato da me in precedenza:

viewtopic.php?f=1&t=29824

Lo SlackBuid di GoogleChrome è stato modificato qualche mese fa sulla Slackware 12.2; con la vecchia versione non si verificava alcun problema.
Quindi, basterebbe confrontare le due versioni dello SlackBuild, per trovare qualche informazione utile.
Ma la vecchia versione non so se sia stata salvata da qualche parte.

Re: ripristinati permessi inaspettatamente

Inviato: mar 22 set 2009, 20:39
da ulisse89
E' vero il problema è molto simile. Neanche tu però hai risolto e io non ho la minima idea di cosa può essere. Forse e molto probabilmente come dice aschenaz sono dei `cd` falliti che generano dei cambi di permessi in directory sbagliate.

Re: ripristinati permessi inaspettatamente

Inviato: mar 22 set 2009, 21:01
da phobos3576
ulisse89 ha scritto:E' vero il problema è molto simile. Neanche tu però hai risolto e io non ho la minima idea di cosa può essere. Forse e molto probabilmente come dice aschenaz sono dei `cd` falliti che generano dei cambi di permessi in directory sbagliate.
E allora, sempre come dice Aschenaz, abbondiamo con gli || exit 1 e con gli echo "messaggio di errore"; in questo modo possiamo fare dei test e scoprire eventuali problemi.

Adesso ho visto che è uscita una nuova versione (4.0.211.2-r26474) di Google Chrome; magari ne approfitto per fare qualche esperimento con lo SlackBuild.

Re: ripristinati permessi inaspettatamente

Inviato: mar 22 set 2009, 22:49
da ulisse89
Ok grazie. Lo farò e vedo di informare se c'è qualcosa che non va.

Re: ripristinati permessi inaspettatamente

Inviato: mer 23 set 2009, 10:25
da conraid
set -e all'inizio degli script e vi risparmiate || exit

Re: ripristinati permessi inaspettatamente

Inviato: mer 23 set 2009, 14:39
da phobos3576
conraid ha scritto:set -e all'inizio degli script e vi risparmiate || exit
Conraid, metto sempre set -e all'inizio degli SlackBuild.
Adesso ho ricompilato la nuova versione di GoogleChrome e tutto è andato a buon fine, nel senso che lo SlackBuild non contiene alcun errore; il problema si verifica durante la fase di installazione del package. Il doinst.sh non influisce; infatti, anche eliminadolo, dopo l'installazione si verifica ugualmente il problema.
Addirittura, sulla Slackware 13 la situazione è ancora più grave; dopo l'installazione di GoogleChrome, non solo è impossibile l'accesso a /home/nomeutente, ma vanno pure in tilt hal, dbus, udev e tutta la compagnia.
Come ho già scritto altrove, riavviando il computer si ripristina tutto.

Allo stato attuale ho scoperto un aspetto abbastanza significativo; appena acceso il computer e fatto il login, il comando ls -ld produce questo output:

Codice: Seleziona tutto

drwxr-xr-x 20 root root 4096 2009-09-23 03:16 //
Subito dopo la ricompilazione e l'installazione di GoogleChrome, la situazione diventa questa:

Codice: Seleziona tutto

drwxr----- 20 root root 4096 2009-09-23 03:16 //
Ecco spiegato il perché dell'impossibilità di loggarsi come utente normale; in sostanza, non è più possibile accedere a /bin/bash (o qualcosa del genere) e quindi non è permesso il login agli utenti normali.

Il problema sembra particolarmente grave anche perché, al riavvio, non tutto viene ripristinato come prima; ad esempio, dalla Slackware 13 mi sono stati tolti i permessi di accesso (come utente normale) alla partizione dove ho la Slackware 12.2

Nella peggiore delle ipotesi c'è anche il rischio di danneggiare in modo permanente tutta l'impostazione dei permessi.

Re: ripristinati permessi inaspettatamente

Inviato: mer 23 set 2009, 14:49
da conraid
Se il problema è nei permessi del pacchetto e visto che non è compilato, (infatti quel build che hai linkato non compila) e che non succede sempre, non è che alcune versioni di chrome abbiano permessi sballati in origine?

Forse dopo il

cd $PKG
lzma -d $TMP/data.tar.lzma
tar xf $TMP/data.tar

che comunque si può limitare a

cd $PKG
tar xf $TMP/data.tar.lzma

andrebbe prevista un modo per sanare i permessi
anche c'è in fondo e anche se il fatto che al riavvio siano esatti... lascia un po' perplessi

Re: ripristinati permessi inaspettatamente

Inviato: mer 23 set 2009, 15:27
da phobos3576
conraid ha scritto:... e anche se il fatto che al riavvio siano esatti... lascia un po' perplessi
Infatti, l'aspetto più assurdo è proprio quello dei permessi modificati solo temporaneamente.

EDIT. In realtà non c'è niente di assurdo.
La partizione '/' viene montata al boot, per cui è normale che vengano ripristinati i permessi in osservanza delle opzioni specificate in /etc/fstab; nel mio caso:

Codice: Seleziona tutto

/dev/sda3        /                ext4        defaults         1   1
Per evitare allora di dover riavviare ogni volta che viene ricreato il package google-chrome, dovrebbe bastare un:

Codice: Seleziona tutto

chmod a+rx /
Resta da capire cos'è che genera il problema.

Re: ripristinati permessi inaspettatamente

Inviato: lun 28 set 2009, 8:37
da gohanz
Hanno aperto un post simile anche su Linuxquestions.
http://www.linuxquestions.org/questions ... kg-758077/

Re: ripristinati permessi inaspettatamente

Inviato: ven 6 nov 2009, 17:07
da ulisse89
Ragazzi riporto su questo thread perchè ho scoperto cosa ripristina i permessi almeno a me: il comando "explodepkg". Non so se lo fa solo a me, ma ogni volta che lo do in una directory allora vengono ripristinati i permessi della stessa.

Re: ripristinati permessi inaspettatamente

Inviato: ven 6 nov 2009, 17:24
da conraid
ma explodepkg non fa nessun chmod, esegue solamente comandi in base all'estensione del pacchetto
per txz

Codice: Seleziona tutto

xz -dc | tar xvf
quindi il problema "sarebbe" nelle xz utils o in tar

andrebbe visto se lo fa anche per tgz, così si cerca di racchiudere il problema

Re: ripristinati permessi inaspettatamente

Inviato: ven 6 nov 2009, 17:39
da ulisse89
Ho appena provato lo fa anche con tgz.

EDIT: Forse dicendo che cambia i permessi ho generato un incomprensione. In realtà cambia proprietario e gruppo di appartenenza del file/directory.