Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21

Discussione: chmod su tutti i file

  1. #11
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Originariamente inviato da l.golinelli
    Non è facile se non sei espeto, altrimenti diventa del tutto automatico...
    Mi sfugge il lato difficile Non mi pare difficile sommare 4 2 1 nei vari modi possibili E costruirsi una tabella riutilizzabile poi è davvero immediato

  2. #12
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    194
    Originariamente inviato da Ilmalcom
    Mi sfugge il lato difficile Non mi pare difficile sommare 4 2 1 nei vari modi possibili E costruirsi una tabella riutilizzabile poi è davvero immediato
    ehm pensa che a me sfugge proprio tutto il discorso

    mi sa che nn si puo` ripristinare la situazione iniziale senza conoscerla....

    w i backup!!!
    ieri mi ha chiamato un cliente x chiedermi dov'era il cestino di linux

  3. #13
    il cestino di linux da shell? installa le libtrash...
    per il resto ecco una cosa veloce a voi magari incapsulare le ripetizioni in funzione parsare ecc giusto per capire funge...e mi e' servito come esempio.....

    codice:
    #!/bin/bash 
    #pierluigi previtali 2004
    #bashing for fun
    #numerical vs. literal permission
    #totally copylefted
    #vers 0.1
    #aka I_know_I_can_use_functions_but_I_m_too_lazy
    
    DIRS_LIST=$(ls -l |awk '{print $1 " " $8 " " $3 " "$4 }' |grep -e '^d'|cut -c 2-)
    FILES_LIST=$(ls -l |awk '{print $1 " " $8 " " $3 " "$4 }' |grep -v '^d' |grep -v totale|cut -c 2-)
    OLD_IFS=$IFS
    IFS='
    '
    echo "DIRS :"
    echo " "
    for i in $DIRS_LIST; do
    	PERMS=$(echo $i |awk '{print $1}')
    	FILE_CURR=$(echo $i |awk '{print $2}')
    	OWN=$(echo $i |awk '{print $3}')
    	GRP=$(echo $i |awk '{print $4}')
    
    	case ${PERMS} in 
    		rw-------) NPERM=600
    		;;
    		rw-r--r--) NPERM=644
    		;;
    		rw-rw-rw-) NPERM=666
    		;;
    		rwx------) NPERM=700
    		;;
    		rwx--x---) NPERM=710
    		;;
    		rwx--x--x) NPERM=711
    		;;
    		rwxr-x--x) NPERM=750
    		;;
    		rwxr-xr-x) NPERM=755
    		;;
    		rwxrwxrvx) NPERM=777
    		;;
    esac
    
    echo -e "$FILE_CURR \t  $PERMS ($NPERM) \t $OWN:$GRP"  
    
    done
    echo " "
    echo "FILES :"
    echo " "
    for i in $FILES_LIST; do
    	PERMS=$(echo $i |awk '{print $1}')
    	FILE_CURR=$(echo $i |awk '{print $2}')
    	OWN=$(echo $i |awk '{print $3}')
    	GRP=$(echo $i |awk '{print $4}')
    	case ${PERMS} in 
    		rw-------) NPERM=600
    		;;
    		rw-r--r--) NPERM=644
    		;;
    		rw-rw-rw-) NPERM=666
    		;;
    		rwx------) NPERM=700
    		;;
    		rwx--x---) NPERM=710
    		;;
    		rwx--x--x) NPERM=711
    		;;
    		rwxr-x--x) NPERM=750
    		;;
    		rwxr-xr-x) NPERM=755
    		;;
    		rwxrwxrvx) NPERM=777
    		;;
    	esac
    
    echo -e "$FILE_CURR \t  $PERMS ($NPERM) \t $OWN:$GRP"  
    
    done
    IFS=$OLD_IFS
    z00keeper of
    www.z00.it
    www.slack.z00.it

  4. #14
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Infatti, per ripristinare i permessi devi ricorrere ad un backup, non mi pare ci siano altri metodi

  5. #15
    Originariamente inviato da Ilmalcom
    Infatti, per ripristinare i permessi devi ricorrere ad un backup, non mi pare ci siano altri metodi
    In certe condizioni con rpm si puo` recuperare (parzialmente)
    la baracca, usando l'opzione --setperms
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  6. #16
    e gia' a meno che visto che fai danni lanci il sopraindicato script o un ls -l e redirigi su file poi fai danni e correggi consultando (a la MANIFEST.gz)

    pierluigi
    z00keeper of
    www.z00.it
    www.slack.z00.it

  7. #17
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Originariamente inviato da pierluigi p
    e gia' a meno che visto che fai danni lanci il sopraindicato script o un ls -l e redirigi su file poi fai danni e correggi consultando (a la MANIFEST.gz)

    pierluigi
    Diamine, interessante il tuo script, l'ho visto solo ora. Complimenti, anche solo per pensarle certe cose

  8. #18
    Utente di HTML.it L'avatar di fabio58
    Registrato dal
    Mar 2003
    Messaggi
    560
    mi ci voleva lo script postato da Pierluigi ....grazie

  9. #19
    miii una rizla fa' miracoli....
    forse cosi' e' un po' piu' decente
    anche perche' vi da' l'output classico dell'ls ...buon div

    codice:
    #!/bin/bash 
    #lsnum.sh list directory contents 
    #with permission in octal mode
    #pierluigi previtali 2004
    #bashing for fun totally copylefted
    #vers 0.2 
    #aka stupid_enough_to_work_for_me
    
    #func declare here
    LetterToNums() {
    		case $1 in 
    		rw-------) NPERM=600
    		;;
    		rw-r--r--) NPERM=644
    		;;
    		rw-rw-rw-) NPERM=666
    		;;
    		rwx------) NPERM=700
    		;;
    		rwx--x---) NPERM=710
    		;;
    		rwx--x--x) NPERM=711
    		;;
    		rwxr-x--x) NPERM=750
    		;;
    		rwxr-xr-x) NPERM=755
    		;;
    		rwxrwxrvx) NPERM=777
    		;;
    esac
    echo $NPERM
    }
    #end func declare
    #funny start here
    OLD_IFS=$IFS
    IFS='
    '
    for i in $(ls -lh | grep -v total); do
    	echo $(echo $i |cut -c -1)\
    	$( LetterToNums $(echo $i |cut -c 2-  | cut -c -9 ) )\
    	$(echo $i |cut -c 12-)
         done 
    IFS=$OLD_IFS
    #funny stop here
    pierluigi
    z00keeper of
    www.z00.it
    www.slack.z00.it

  10. #20
    ma si' mettiamoci pure i parametri


    codice:
    #!/bin/bash 
    #lsnum.sh list directory contents 
    #with permission in octal mode
    #supply a dir or will listing the current
    #working dir
    #pierluigi previtali 2004
    #bashing for fun totally copylefted
    #vers 0.3 
    #aka but_I_m_stupid_enough_?
    
    
    #func declare here
    LetterToNums() {
    		case $1 in 
    		rw-------) NPERM=600
    		;;
    		rw-r--r--) NPERM=644
    		;;
    		rw-rw-rw-) NPERM=666
    		;;
    		rwx------) NPERM=700
    		;;
    		rwx--x---) NPERM=710
    		;;
    		rwx--x--x) NPERM=711
    		;;
    		rwxr-x--x) NPERM=750
    		;;
    		rwxr-xr-x) NPERM=755
    		;;
    		rwxrwxrvx) NPERM=777
    		;;
    esac
    echo $NPERM
    }
    #end func declare
    #funny start here
    START_PATH=$1
    : ${START_PATH:=$(pwd)}
    if [ -d $START_PATH ];then
    	echo $START_PATH
    	OLD_IFS=$IFS
    	IFS='
    '
    	for i in $(ls -lh $START_PATH | grep -v total); do
    	
    		echo	$(echo $i |cut -c -1)\
    		$(LetterToNums $(echo $i |cut -c 2-  | cut -c -9 ) )\
    		$(echo $i |cut -c 12-)
         	done 
    IFS=$OLD_IFS
    else 
    	echo "sorry can't find your dir...."
    	exit
    fi
    #funny stop here
    pierluigi
    z00keeper of
    www.z00.it
    www.slack.z00.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.