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

Discussione: init e privilegi

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    1,003

    init e privilegi

    mi vergogno un pò a fare questa domanda

    Quando il sistema viene avviato, il kernel esegue INIT che provvede a caricare i vari programmi (e a darmi le console). INIT carica i programmi che sono specificati in uno file script e nelle varie sottodirectory di INIT --/rc.d/rc1.d rc2.d ecc...
    La mia domanda: siccome INIT viene eseguito come root, anche i processi avviati da INIT hanno i permessi di root o si può farli avviare sotto diverse credenziali da parte di INIT? se si come?

  2. #2

    Re: init e privilegi

    Originariamente inviato da tia86
    La mia domanda: siccome INIT viene eseguito come root, anche i processi avviati da INIT hanno i permessi di root
    Si.


    o si può farli avviare sotto diverse credenziali da parte di INIT? se si come?
    Da quel che mi risulta, init non ha al suo interno queste possibilita` (abbastanza correttamente, per dirla tutta anche la parte di power management non dovrebbe stare li` IMHO).
    E` quindi il processo chiamato che deve farsi carico di rinunciare ai privilegi il prima possibile, usando le opportune chiamate di sistema o su/sudo.

    Se puoi essere piu` specifico, magari si fa un'esempio concreto
    "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".

  3. #3
    lo setti script per script, il tutto dipende dal servizio... alcuni servizi possono essere lanciati in tutto o in parte con normali user
    Meglio la carne che l'osso e darci dentro a più non posso

    http://www.realtega.tk

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    1,003
    mmh, quindi il servizio viene startato come root, dopo di che lo stesso servizio provvede a passare da root ad un'altro utente?
    Un esempio pratico?
    Se ho apache e non voglio farlo girare come root?

  5. #5
    Originariamente inviato da tia86
    mmh, quindi il servizio viene startato come root, dopo di che lo stesso servizio provvede a passare da root ad un'altro utente?
    Non tutti: tutti quelli che prevedono questa possibilita` (fatto che di solito coincide con i servizi progettati meglio, ma vabbeh)

    Un esempio pratico?
    Se ho apache e non voglio farlo girare come root?
    Perfetto, non lo conosco
    Nota comunque che il processo principale di apache deve girare come root (deve aprire la porta 80), ma poi smista le richieste a figli che hanno privilegi minori.
    "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
    Registrato dal
    Jul 2001
    Messaggi
    1,003
    Ah, non esiste un'altro modo per far partire un programma come servizio (no login) ma con un utente scelto da te?
    Mi sembra impossibile, persino Windows può farlo...

  7. #7
    Originariamente inviato da tia86
    Ah, non esiste un'altro modo per far partire un programma come servizio (no login) ma con un utente scelto da te?
    Se vogliamo una soluzione quick'n'dirty, basta ad esempio scrivere un wrapper in shell script a base di su (due righe di numero).

    Solitamente, per servizi appena corposi, e` ovviamente meglio che sia il servizio medesimo a fornire questa possibilita`.

    Rimane il fatto che per fare determinate operazioni (che di solito fanno i servizi) si devono usare i privilegi di root.

    [edit]PS: ah, comunque effettivamente non c'e` modo a me noto di far partire direttamente da init un processo con un utente specificato [/edit]
    "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".

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    1,003
    Originariamente inviato da Ikitt
    [B]Se vogliamo una soluzione quick'n'dirty, basta ad esempio scrivere un wrapper in shell script a base di su (due righe di numero).

    ehm, traduci

  9. #9
    Originariamente inviato da tia86
    ehm, traduci
    una cosa tipo (non testato)
    codice:
    #!/bin/sh
    /bin/su - IL_TUO_UTENTE $*
    Il quale, ovviamente (a meno di configurazioni particolari di PAM), se eseguito con privilegi di root cambiera` l'utente senza chiedere password; poi volendo c'e` l'alternativa sudo o molto altro ancora.

    Comunque, a scanso equivoci, meglio evitare ove possibile di far lanciare servizi direttamente da init, meglio raffidarsi agli script standard in /etc/rc.d, /etc/init.d...
    "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".

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    1,003
    Originariamente inviato da Ikitt
    una cosa tipo (non testato)
    codice:
    #!/bin/sh
    /bin/su - IL_TUO_UTENTE $*
    Vado leggermente OT
    Ho notato che gli script hanno i permessi di esecuzione.
    Questi script (non essendo codice eseguibile x86) vengono quindi interpretati da una shell.
    Se è cosi, perchè richiamare (sempre se sia un richiamo) sh (#!/bin/sh) negli script?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.