Visualizzazione dei risultati da 1 a 10 su 10

Discussione: cancellazione file

  1. #1
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130

    cancellazione file

    quando sviluppo in locale e faccio un unlink() su un file devo prima fare il chmod a 777 per avere il permesso di cancellazione? pensavo che in locale non ci fossero scazzi simili e si potesse cancellare senza problemi

  2. #2
    evidentemente non hai i settato bene i permessi sulla directory...non serve farlo sempre! basta farlo una sola volta nella root principale di apache

  3. #3
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    ma siccome sto sviluppando un'applicazione open source volevo fare in modo di far fare tutto allo script in modo che funzioni con ogni settaggio possibile del webserver. In linea di principio va bene fare preventivamente il chmod su ogni file o dir su cui si vuole poi agire per cancellare o rinominare?

  4. #4
    beh quello che dici non si può fare...

    ogni directory ha dei permessi di lettura e scrittura per proprietario, gruppo, altri utenti

    l'esecuzione di uno script php avviene tramite browser, e ogni operazione viene fatta da un utente (io uso ubuntu e l'utente in questione mi pare sia www-data).

    se questo utente (www-data) non ha i permessi di scrittura sulla directory del server, io non potrò mai fare un chmod su dei file...in quanto non ho i permessi per farlo! Quindi io devo partire già dall'inizio con i permessi settati a 777 per far fare tutto a tutti (compresi i chmod)

    dimenticavo, se l'applicazione potrà essere eseguita online, sul webserver online avrai sicuramente i permessi di lettura scrittura ed esecuzione del tuo script

  5. #5
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    no no senti ... ti spiego meglio. Io ho uno script che seg agiù file. Vuoi dirmi che non funzionerà mai se chiamato da un utente qualsiasi?

  6. #6
    allora

    ogni directory ha i permessi per

    proprietario LETTURA SCRITTURA ESECUZIONE
    gruppo LETTURA SCRITTURA ESECUZIONE
    altri utenti LETTURA SCRITTURA ESECUZIONE


    ora bisogna distinguere due casi:

    CREAZIONE E MODIFICA DI FILE COME UTENTE IN QUALSIASI DIRECTORY DEL DISCO
    in questa fascia rientrano tutti i file che crei o modifichi con i vari software, ad esempio

    un file di testo creato con openoffice e salvato nella tua home
    /home/nomeutente/file.odt

    oppure la creazione (ad esempio con l'editor php SCREEM!) di un file php nella directory del webserver
    /var/www/sito1/index.php

    queste operazioni le esegui come utente che effettua il login all'avvio del computer.



    CREAZIONE E MODIFICA DI FILE NEL WEBSERVER TRAMITE SCRIPT PHP
    in questa fascia rientrano le modifiche o le creazioni di file e directory che vengono effettuate tramite script php.
    ad esempio uno script che ha queste righe
    Codice PHP:
    if ( !file_exists( ... ) )
        
    mkdir( .... ) 
    questo codice non viene eseguito come utente che si logga all'avvio del computer, ma viene eseguito (per lo meno su ubuntu...) dall'utente www-data.


    ora, se tu controlli i permessi sulla document root di apache noterai come sempre
    proprietario avra tutti i permessi
    gruppo probabilmente tutti i permessi
    altri utenti potresti 1 o più permessi negati (lettura esecuzione e scrittura)

    nel caso in "altri utenti" hai dei permessi negati, devi impostargli tutti i permessi per poter fare le modifiche che ti servono tramite l'esecuzione degli script

  7. #7
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    prima domanda: ma nel caso di uno script chiamato da remoto chi è "proprietario" chi è "gruppo" e chi "altri"? www-data (o chi per esso in windows) è altri utenti o gruppo? mi par di capire da quello che scrivi che è "altri utenti" no?

    seconda domanda: ma se il server è remoto come faccio cambiare i permessi per "altri utenti"?

    grazie

  8. #8
    ah, ma tu stai parlando di windows?? io pensavo parlassi di linux!

    per cambiare i permessi devi usare un client ftp, lo stesso con cui fai l'upload dei file

  9. #9
    Utente di HTML.it L'avatar di nourdine
    Registrato dal
    Nov 2005
    Messaggi
    1,130
    no no senti ti spiego bene. io sviluppo in locale ma poi butto tutto online. Sto scrivendo un'applicazione per wiki che usa i file per archiviare i dati. Una parte dello script permette (o meglio vorrebbe permettere) ai futuri utenti registrati di cancellare questi cazzo di fle (ogni file equivale a un nodo del viki) quando vengono ritenuti obsoleti o altro. Lo script passa a se stesso i riferimenti sulla locazione del file (i file sono organizzati in cartelle) per poi fare l'eliminazione. La creazione di nuovi file è un processo continuo (per natura intrinseca del wiki) e implementato dallo script stesso [con uso di funzioni tipo fopen("nomefile", a+)]. Ora sti benedetti utenti devono avere a che fare con file 777 altrimenti chi cancella niente?

    La mia domanda fin da principio era:

    Non è una buona idea Chmoddare i file dopo averli creati a 777 dimodo che in fase di cancellazione non ci siano problemi? Non posso chiedere agli utenti di andare via ftp ogni volta per cambiare i permessi degli innumerevoli file txt (contenenti nodi del wiki) che vgiornalmente; non sarebbe motlo professionale no credi?

    Per concludere io non ho ancora capito (e neanche provato per ragioni di tempo) se si puo fare eseguire un chmod() allo script quando viene chiamato da un benedetto client: tipo creare il file e poi chmoddarlo.

    se pò fa o no?

  10. #10

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.