Discussione:
ripristinare i permessi di default
(troppo vecchio per rispondere)
Piviul
2015-08-24 06:20:01 UTC
Permalink
Ciao a tutti, un mio collega mentre ero in ferie ha incasinato i
permessi di un fs di un server di sviluppo in tal modo che il server non
parte più. C'è un modo per ripristinare i permessi default (ammesso che
riesca a farlo ripartire)?

Piviul
Piviul
2015-08-24 10:30:01 UTC
Permalink
Post by Piviul
Ciao a tutti, un mio collega mentre ero in ferie ha incasinato i
permessi di un fs di un server di sviluppo in tal modo che il server non
parte più. C'è un modo per ripristinare i permessi default (ammesso che
riesca a farlo ripartire)?
Dunque, per cercare di ripristinare almeno l'avvio ho creato il seguente
script da un server simile:

# find /etc /usr /bin /sbin /boot /var -type d -exec stat --format
"chmod %a \"/mnt${MPOINT}%n\"" {} \; > ripristinaPermessi.sh
# find /etc /usr /bin /sbin /boot /var -type f -exec stat --format
"chmod %a \"/mnt${MPOINT}%n\"" {} \; >> ripristinaPermessi.sh

Poi con una live ho montato il filesystem del server di sviluppo su /mnt
ed eseguito lo script ripristinaPermessi.sh creato precedentemente ma
non è cambiato nulla :(

Al boot continuo a ricevere l'errore:
switch_root: can't execute '/sbin/init': Permission denied

Qualcuno ha qualche idea di cosa abbia bisogno per poter partire?

Piviul
Scrap
2015-08-24 10:50:02 UTC
Permalink
la butto lì...
se provi ad usare una distro live sul server ed usi chroot per accedere
al sistema danneggiato? magari da li poi riesci a sistemare i permessi e
farlo ripartire.
Post by Piviul
Post by Piviul
Ciao a tutti, un mio collega mentre ero in ferie ha incasinato i
permessi di un fs di un server di sviluppo in tal modo che il server non
parte più. C'è un modo per ripristinare i permessi default (ammesso che
riesca a farlo ripartire)?
Dunque, per cercare di ripristinare almeno l'avvio ho creato il seguente
# find /etc /usr /bin /sbin /boot /var -type d -exec stat --format
"chmod %a \"/mnt${MPOINT}%n\"" {} \; > ripristinaPermessi.sh
# find /etc /usr /bin /sbin /boot /var -type f -exec stat --format
"chmod %a \"/mnt${MPOINT}%n\"" {} \; >> ripristinaPermessi.sh
Poi con una live ho montato il filesystem del server di sviluppo su /mnt
ed eseguito lo script ripristinaPermessi.sh creato precedentemente ma
non è cambiato nulla :(
switch_root: can't execute '/sbin/init': Permission denied
Qualcuno ha qualche idea di cosa abbia bisogno per poter partire?
Piviul
Piviul
2015-08-24 10:50:02 UTC
Permalink
Post by Scrap
la butto lì...
se provi ad usare una distro live sul server
questo l'ho fatto, e ho provato a ripristinare i permessi con lo script
che vi dicevo senza alcun risultato...
Post by Scrap
ed usi chroot per accedere
al sistema danneggiato? magari da li poi riesci a sistemare i permessi e
farlo ripartire.
Ci avevo pensato sperando che dpkg-reconfigure -a fosse in grado di
ripristinare i permessi ma anche qui ho trovato un inghippo. Dopo aver
montato il filesystem in /mnt eseguendo chroot /mnt ottengo l'errore:

chroot: impossibile eseguire il comando "/bin/bash": permesso negato

:(

Piviul
gerlos
2015-08-24 11:20:02 UTC
Permalink
Post by Piviul
Post by Scrap
la butto lì...
se provi ad usare una distro live sul server
questo l'ho fatto, e ho provato a ripristinare i permessi con lo script
che vi dicevo senza alcun risultato...
Post by Scrap
ed usi chroot per accedere
al sistema danneggiato? magari da li poi riesci a sistemare i permessi e
farlo ripartire.
Ci avevo pensato sperando che dpkg-reconfigure -a fosse in grado di
ripristinare i permessi ma anche qui ho trovato un inghippo. Dopo aver
chroot: impossibile eseguire il comando "/bin/bash": permesso negato
Hm. Ci faresti vedere i permessi di /bin/bash per esempio? Usa ls -l e getfacl.

Che utente stai usando? Root o un utente normale tramite sudo?

saluti,
gerlos

--
"Fairy tales are more than true, not because they tell us that dragons exist,
but because they tell us that dragons can be beaten."
G. K. Chesterton
<http://gerlos.altervista.org>
gerlos +- - - > gnu/linux registred user #311588
Piviul
2015-08-24 12:10:02 UTC
Permalink
Post by gerlos
Hm. Ci faresti vedere i permessi di /bin/bash per esempio? Usa ls -l e getfacl.
***@ubuntu:~$ ls -l /mnt/bin/bash
-rwxr-xr-x 1 root root 941252 2014-09-25 20:46 /mnt/bin/bash
***@ubuntu:~$ getfacl /mnt/bin/bash
getfacl: Removing leading '/' from absolute path names
# file: mnt/bin/bash
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
Post by gerlos
Che utente stai usando? Root o un utente normale tramite sudo?
sto usando il cd live di xubuntu 11.10 (avevo quello sotto mano) e ho
provato sia con sudo chroot /mnt che da utente root direttamente
(loggandomi come root tramite sudo su -)

***@ubuntu:~$ sudo chroot /mnt
chroot: impossibile eseguire il comando "/bin/bash": Permesso negato
***@ubuntu:~$ sudo su -
***@ubuntu:~# chroot /mnt
chroot: impossibile eseguire il comando "/bin/bash": Permesso negato

Piviul
gerlos
2015-08-24 13:10:01 UTC
Permalink
Post by Piviul
Post by gerlos
Hm. Ci faresti vedere i permessi di /bin/bash per esempio? Usa ls -l e getfacl.
-rwxr-xr-x 1 root root 941252 2014-09-25 20:46 /mnt/bin/bash
getfacl: Removing leading '/' from absolute path names
# file: mnt/bin/bash
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
Post by gerlos
Che utente stai usando? Root o un utente normale tramite sudo?
sto usando il cd live di xubuntu 11.10 (avevo quello sotto mano) e ho
provato sia con sudo chroot /mnt che da utente root direttamente
(loggandomi come root tramite sudo su -)
chroot: impossibile eseguire il comando "/bin/bash": Permesso negato
chroot: impossibile eseguire il comando "/bin/bash": Permesso negato
Può essere che il file system sia montato con l’opzione noexec?

Qual è l’output di
$ mount
Relativo al file system in questione?

saluti,
gerlos

PS Io non lo monterei direttamente su /mnt, ma in una subdirectory…

--
"Life is pretty simple: You do some stuff. Most fails. Some works. You do more
of what works. If it works big, others quickly copy it. Then you do something
else. The trick is the doing something else."
< http://gerlos.altervista.org >
gerlos +- - - > gnu/linux registred user #311588
Piviul
2015-08-24 13:30:04 UTC
Permalink
Post by gerlos
Può essere che il file system sia montato con l’opzione noexec?
no, ho controllato con il comando mount ma per non saper né leggere né
scrivere ho provato anche a montarlo con on le opzioni rw,exec ma non è
cambiato nulla
Post by gerlos
[...]
PS Io non lo monterei direttamente su /mnt, ma in una subdirectory…
mi sembra stiamo entrando nel soprannaturale... comunque ho provato
anche questo ma non è cambia nulla. Visto che a questo punto stiamo
esplorando anche cose improbabili ho provato anche da una debian live ma
non è cambaito (per fortuna) nulla: anche la live di debian provando a
chroottare il filesystem originale risponde con un /bin/bash permission
denied

A questo punto reinstallerò wheeze su un altro hd ripartendo daccapo...
non mi viene in mente altro.

Piviul
onetmt
2015-08-24 13:50:02 UTC
Permalink
Post by Piviul
Post by gerlos
Può essere che il file system sia montato con l’opzione noexec?
no, ho controllato con il comando mount ma per non saper né leggere né
scrivere ho provato anche a montarlo con on le opzioni rw,exec ma non è
cambiato nulla
Post by gerlos
[...]
PS Io non lo monterei direttamente su /mnt, ma in una subdirectory…
mi sembra stiamo entrando nel soprannaturale... comunque ho provato
anche questo ma non è cambia nulla. Visto che a questo punto stiamo
esplorando anche cose improbabili ho provato anche da una debian live ma
non è cambaito (per fortuna) nulla: anche la live di debian provando a
chroottare il filesystem originale risponde con un /bin/bash permission
denied
Questo messaggio non significa necessariamente che /bin/bash (ovviamente
nella tua chroot) sia inaccessibile; e' probabile che l'access denied se
lo stia beccando lo stesso /bin/bash quando prova ad aprire file o
directory nella chroot. Per esempio, trova un /etc/passwd con permessi
--- (giusto per citarne uno, ma i file aperti dalla shell sono
centinaia, se non migliaia).
Post by Piviul
A questo punto reinstallerò wheeze su un altro hd ripartendo daccapo...
non mi viene in mente altro.
Piviul
--
Hofstadter's Law:
"It always takes longer than you expect, even when you take into account
Hofstadter's Law."
Piviul
2015-08-24 14:30:02 UTC
Permalink
Post by onetmt
Questo messaggio non significa necessariamente che /bin/bash (ovviamente
nella tua chroot) sia inaccessibile;
in effetti /mnt/bin/bash viene eseguito tranquillamente
Post by onetmt
e' probabile che l'access denied se
lo stia beccando lo stesso /bin/bash quando prova ad aprire file o
directory nella chroot. Per esempio, trova un /etc/passwd con permessi
--- (giusto per citarne uno, ma i file aperti dalla shell sono
centinaia, se non migliaia).
ma ora i permessi dei files in /etc /usr /boot /bin /sbin e /var
dovrebbero essere a posto per lo script che mi sono costruito da un
server similare no? ...evidentemente no.

Mille grazie comunque per aver tolto un po' di magia al mio problema

Ciao e grazie

Piviul
Piviul
2015-08-25 09:30:03 UTC
Permalink
Post by Piviul
Ciao a tutti, un mio collega mentre ero in ferie ha incasinato i
permessi di un fs di un server di sviluppo in tal modo che il server non
parte più. C'è un modo per ripristinare i permessi default (ammesso che
riesca a farlo ripartire)?
sono riuscito a farlo ripartire facendo una installazione minimale su un
altro hd facendo il boot da quella e poi creando uno script per il
ripristino dei permessi con i comandi:

# find / -type d -exec stat --format "chmod %a \"/mnt%n\"" {} \; >
ripristinaPermessi.sh
# find / -type f -exec stat --format "chmod %a \"/mnt%n\"" {} \; >>
ripristinaPermessi.sh

Non ho capito perché non basta farlo soltanto delle directory /etc /usr
/bin /sbin /boot /var in ogni caso...

Probabilmente era sufficiente un cp con --attributes-only.

Beh, grazie a tutti quanti

Piviul
Davide Prina
2015-08-25 17:00:02 UTC
Permalink
Post by Piviul
Post by Piviul
Ciao a tutti, un mio collega mentre ero in ferie ha incasinato i
permessi di un fs di un server
sono riuscito a farlo ripartire facendo una installazione minimale su un
altro hd facendo il boot da quella e poi creando uno script per il
# find / -type d -exec stat --format "chmod %a \"/mnt%n\"" {} \; >
ripristinaPermessi.sh
# find / -type f -exec stat --format "chmod %a \"/mnt%n\"" {} \; >>
ripristinaPermessi.sh
ma scusa, se ha fatto quel casino non potrebbe averne fatti altri?
Non fai prima a:

1) usare dpkg --get-selections per salvarti i pacchetti salvati
2) rifai una macchina ripristinando con --set-selections
3) fai un controllo delle configurazioni e cambi solo dove necessario
Post by Piviul
Non ho capito perché non basta farlo soltanto delle directory /etc /usr
/bin /sbin /boot /var in ogni caso...
e /lib*, /sys, ...

