Pagina 1 di 1

Lo SlackBuild di GoogleChrome blocca il login agli utenti?

Inviato: dom 13 set 2009, 0:59
da phobos3576
Lo so che sembra una assurdità, però è già la seconda volta che succede, per cui i sospetti si stanno trasformando in certezze.

Ogni volta che esce una nuova versione di GoogleChrome, ricreo il package usando lo SlackBuild di Slacky; una volta creato, installato e verificato il package, faccio il logout da root e tento di accedere come utente normale ma, a quel punto, ecco comparire il messaggio:

Codice: Seleziona tutto

unable to cd to /home/nomeutente
Succede con tutti gli utenti normali; solo root funziona.
Riavviando il computer, tutto si ripristina magicamente.

Se qualche esperto di script ci capisce qualcosa (magari Gohanz che ne è l'autore), ecco lo SlackBuild:

Codice: Seleziona tutto

#!/bin/sh
# Heavily based on the Slackware 12.2 SlackBuild
# http://dev.chromium.org/getting-involved/dev-channel
# Packager Andrea Sciucca ( gohanz at infinito.it)
# http://www.slacky.it
#
# Required: gconf, orbit2
#
# Required lzma only for package build.
#
# Exit on most errors

set -e

CWD=`pwd`
TMP=${TMP:-/tmp/tgz}
PKG=$TMP/package/google-chrome
NAME=google-chrome
VERSION=4.0.207.0
CHOST=i486
ARCH=${ARCH:-i386}
BUILD=1as

if [ ! -d $TMP ]; then
 mkdir -p $TMP
fi
if [ ! -d $PKG ]; then
 mkdir -p $PKG
fi

cd $TMP
ar -x $CWD/google-chrome-unstable_current_i386.deb

echo -e "\E[0;32m+--------------------------------+\E[0;0m"
echo -e "\E[0;32m| Start SlackBuild Google-Chrome |\E[0;0m"
echo -e "\E[0;32m+--------------------------------+\E[0;0m"

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


# Fix default libdir in google-chrome startup script.
sed -i "s,lib32,lib," $PKG/opt/google/chrome/google-chrome

# Set Flash support by default.
# ( cd $PKG/opt/google/chrome
# ln -s /usr/lib/mozilla/plugins .
# sed -i'' -e 's/\" \"/\" --enable-plugins \"/g' $PKG/opt/google/chrome/google-chrome )



mkdir -p $PKG/usr/doc/$NAME-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/slack-desc > $PKG/usr/doc/$NAME-$VERSION/slack-desc
cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild

mkdir -p $PKG/usr/share/applications
cd $PKG/usr/share/applications
ln -s /opt/google/chrome/google-chrome.desktop .

	echo "if [ -x /usr/bin/update-mime-database ]; then
  /usr/bin/update-mime-database /usr/share/mime &> /dev/null
fi" >> $PKG/install/doinst.sh
	echo "" >> $PKG/install/doinst.sh
	echo "if [ -x /usr/bin/update-desktop-database ]; then
  /usr/bin/update-desktop-database &> /dev/null
fi" >> $PKG/install/doinst.sh
	echo "" >> $PKG/install/doinst.sh
	echo "if [ -x /usr/bin/gtk-update-icon-cache ]; then
  /usr/bin/gtk-update-icon-cache  -f -q /usr/share/icons/hicolor &> /dev/null
fi" >> $PKG/install/doinst.sh
	echo "" >> $PKG/install/doinst.sh

# We are using the Firefox libraries instead of Xulrunner.
cat << EOF > $PKG/install/doinst.sh
( cd usr/lib ; rm -rf libnss3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libnss3.so libnss3.so.1d )
( cd usr/lib ; rm -rf libnssutil3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libnssutil3.so libnssutil3.so.1d )
( cd usr/lib ; rm -rf libsmime3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libsmime3.so libsmime3.so.1d )
( cd usr/lib ; rm -rf libssl3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libssl3.so libssl3.so.1d )
( cd usr/lib ; rm -rf libplds4.so.0d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libplds4.so libplds4.so.0d )
( cd usr/lib ; rm -rf libplc4.so.0d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libplc4.so libplc4.so.0d )
( cd usr/lib ; rm -rf libnspr4.so.0d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libnspr4.so libnspr4.so.0d )
# Fix default permission for chrome-sanbox.
chmod 4755 /opt/google/chrome/chrome-sandbox
EOF


cd $PKG
find . -perm 666 -exec chmod 644 {} \;
find . -perm 664 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;

chown -R root:root .
requiredbuilder -v -y -s $CWD $PKG
makepkg -l y -c n $CWD/$NAME-$VERSION-$ARCH-$BUILD.tgz

if [ "$1" = "--cleanup" ]; then
 rm -rf $TMP
fi
P.S. Ovviamente, mi sto riferendo alla Slackware 12.2

Re: Lo SalckBuild di GoogleChrome blocca il login agli utenti?

Inviato: dom 13 set 2009, 11:50
da 414N
phobos3576 ha scritto:

Codice: Seleziona tutto

# We are using the Firefox libraries instead of Xulrunner.
cat << EOF > $PKG/install/doinst.sh
Questo mi sembra un errore: poco prima copia degli if in doinst.sh accodando al file stesso (operatore >>), mentre qui va a sovrascriverlo con quello che segue (operatore >).
Comunque, da qui ad invalidare i login...

Re: Lo SalckBuild di GoogleChrome blocca il login agli utenti?

Inviato: dom 13 set 2009, 15:34
da venerdi_12
Confermo il bug.
Anch'io ho riscontrato che bisogna riavviare per risolvere. Non mi sono studiato lo slackbuild perché gchrome non mi interessa più di tanto ma il problema c'è.

Re: Lo SalckBuild di GoogleChrome blocca il login agli utenti?

Inviato: dom 13 set 2009, 17:47
da phobos3576
venerdi_12 ha scritto:Confermo il bug.
Anch'io ho riscontrato che bisogna riavviare per risolvere. Non mi sono studiato lo slackbuild perché gchrome non mi interessa più di tanto ma il problema c'è.
Quindi, non sono diventato pazzo all'improvviso; il problema esiste veramente.

A questo punto sarà interessante capire come può uno SlackBuild impedire il login agli utenti normali.

Re: Lo SalckBuild di GoogleChrome blocca il login agli utenti?

Inviato: dom 13 set 2009, 18:41
da Luci0
La butto lì ... forse cancella qualche file temporaneo di troppo ?

Re: Lo SalckBuild di GoogleChrome blocca il login agli utenti?

Inviato: dom 13 set 2009, 18:46
da Blallo
non credo, TMP è data come /tmp/tgz e non come solo /tmp, quindi...boh :?:

Re: Lo SalckBuild di GoogleChrome blocca il login agli utenti?

Inviato: dom 13 set 2009, 18:47
da Blallo
IO credo sia in mezzo alla selva di permessi l'errore

Codice: Seleziona tutto

find . -perm 666 -exec chmod 644 {} \;
find . -perm 664 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;

Re: Lo SlackBuild di GoogleChrome blocca il login agli utenti?

Inviato: dom 13 set 2009, 20:30
da raffaele181188
IO credo sia in mezzo alla selva di permessi l'errore
Sicuramente no

Codice: Seleziona tutto

...
PKG=$TMP/package/google-chrome
...
cd $PKG
find . -perm 666 -exec chmod 644 {} \;

Re: Lo SlackBuild di GoogleChrome blocca il login agli utenti?

Inviato: dom 13 set 2009, 21:02
da 414N
Per me c'è qualcosa che non quadra nella creazione al volo del doinst.sh.

Re: Lo SlackBuild di GoogleChrome blocca il login agli utenti?

Inviato: dom 13 set 2009, 21:30
da phobos3576
Mi sono ricordato adesso che, qualche tempo fa, lo SlackBuild venne modificato (non so se da Gohanz); nella precedente versione, il problema non si verificava.
Lo scopo della modifica è descritto nello stesso SlackBuild:

(# We are using the Firefox libraries instead of Xulrunner.)

Codice: Seleziona tutto

# We are using the Firefox libraries instead of Xulrunner.
cat << EOF > $PKG/install/doinst.sh
( cd usr/lib ; rm -rf libnss3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libnss3.so libnss3.so.1d )
( cd usr/lib ; rm -rf libnssutil3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libnssutil3.so libnssutil3.so.1d )
( cd usr/lib ; rm -rf libsmime3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libsmime3.so libsmime3.so.1d )
( cd usr/lib ; rm -rf libssl3.so.1d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libssl3.so libssl3.so.1d )
( cd usr/lib ; rm -rf libplds4.so.0d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libplds4.so libplds4.so.0d )
( cd usr/lib ; rm -rf libplc4.so.0d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libplc4.so libplc4.so.0d )
( cd usr/lib ; rm -rf libnspr4.so.0d )
( cd usr/lib ; ln -sf /usr/lib/firefox/libnspr4.so libnspr4.so.0d )
# Fix default permission for chrome-sanbox.
chmod 4755 /opt/google/chrome/chrome-sandbox
EOF
Nella versione precedente, venivano linkate le analoghe librerie presenti in /usr/lib, mentre adesso si fa riferimento alle librerie presenti in /usr/lib/firefox.

Comunque, pure io, come 414N, credo ci sia qualche problema (di permessi) nel doinst.sh.

Re: Lo SlackBuild di GoogleChrome blocca il login agli utenti?

Inviato: dom 13 set 2009, 23:48
da Luci0
In effetti con dir /tmp non ci sono problemi ..
L' unica istruzione che potrebbe potenzialmente creare problemi di permessi é ... ma avviene all' interno della dir $PKG

Codice: Seleziona tutto

chown -R root:root .

Re: Lo SlackBuild di GoogleChrome blocca il login agli utenti?

Inviato: ven 9 ott 2009, 21:46
da aschenaz
Non so se si tratti dello stesso problema, ma ho appena aggiornato Chrome
alla 4.0.220.1 e sono successe cose turche! :shock:
Le icone sparivano dal pannello man mano che ci passavo sopra col mouse e
non partiva alcuna applicazione. Ho dovuto riavviare! :?
Dopo il riavvio tutto ok...

Re: Lo SlackBuild di GoogleChrome blocca il login agli utenti?

Inviato: ven 9 ott 2009, 23:30
da Blallo
non so voi ma ho l'impressione che chmod sia "bacato":
alcune volte se eseguo ad esempio un

Codice: Seleziona tutto

chmod +x filepincopallino
mi cambia i permessi di lettura della mia home da user a root
ora non so se è dato da altra causa (anche se sarebbe un'incredibile coincidenza)