View previous topic :: View next topic |
Author |
Message |
mack1 Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/3822305304c5873a386f22.jpg)
Joined: 18 Mar 2006 Posts: 315
|
Posted: Mon Dec 10, 2007 9:52 pm Post subject: |
|
|
Beh non vorrei fare figuracce ma siccome chi non chiede non impare mai niente:
la mia home è su una partizione separata e montata con noexec:
Code: |
xxxGen ~ # mount | grep /home
/dev/sda7 on /home type ext3 (rw,noexec,nosuid,nodev,noatime,nodiratime)
|
Ho installato wine e poi emule che risiede all'interno della partizione home:
Code: |
merlinuxxx@xxxGen ~ $ ls -a ~/
. .bashrc Desktop .fonts.conf .kde3.5 .macromedia .recently-used.xbel .wine
.. CCNA-3.1.1 .dmrc .gkrellm2 .kderc .mplayer software .Xauthority
.bash_history .config doc-pdf .gnupg .kinorc music .thumbnails .xsession-errors
.bash_logout .DCOPserver_xxxGen__0 .fontconfig .ICEauthority .ktorrent.lock .nvidia-settings-rc torrent
.bash_profile .DCOPserver_xxxGen_:0 .fonts .kde .local .qt .tvtime
merlinuxxx@xxxGen ~ $ ls -a ~/ | grep wine
.wine
merlinuxxx@xxxGen ~ $ ls -a .wine
. .. dosdevices drive_c system.reg userdef.reg user.reg
merlinuxxx@xxxGen ~ $ ls -a .wine/drive_c
. .. Programmi windows
merlinuxxx@xxxGen ~ $ ls -a .wine/drive_c/programmi
ls: impossibile accedere a .wine/drive_c/programmi: No such file or directory
merlinuxxx@xxxGen ~ $ ls -a .wine/drive_c/Programmi
. .. Common Files eMule Internet Explorer
merlinuxxx@xxxGen ~ $ ls -a .wine/drive_c/Programmi/eMule
. changelog.txt downloads.txt eMule Light.tmpl lang LinkCreator.exe Temp Uninstall.exe
.. config eMule.chm eMule.tmpl license-GER.txt readme.txt Template.eMuleSkin.ini webserver
changelog.ger.txt downloads.bak emule.exe Incoming license.txt skins Template.Notifier.ini
merlinuxxx@xxxGen ~ $ ls -l .wine/drive_c/Programmi/eMule/emule.exe
-rwx------ 1 merlinuxxx merlinuxxx 5308416 13 mag 2007 .wine/drive_c/Programmi/eMule/emule.exe
|
Il bello è che posso eseguire emule anche se si trova dentro la mia partizione
Code: |
merlinuxxx@xxxGen ~ $ wine .wine/drive_c/Programmi/eMule/emule.exe
WARNING: Trying to create a socket of type SOCK_RAW, this will fail unless you have special permissions.
WARNING: Trying to use ICMP (network ping) will fail unless running as root
err:listview:LISTVIEW_WindowProc unknown msg 108a wp=00000000 lp=0033d860
....etc
merlinuxxx@xxxGen ~ $ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
1000 6422 0.0 0.0 4160 1716 pts/1 Ss 22:34 0:00 /bin/bash
1000 6885 9.0 1.3 2672892 27188 pts/1 SLl+ 22:45 0:07 .wine/drive_c/Programmi/eMule/emule.exe
1000 6925 0.0 0.0 4160 1704 pts/2 Ss 22:46 0:00 /bin/bash
1000 6944 0.0 0.0 2504 984 pts/2 R+ 22:47 0:00 ps u
|
Come è possibile se la mia home è montata con l'opzione noexec???
Ciao |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
codadilupo Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Tue Dec 11, 2007 7:21 am Post subject: |
|
|
suppongo sia perchè tu non esegui emule, ma wine, che non mi pare si trovi sulla tua home
Coda |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mack1 Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/3822305304c5873a386f22.jpg)
Joined: 18 Mar 2006 Posts: 315
|
Posted: Tue Dec 11, 2007 10:16 am Post subject: |
|
|
@codadilupo
Ok, ma non sembra un modo per saltare a piedi pari l'opzione noexec impostata sulla mia home, con tutte le conseguenze del caso?
Ciao |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
djinnZ Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/3978748614ef08bfa7f764.jpg)
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Tue Dec 11, 2007 11:24 am Post subject: |
|
|
il permesso di esecuzione è una cosa che appartiene al mondo *nix non quello M$.
Wine si comporta come rundll32 quindi di suo esegue tutto quello che è eseguibile secvondo estensione del nome o intestazione del file (uno dei tanti motivi per cui winzozz è un colabrodo). Il kernel ed il vfs vedono solo una instanza di wine non amule in esecuzione. Come dire che avvi un editor su un file, il kernel al massimo può verificare se l'istanza ha il permesso di leggerlo quel file non ha certo idea che vengono eseguite delle istruzioni in base ad esso.
Se però provi ad eseguire un binario linux esterno (tipo usare la jre/copia di firefox di linux invece di quella winzozz) quello dovrebbe essere eseguito o meno secondo i permessi.
Per lo stesso motivo se fai uno script "fesso.sh" contenente un bel , lo metti nella home montata con noexec (o non ha attibuto di esecuzione, fa lo stesso) e scrivi te lo esegue ugualmente.
Un mezzo workaround per evitare errori stupidi del tipo "wine suoneriegratisdellamaremmamaiala.exe" è impostare l'esecuzione automatica del codice windozz attraverso il supporto ai misc binaries del kernel ma la cosa ha delle ulteriori implicazioni di (in)sicurezza. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist ![Wink :wink:](images/smiles/icon_wink.gif)
Last edited by djinnZ on Tue Dec 11, 2007 11:26 am; edited 2 times in total |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
codadilupo Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Tue Dec 11, 2007 11:24 am Post subject: |
|
|
trovo complicato per noexec capire che deve bloccare l'esecuzione da parte di un software che non sta in home, di un exesguibile compilato per un altra architettura, per cui - suppongo - sia un comportamento normale, ma attendo smentite o conferme
Coda |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mack1 Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/3822305304c5873a386f22.jpg)
Joined: 18 Mar 2006 Posts: 315
|
Posted: Tue Dec 11, 2007 3:02 pm Post subject: |
|
|
@djinnZ
Mi sembra la spiegazione migliore:in pratica wine essendo esterno alla partizione, quando manda in esecuzione quellochevuoi .exe, il kernel (e vfs) "vede" .exe come se fosse ,per esempio, un file di testo che viene semplicemente letto e non mandato in escuzione da wine !Ecco come aggira no exec .
@codadilupo
La mia era solo una curiosità, visto poi che si parlava di permessi...
Ciao e grazie |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
djinnZ Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/3978748614ef08bfa7f764.jpg)
Joined: 02 Nov 2006 Posts: 4831 Location: somewhere in L.O.S.
|
Posted: Tue Dec 11, 2007 4:30 pm Post subject: |
|
|
mack1 wrote: | !Ecco come aggira no exec ![Cool 8)](images/smiles/icon_cool.gif) |
e ridagli! Non aggira nulla.
Semplicemente funziona in maniera differente perchè sono nati con due concezioni diverse. La stessa cosa capita con java, con i .net, e con qualsiasi cosa venga interpretata.
In realtà l'unico modo per risolvere il problema è usare un utente dedicato ed una policy di sicurezza adeguata altrimenti il rimedio potrebbe essere peggiore del male. _________________ scita et risus abundant in ore stultorum sed etiam semper severi insani sunt
mala tempora currunt...mater stultorum semper pregna est
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist ![Wink :wink:](images/smiles/icon_wink.gif) |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
mack1 Guru
![Guru Guru](/images/ranks/rank_rect_3.gif)
![](images/avatars/3822305304c5873a386f22.jpg)
Joined: 18 Mar 2006 Posts: 315
|
Posted: Wed Dec 12, 2007 9:33 am Post subject: |
|
|
@djinnZ
Ok era quello che più o meno cercavo di dire ....noexec >>>eseguibili *nix su quello che non è *nix non può fugere!!!
grazie della risposta
Ciao |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Jisaw n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
![](images/avatars/973362225476c0d9cb753d.jpg)
Joined: 14 Dec 2007 Posts: 15 Location: Torino
|
Posted: Fri Dec 21, 2007 6:07 pm Post subject: |
|
|
randomaze wrote: | djinnZ wrote: | la cosa anomala di quel che ha riportato cazzantonio è il cambio di owner che senza acl/sticky bit non è possibile a quel che ne so io. |
No, perché c'era il permesso in lettura del file. La move si é comportata come se fosse "cp+rm". |
Mi pare di ricordare che dipenda da dove effettui la mv. Se effettui la mv in un ramo della stessa partizione in cui sei non viene creato nessun file, viene solo cancellato e ricreato un puntatore ad un inode già presente, a patto di avere i permessi di scrittura sulla directory (si può provare aggiungendo l' opzione i di ls, che mostra il numero di inode, rimane lo stesso). Se invece si fa la mv in un altro disco oppure un' altra partizione allora mv si comporta come una cp+rm, perchè gli inode non sono condivisi tra diverse partizioni. L' inode, infatti, risulta diverso. In questo caso sulla mia macchina, con fs ext3, se muovo un file non di mia proprietà nella mia home viene creata una copia del file con i permessi del mio utente e cancellato il file dalla posizione originale, se il mio utente ha il permesso di scrittura su quella directory. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
cloc3 Advocate
![Advocate Advocate](/images/ranks/rank-G-1-advocate.gif)
![](images/avatars/39525275142a0fd302dc7e.gif)
Joined: 13 Jan 2004 Posts: 4815 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Sat Jan 26, 2008 9:15 pm Post subject: Re: Scusate ma non ho capito nulla sui permessi finora [RISO |
|
|
Cazzantonio wrote: | Accetto qualsiasi risposta, mi basta capire... |
oggi stavo leggendo alcuni brani delle specifiche UNIX, scaricate direttamente da http://www.opengroup.org e mi sono ricordato di questo topic.
il fatto di leggere e modificare il contenuto di /home/data scende semplicemente dal fatto che tu hai i permessi sulla cartella:
Quote: |
4. General concepts
...
4.2 Directory Protection
If a directory is writable and the mode bit S_ISVTX is set on the directory, a process may remove or rename files within that directory only if one or more of the following is true:
The effective user ID of the process is the same as that of the owner ID of the file.
The effective user ID of the process is the same as that of the owner ID of the directory.
The process has appropriate privileges.
If the S_ISVTX bit is set on a non-directory file, the behavior is unspecified.
|
una sola delle condizioni previste è sufficiente, nel tuo caso la seconda.
il fatto di cambiare il proprietario è previsto in caso di necessità:
Quote: |
NAME
mv - move files
...
5. The following characteristics of each file in the file hierarchy shall be duplicated:
...
The user ID and group ID
...
If the user ID, group ID, or file mode of a regular file cannot be duplicated, the file mode bits S_ISUID and S_ISGID shall not be duplicated.
|
dunque: cp+rm, come si diceva sopra. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
CarloJekko Veteran
![Veteran Veteran](/images/ranks/rank_rect_5_vet.gif)
![](images/avatars/17829012804368ad2e5dc22.jpg)
Joined: 31 Mar 2005 Posts: 1315 Location: Baia Domizia :-)
|
Posted: Thu Feb 14, 2008 4:23 pm Post subject: |
|
|
bisogna inserire o sticky bit nella directory
Code: | Sticky bit on a directory allows only the owner of a file (and to superuser) to delete it.
|
_________________ C. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|