Ciao
Davide
--
Dizionari: http://linguistico.sourceforge.net/wiki
Strumenti per l'ufficio: https://www.libreoffice.org
GNU/Linux User: 302090: http://counter.li.org
Non autorizzo la memorizzazione del mio indirizzo su outlook
Dott. Giovanni Bonenti
2015-08-25 19:30:01 UTC
Permalink
Post by Davide Prina
ma scusa, se ha fatto quel casino non potrebbe averne fatti altri?
1) usare dpkg --get-selections per salvarti i pacchetti salvati
2) rifai una macchina ripristinando con --set-selections
3) fai un controllo delle configurazioni e cambi solo dove necessario
Aggiungo di amputare 2 o 3 dita al tuo collega o sottrargli il tempo perso
a rimettere a posto i casini che ha combinato dalla sua retribuzione del
mese prossimo....

Giovanni
--
Dott. Giovanni Bonenti
Medico Radiologo
C.so Traiano 24/2
10135 - TORINO
ITALIA
Piviul
2015-08-26 08:20:02 UTC
Permalink
Post by Dott. Giovanni Bonenti
Aggiungo di amputare 2 o 3 dita al tuo collega o sottrargli il tempo
perso a rimettere a posto i casini che ha combinato dalla sua
retribuzione del mese prossimo....
...è il mio capo.

