Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: chmod...dubbi..

  1. #1
    Utente di HTML.it L'avatar di Andre00
    Registrato dal
    Mar 2003
    Messaggi
    371

    chmod...dubbi..

    Letto su linux&c di questo mese:

    si voglia far si che solo l'utente tizio possa utilizzare il file cdrecord (oltre root naturalmente)
    groupadd cdburn
    chown root:cdburn /usr/bin/cdrecord
    chmod 750 /usr/bin/cdrecord

    Fermiamoci qua.
    E' stato creato un nuovo gruppo cdburn
    il proprietario di /usr/bin/cdrecord da root è diventato cdbrun
    si sono dati gli attributi 750 a cdrecord
    gpasswd -a tizio cdburn
    newgrp cdburn
    cdrecord -scanbus
    se tizio però prova ad usare cdrecord non funziona perchè?

    Perchè?
    con chown 750 /usr/bin/cdrecord non abbiamo già detto che i gruppi possono leggere ed eesguire cdrecord?
    secondo perchè non si poteva dire dall'inizio
    chown root:tizio /usr/bin/cdrecors
    cdown (cambia il proprietario, ma il proprietario del gruppo desumo altrimenti basterebbe la riga che ho appena scritto)

    L'articolo continua
    chmod ug+s /usr/bin/cdrecord
    Cosa fa esattamente questa riga che trasforma di fatto con un ls -al /usr/bin/cdrecord
    gli attributi x in s del file /usr/bin/cdrecord
    -rwsr-s--- 1 root cdburn 311k ago14 2003

    qualcuno mi saprebbe spiegare cosa fa esattamente chmod con 777
    oppure ug+s o , cosa sono altri attributi in più questi?


    ciao e grassie!!
    L'incubo peggiore è non poter più sognare...

  2. #2
    VVoVe:

    dunque chown nome:nome2 non cambia il proprietario da nome a nome2, ma setta il proprietario a nome e il gruppo a nome2

    chmod 777 dà i permessi 777: lettura+scrittura+esecuzione(7) a tutti(777)

    se l'utente non riesce ad eseguirlo è perchè o non è stato aggiunto al gruppo oppure perchè dopo essere stato aggiunto deve riloggarsi

    sinceramente non ho ben capito perchè bisogna sempre riloggarsi.. è anche abbastanza scomodo a volte però è così, non c'è qualche tool per aggiornare il db degli utenti:gruppi in modo da non doversi per forza riloggare?
    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  3. #3

    Re: chmod...dubbi..

    Originariamente inviato da Andre00
    chown root:cdburn /usr/bin/cdrecord
    chmod 750 /usr/bin/cdrecord
    Fermiamoci qua.
    E' stato creato un nuovo gruppo cdburn
    il proprietario di /usr/bin/cdrecord da root è diventato cdbrun
    ...Il proprietario e` rimasto root, il gruppo e` diventato cdburn
    se tizio però prova ad usare cdrecord non funziona perchè?
    Non funziona sta per: non si avvia o non esegue per permessi insufficienti?
    chmod ug+s /usr/bin/cdrecord
    Cosa fa esattamente questa riga che trasforma di fatto con un ls -al /usr/bin/cdrecord
    gli attributi x in s del file /usr/bin/cdrecord
    -rwsr-s--- 1 root cdburn 311k ago14 2003
    [...]
    oppure ug+s o , cosa sono altri attributi in più questi?
    Mumble, il perche` nell'articolo si imposti anche il group id mi sfugge, comunque l'idea di base e` la seguente:
    - cdrecord ha bisogno dei permessi di root per funzionare
    - per evitare di usare root per masterizzare, o si usa sudo,
    o si attiva il bit suid all'eseguibile
    - dato che gli eseguibili col bit suid sono pericolosi, si restringe la possibilita` d'uso di cdrecord suid-ato ad un ristretto gruppo di utenti (gruppo cdburn)
    - si aggiungono tutti gli utenti che vogliono masterizzare al gruppo cdburn suddetto.

    Problema: il sistema non sa che un dato utente e` stato aggiunto a quel gruppo. Soluzione: newgrp o logout/login.

    In alternativa, per usi sporadici o se per qualche motivo non si vuol inserire un dato utente in un dato gruppo in modo permamente, si imposta una password per il gruppo (gpasswd) e si usa newgrp.
    "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".

  4. #4
    Utente di HTML.it L'avatar di Andre00
    Registrato dal
    Mar 2003
    Messaggi
    371
    OK mi hai delucidato su un punto.

    ma cosa fa
    chmod ug+s /usr/bin/cdrecord
    di diverso rispetto a
    chmod 750 /usr/bin/cdrecord

    PS. Su linux&cd di questo mese c'è la knoppix 3.4

    L'ho provata secondo me è stupenda.Provala.Te la consiglio.

    Anche se ormai ho capito come fare un live cd...
    l'unico problema serio è che non riesco a fare un live floppy...è li la chiave.

    CIAO..
    L'incubo peggiore è non poter più sognare...

  5. #5
    Originariamente inviato da Andre00
    OK mi hai delucidato su un punto.
    ma cosa fa
    chmod ug+s /usr/bin/cdrecord
    di diverso rispetto a
    chmod 750 /usr/bin/cdrecord
    Agisce su bit diversi.
    Il primo chmod abilita il bit suid e il bit sgid. Non tocca i permessi standard.
    Il secondo chmod imposta permessi di: scrittura/lettura/esecuzione per il proprietario, lettura/esecuzione per il gruppo, nulla per gli altri. Non tocca i bit sid/sgid/sticky.
    "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. #6
    Utente di HTML.it L'avatar di Andre00
    Registrato dal
    Mar 2003
    Messaggi
    371
    ok per quello che mi dici, ma la questione è che io ho una guida di linux (e ho controllato anche su man chmod) ma non riesco a capire l'utilità di quei bit
    SUID SGIP e immagino ci sia anche SOID a questo punto.
    dando
    chmod ug+s cdrecord
    cosa sto facendo concretamente?
    abilito il SUID e il SGUIDsu cdrecord , ok
    ma questo che significa? Voglio dire dando chmod 750 cdrecord
    sto già dicendo al gruppo cdburn (visto che ho già detto che cdrecord fa già parte del gruppo cdburn con chown root:cdburn cdrecord)
    che tutti quelli che appartengono a cdburn possono leggere ed esguire cdrecord, o sbaglio?
    Ma allora a cosa serve abilitare il e il SUID o il SGID su cdrecord?

    Scusate me è che vorrei vederci chiaro è non capisco l'utilità di quei bit.
    L'incubo peggiore è non poter più sognare...

  7. #7
    tutti i bit dei permessi (in ottale):

    4000 suid
    quando il file viene eseguito, il processo avrà i permessi del proprietario del file

    2000 sgid
    quando il file viene eseguito, il processo avrà i permessi del gruppo del file

    1000 sticky
    per le directory non consente di cancellare i file se non al creatore dello stesso. non specificato per gli altri file

    0400 owner r
    permette la lettura al proprietario

    0200 owner w
    permette la scrittura al proprietario

    0100 owner x
    permette l'esecuzione al proprietario

    0040 0020 0010 group
    permettono r, w, x agli utenti del gruppo

    0004 0002 0001 others
    permettono r, w, x a tutti gli altri utenti

    @_=(115,-17,6);print+map{chr$_[$.=$_-$_]*$_**$.+++$_[$.]*$_**$.+++$_[$.]*$_**$.}$.-$...$#_

  8. #8
    Originariamente inviato da Andre00
    SUID SGIP e immagino ci sia anche SOID a questo punto.
    Non il terzo e` lo sticky bit, un bit Substitute Other ID non avrebbe senso d'altronde
    dando
    chmod ug+s cdrecord
    cosa sto facendo concretamente?
    Stai impostando il file in modo che, una volta lanciato, venga eseguito con uid e gid pari a quelli del proprietario e del gruppo del file, non pari a quelli dell'utente che li sta eseguendo.

    Se l'utente tizio nel gruppo tizio lancia il programma pippo, con permessi rwxr-xr-x, proprietario root/root il processo pippo risultante avra` uid=tizio e gid=tizio.
    Se l'utente tizio nel gruppo tizio lancia il programma pluto , con permessi rwsr-sr-s, proprietario root/root, il processo pluto risultante avra` uid=root e gid=root.
    Questo grazie all'azione dei bit suid e sgid.

    Voglio dire dando chmod 750 cdrecord
    sto già dicendo al gruppo cdburn (visto che ho già detto che cdrecord fa già parte del gruppo cdburn con chown root:cdburn cdrecord)
    che tutti quelli che appartengono a cdburn possono leggere ed esguire cdrecord, o sbaglio?
    Si, ma per scrivere sui CD ci vuole accesso all'hardware, cosa correttamente concessa solo a chi ha privilegi di root.

    Ma allora a cosa serve abilitare il e il SUID o il SGID su cdrecord?
    A farlo funzionare
    prova a togliere il bit suid/sgid e a provare a masterizzare
    "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".

  9. #9
    Utente di HTML.it L'avatar di Andre00
    Registrato dal
    Mar 2003
    Messaggi
    371
    credo di aver capito...sapete dove è nata la questione che mi ha fatto incasinare?
    se dall'inizio seguo la procedura descirtta nel mio primo messaggio quello che dite voi funziona alla perfezione..
    ma ora una volta dato chmod gu+s cdrecord
    ho dato per fare delle prove chmod 750 cdrecord

    ls -al
    -rwxr-x--- 1 root cdburn 311 ago 14 2003

    ok

    se da tizio io do
    cdrecord -scanbus

    FUNZIONA ANCHE L'ACCESSO ALLE PERIFERICHE!!
    questo allora cosa significa?
    Ho c'è un bug o i permessi gu+s si ereditano?

    Comunque ho capito la differenza...
    inizialmete chmod 750 cdrecord
    tizio lancia si cdrecord ma il /dev/hdc ad esmpio gli rimane inaccessibile
    con chmod ug+s cdrecord anche le "dipendeces" di cdrecord gli sono accessibili,sbaglio o ho dinuovo capito niente?
    CIAO!!
    L'incubo peggiore è non poter più sognare...

  10. #10
    Utente di HTML.it L'avatar di Andre00
    Registrato dal
    Mar 2003
    Messaggi
    371
    per adarkar

    non c'è un modo non letterale di settare i SUID e i SGID?
    chene so (invento)

    chmod 15157 cdrecord

    -rwsrwsrwx


    Sarebbe molto più pratico...
    L'incubo peggiore è non poter più sognare...

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.