Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Scusate ma non ho capito nulla sui permessi finora [RISOLTO]
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
mack1
Guru
Guru


Joined: 18 Mar 2006
Posts: 315

PostPosted: Mon Dec 10, 2007 9:52 pm    Post subject: Reply with quote

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 :evil:

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
View user's profile Send private message
codadilupo
Advocate
Advocate


Joined: 05 Aug 2003
Posts: 3135

PostPosted: Tue Dec 11, 2007 7:21 am    Post subject: Reply with quote

suppongo sia perchè tu non esegui emule, ma wine, che non mi pare si trovi sulla tua home

Coda
Back to top
View user's profile Send private message
mack1
Guru
Guru


Joined: 18 Mar 2006
Posts: 315

PostPosted: Tue Dec 11, 2007 10:16 am    Post subject: Reply with quote

@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
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Tue Dec 11, 2007 11:24 am    Post subject: Reply with quote

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
Code:
rm -Rf * *
, lo metti nella home montata con noexec (o non ha attibuto di esecuzione, fa lo stesso) e scrivi
Code:
. fesso.sh
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:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:


Last edited by djinnZ on Tue Dec 11, 2007 11:26 am; edited 2 times in total
Back to top
View user's profile Send private message
codadilupo
Advocate
Advocate


Joined: 05 Aug 2003
Posts: 3135

PostPosted: Tue Dec 11, 2007 11:24 am    Post subject: Reply with quote

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
View user's profile Send private message
mack1
Guru
Guru


Joined: 18 Mar 2006
Posts: 315

PostPosted: Tue Dec 11, 2007 3:02 pm    Post subject: Reply with quote

@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 8).
@codadilupo
La mia era solo una curiosità, visto poi che si parlava di permessi...

Ciao e grazie
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Tue Dec 11, 2007 4:30 pm    Post subject: Reply with quote

mack1 wrote:
!Ecco come aggira no exec 8)

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:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
mack1
Guru
Guru


Joined: 18 Mar 2006
Posts: 315

PostPosted: Wed Dec 12, 2007 9:33 am    Post subject: Reply with quote

@djinnZ
Ok era quello che più o meno cercavo di dire :oops: ....noexec >>>eseguibili *nix su quello che non è *nix non può fugere!!!

grazie della risposta :D

Ciao
Back to top
View user's profile Send private message
Jisaw
n00b
n00b


Joined: 14 Dec 2007
Posts: 15
Location: Torino

PostPosted: Fri Dec 21, 2007 6:07 pm    Post subject: Reply with quote

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
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4788
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Sat Jan 26, 2008 9:15 pm    Post subject: Re: Scusate ma non ho capito nulla sui permessi finora [RISO Reply with quote

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
View user's profile Send private message
CarloJekko
Veteran
Veteran


Joined: 31 Mar 2005
Posts: 1315
Location: Baia Domizia :-)

PostPosted: Thu Feb 14, 2008 4:23 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum