Newsgroup: it.comp.os.linux.sys
Titolo: cosa puo fare root che un utente normale non puo?

per esempio il comando ping è suid perchè deve aprire un raw socket. 
quindi un utente non root non puo aprire un socket raw.
so anche che un utente non root non puo aprire un socket su una porta 
privilegiata, e non puo caricare moduli nel kernel. ma sono sicuro che 
non è tutto. insomma... per cosa ci vogliono i diritti di root? c'è una 
lista?

 lista?
No c'e' un NG... si chiama it.comp.os.linux.iniziare.
Joe
-- 
Full sources for linux currently runs to about 200kB compressed - full
sources to a somewhat complete developement system is at least 10MB
compressed  					-- Linus torvalds, 1992
***  To mail me dump windows

prova a fare:
rm -rf /
prima da utente e poi da root.
-- 
L'ignoranza trascende l'architettura.
                -- James Gaskin

 rm -rf /
sei cattivissimo... :o)
Rob


no, è un'ottimo modo per imparare

sei cattivissimo... :o)
Ma no, dai... se posta su .sys non ci casca ;-)
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?

 quindi un utente non root non puo aprire un socket raw.
La questione e' questa: non ha senso sapere tutte le cose che l'utente 
non puo' fare, gia' a priori. Sarebbe una lista infinita che non serve a 
nulla. Mi spiego.
L'esigenza nasce quando devi fare qualcosa. A quel punto verifichi se 
l'utente normale la puo' fare o meno.
una cazzata tanto per chiarire: devi modificare le impostazioni del 
server X, provi da utente, ti accorgi che non puoi e fine della 
questione. Lo stesso vale per tutto il resto.
Che senso ha sapere a priori tutto cio' che l'utente puo' fare?
Potrebbe avere un senso se dovessi studiare delle policy per degli 
utenti che devono collegarsi al tuo computer, ma se per esempio devi 
scrivere un programma, farai tutte le verifiche del caso di volta in volta.
--
Massimiliano.


Beh, non e' una domanda cosi' stupida...
Voglio dire, io lavoro con sistemi linux da un po' (seconda meta' degli anni
'90), ma in effetti una lista *completa* di cio' che richiede privilegi di
root per essere fatto non la saprei fare...
Perche' ovviamente root puo' fare tutto, ma cosa *non* puo' fare un utente
normale (a parte aggiustare file con owner inesistente e permessi 00000 o fare
"read mail", con opzione "really fast" direttamente nella / :P)?
Vediamo:
- aprire un raw socket
- fare il bind di una porta privilegiata
- caricare/scaricare moduli di kernel
- montare/smontare qualunque volume
Cosi' al volo altro non mi viene in mente.
E neanche a Google viene in mente altro :P
Ciaotutti,
*


 
bastardo... :-D

 privilegi di root per essere fatto non la saprei fare...
Semplicemente perche` la lista e` in continua evoluzione, quindi e`
impossibile definire cosa un utente non puo` fare.
Giusto per fare un esempio, tra il kernel 2.6.7 e 2.6.8 un utente ha perso
la possibilita` di masterizzare CD, anche con binari suid-ati. ;)
In generale un utente puo` fare quello che root e il kernel gli
consentono, e non puo` fare tutto il resto.
Bye.

 volta.
Io non sono convinto che la lista sarebbe cosi' lunga... Beh, ovviamente non
parlo di una lista esaustiva (per dire, io potrei fare un mio programma che
controlla l'uid e se non e' 0 ti manda a quel paese, e nessuno lo saprebbe a
parte me), ma le cose che "notoriamente" non si possono fare se non da root
non dovrebbero essere poi tante...


 non dovrebbero essere poi tante...
La questione e' tutta concettuale. Alla lista io ti aggiungo i 2000 file 
di sistema e di configurazione che sono diversi da distribuzione a 
distribuzione. Questo era anche il mio punto di vista (sudo/suid si 
usano per ovviare a questo problema, am questa e' una cosa tecnica che 
non e' stata chiesta)
In linea di massima si puo' parlare di "tipo di operazione" che 
solitamente e' concessa agli utenti non root, ma non si puo' scrivere 
una lista, o non so se c'e' uno standard posix per questo. In linea di 
massima domani ti posso fare una distribuzione dove tutti i permessi 
sono al contrario o quello che mi pare.
--
Massimiliano.

 No c'e' un NG... si chiama it.comp.os.linux.iniziare.
li ho chiesto una settimana fa. non lo sapevano. quindi ho postato qui.

 
già. e perchè non provare il più creativo cat /dev/urandom > /dev/hda 
prima da utente normale e poi da root?

 sono al contrario o quello che mi pare.
ok. allora nel kernel linux su 
ftp.kernel.org
, cosa puo fare un utente 
root che un utente normale non puo?
saluti

 root che un utente normale non puo?
Credo che troverai interssante questo file:
/usr/include/linux/capability.h
Con lcap puoi vedere qual è lo stato corrente delle capabilities
ed eventualmente rimuoverne qualcuna.
Con sucap puoi assegnare capabilities ad uid non root.
Qui trovi una faq al proposito:
http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/capfaq-0.2.txt
HTH.
-- 
Per non dimenticare:
http://snipurl.com/SdC_ed_il_vino
Le sigarette a volte danno buoni consigli:
http://snipurl.com/sigarette

 - montare volumi
idem per questo. non in tutti le distro e' consentito solo a root (mi 
pare che non puoi smontare quelli montati dagli altri). Su fedora, con 
qualsiasi utente, oggi fai click con il tasto destro sul desktop e puoi 
montare i device e puoi smontarli se sono stati montati da te.
Ma questo vale in linea di principio per qualsiasi cosa.
come dicevo prima bisogna vedere se esiste uno standard posix su questo 
e se linux e' "compliant" con questo standard.
whilplash ha trovato un esempio che calza, che parla delle "posix 
capabilities" e allora vuol dire che questo standard c'e'.
--
Massimiliano.

 
http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/capfaq-0.2.txt
grazie. sei un dio.

 nulla. Mi spiego.
Non mi sembra una grande obiezione. Ad esempio io come user non posso 
cancellare il file /etc/fstab, non posso modificare il file 
/boot/grub/menu.lst e non posso leggere il file /home/altroutente/.bashrc
Tuttavia si può dire con una frase sola
* root può modificare o eliminare qualunque file (in senso unix) 
indipendentemente dai permessi e dal proprietario del file stesso.
E, più raffinata:
* solamente root può impostare l'owner di un file verso un utente 
diverso da se stesso
(cioè paulatz non può fare "chown topolino /file/name" mentre root può 
fare "chown paulatz /file/name")
-- 
Lorenzo "Paulatz" Paulatto
Trieste
Dagli errori di Windows 98:
1070 0x042E Dopo l'avvio, il servizio si è sospeso in uno stato di attesa.
1440 0x05A0 Schermo già bloccato.

 prima da utente normale e poi da root?
perche' appesantisci la cpu , meglio /dev/zero :-)
-- 
Io non so con quali armi sara' combattuta la III Guerra Mondiale, ma so
che la IV Guerra Mondiale sara' combattuta con pietre e bastoni.
                -- Albert Einstein

 
I quote and agree.
--
Massimiliano.