Piviul
Dott. Giovanni Bonenti
2015-08-26 09:50:01 UTC
Permalink
Post by Dott. Giovanni Bonenti
Aggiungo di amputare 2 o 3 dita al tuo collega o sottrargli il tempo
perso a rimettere a posto i casini che ha combinato dalla sua
retribuzione del mese prossimo....
...Ú il mio capo.
Piviul
Mannaggia la malora, subodoravo la fregatura.....

;) ;) ;)

Giovanni
--
Dott. Giovanni Bonenti
Medico Radiologo
C.so Traiano 24/2
10135 - TORINO
ITALIA
Piviul
2015-08-26 08:20:02 UTC
Permalink
Post by Davide Prina
ma scusa, se ha fatto quel casino non potrebbe averne fatti altri?
non dovrebbe a sentire lui. Voleva cambiare i permessi ad una alberatura
con uno script e si è dimenticato di impostare la variabile nello script
che definisce la posizione della alberatura sicché ha cambiato i
permessi dell'alberatura di /.
Post by Davide Prina
1) usare dpkg --get-selections per salvarti i pacchetti salvati
2) rifai una macchina ripristinando con --set-selections
3) fai un controllo delle configurazioni e cambi solo dove necessario
non è proprio così... sulla macchina è installato anche oracle client,
senza contare che ci sono una mare di piccoli cambiamenti nei files di
configurazione... ora sembra essere tutto a posto.
Post by Davide Prina
Post by Piviul
Non ho capito perché non basta farlo soltanto delle directory /etc /usr
/bin /sbin /boot /var in ogni caso...
e /lib*, /sys, ...
o porca paletta, mi ero dimenticato di lib!

sys invece non viene creata runtime dal kernel?

Mille grazie

Piviul
Davide Prina
2015-08-26 17:40:02 UTC
Permalink
Post by Piviul
sys invece non viene creata runtime dal kernel?
sì, hai ragione, ho sbagliato :-(

Ciao
Davide
--
Dizionari: http://linguistico.sourceforge.net/wiki
I lati oscuri del secure boot:
https://www.fsf.org/campaigns/secure-boot-vs-restricted-boot/whitepaper-web
Petizione contro il secure boot:
https://www.fsf.org/campaigns/secure-boot-vs-restricted-boot/statement
GNU/Linux User: 302090: http://counter.li.org
Non autorizzo la memorizzazione del mio indirizzo su outlook
Loading...