Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [Java] Eseguire comando con permessi elevati su Linux/Mac

    dovrei fare un programmino che esegue anche comandi che riechiedono permessi elevati su linux/mac.
    c'è la poassiblità di far interagire java con la richiesta di permessi di linux/mac?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    si può fare, con la prima chiamata devi fare una chmod con la seconda eseguire.
    Resta il problema della privacy, visto che dal tuo programma le pass di sistema passano in chiaro (devi acquisirla per poter lanciare il chmod) e non è il top.
    L'ideale sarebbe

    1. eseguire il programma con i giusti permessi
    2. cambiar e i permessi prima assicurandoli per le strutture che ti interessano

  3. #3
    Originariamente inviato da valia
    si può fare, con la prima chiamata devi fare una chmod con la seconda eseguire.
    Resta il problema della privacy, visto che dal tuo programma le pass di sistema passano in chiaro (devi acquisirla per poter lanciare il chmod) e non è il top.
    L'ideale sarebbe

    1. eseguire il programma con i giusti permessi
    2. cambiar e i permessi prima assicurandoli per le strutture che ti interessano
    scusami nn ti ho seguito molto.
    provo a fare un esempio.
    supponiamo che debba eseguire comando:
    codice:
    nmap -sS -O 192.168.1.1/24
    questo richiede permessi di root.
    quindi o lo si lancia da root o con sudo.

    io nn posso eseguire un chmod per cambiare i permessi su questo comando.
    come faccio a fare in modo che venga eseguito con i permessi giusti?

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    fai eseguire la tua app con i permessi di root
    oppure prima di fare nmap devi acquisire i diritti di root ed eseguire con quelli
    oppure aggiungi il tuo utente a quelli ammessi per quel comando

    la terza e la prima mi sembrano le migliori

  5. #5
    Originariamente inviato da valia
    fai eseguire la tua app con i permessi di root
    oppure prima di fare nmap devi acquisire i diritti di root ed eseguire con quelli
    oppure aggiungi il tuo utente a quelli ammessi per quel comando

    la terza e la prima mi sembrano le migliori
    ok, solo un'ultima cosa.
    è possibile fare un controllo sui permessi con il quale viene eseguito il comando?
    ad esempio se uno esegue quel comando da terminale senza i permessi vieni restituito un messaggio.
    è possibile passare quel messaggio o cmq dire all'utente "Non hai i permessi necessari, esegui il programma da root"??

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    devi prendere 2 cose:

    1. il valore di ritorno della exec e vedere se non è quello valido (se non ricordo male 0 è andato tutto ok, un qualsiasi valore differente è errore.)
    2. se cmq noti che per te exec va a buon fine (cioè che la exec considera eseguito il comando anche se finito con errore), devi prendere i vari stream (stdout e stderr) e parsarli alla ricerca del messaggio di errore

  7. #7
    Originariamente inviato da valia
    devi prendere 2 cose:

    1. il valore di ritorno della exec e vedere se non è quello valido (se non ricordo male 0 è andato tutto ok, un qualsiasi valore differente è errore.)
    2. se cmq noti che per te exec va a buon fine (cioè che la exec considera eseguito il comando anche se finito con errore), devi prendere i vari stream (stdout e stderr) e parsarli alla ricerca del messaggio di errore
    perfetto grazie, vedo che riesco a fare!!

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.