Il mio amministratore del server desidera impostare le autorizzazioni di scrittura pubbliche in una directory

Sono relativamente nuovo allo sviluppo del web, pertanto vi preghiamo di essere pazienti.

Sono principalmente sviluppatore di iPhone, ma ho recentemente fatto un sito per qualcun altro che utilizza hosting condiviso. Potrei scrivere ai file in PHP su quel sito, senza wherer pensare alle autorizzazioni.

Sto avviando la distribuzione di un servizio web per una nuova applicazione che sto facendo, ma non sta andando bene. La differenza più importnte qui è che sto utilizzando il server di qualcun altro, e ho solo accesso FTP / DB.

Fondamentalmente, ho un carico di file PHP che costituiscono il mio CMS, così come:

mysite.com/admin/manage_news.php mysite.com/admin/manage_events.php 

Questi script quindi modificano il database oi file. Possono interagire con la fine del DB, tuttavia, i miei script non possono scrivere sul filesystem. Potrebbero, ad esempio, tentare di scrivere nei seguenti file:

 mysite.com/data/img/event_1.png mysite.com/data/somefile.txt 

Questo ha funzionato bene sulla mia installazione MAMP (localmente), ma una volta distribuita sul server, PHP ha spuntato errori each volta che è stata tentata una scrittura … qualcosa di simile:

Imansible aprire il file "../data/img/someimage.png" per la scrittura.

Così ho inviato via email il ragazzo che gestisce il server e lui è tornato dicendo:

Funziona con authorization pubblica? (777)

E, lo ha fatto – ma ero molto cauto con l'utilizzo delle autorizzazioni pubbliche, quindi distriggersto subito. Ho inviato un messaggio di posta elettronica a lui affermando che "come faccio a scrivere i miei script PHP utilizzando le autorizzazioni utente standard", e ha detto:

Lascialo come pubblico, va bene

Credo che sia un conflitto ip da qualche parte nella risoluzione del dominio, ma non sono preoccupato per questo.

Allora gli ho inviato un messaggio via e-mail che ha detto "sicuramente questo è insicuro" o qualcosa lungo queste linee, e ha risposto con il seguente:

la realtà è che ci sono milioni di siti web, tra cui diversi che gestisco che hanno 777 in diverse cartelle, è solo un modo di vivere.

Qualcuno mi può dare un'idea di una soluzione che potrei dare? Oppure che cosa posso fare per evitare di usare 777? Non mi piace molto l'idea di qualsiasi cartella sul mio sito / servizio per essere pubblicamente scrivibile.

Vorrei molto apprezzare il tuo consiglio dato che conosco molto poco i server web.

  • Ottimizzazione di Apache e MySQL su Linux Xen VPS
  • Si prega di informare sulla scelta della configuration VPS (con SQL Server Express)
  • Voglio controllare la versione intera della mia fetta
  • Imansible aggiornare il kernel di Linux su VPS
  • Come compilare la versione 5.2.13 di PHP con il supporto di zip su CentOS?
  • La prestazione di un nodo VPS può essere influenzata da altri nodes VPS?
  • Google offre ai server di hosting i mezzi come vps o server dedicati?
  • Frontend e database a diversi hosters
  • 2 Solutions collect form web for “Il mio amministratore del server desidera impostare le autorizzazioni di scrittura pubbliche in una directory”

    Let's break it down :

    È necessario che l'utente che esegua lo script per leggere, eseguire e scrivere nella directory, quindi dovrebbe essere:

    7 = (r) ead, (w) rito, e (x) ecuta

    Altri utenti appartenenti allo stesso gruppo dovrebbero essere in grado di eseguire il file php all'interno della directory, ma non di scrivere (per ovvi motivi); non necessariamente necessità di leggere i file PHP. Pertanto, dobbiamo fornire solo autorizzazioni di esecuzione:

    1 = e (x) ecute

    Stesso per il pubblico. In realtà, questo è tutto ciò che serve per gli utenti esterni che hanno bisogno di visualizzare i file php e statici:

    1 = e (x) ecute

    Quindi il minimo necessario dovrebbe essere:

    711

    Ho confermato le impostazioni di cui sopra con la mia configuration, quindi dovrei funzionare; tuttavia, questo è sotto l'utente Web predefinito. Se si sta caricando con un login diverso da www, i file e le directory verrebbero probabilmente sotto un altro utente. In questo caso, l'utente Web predefinito potrebbe non essere in grado di leggere o scrivere i file di properties;. A questo punto, probabilmente dovrai aggiungere l'utente predefinito al tuo gruppo (il sistema deve farlo) e poi dare autorizzazioni di lettura, scrittura e esecuzione agli utenti appartenenti al gruppo:

    771

    E probabilmente functionrebbe. In alternativa, o avere il sysadmin modificare l'utente e la properties; di gruppo di tali file per l'utente del server web predefinito (ma NON LE PERMISSIONI!). Se ciò non funziona ancora, un esempio di output delle autorizzazioni (qualcosa come "ls -la all'interno della directory") ci aiuterà a risolvere questo problema ulteriormente. Ciò detto, purché solo wherere dare autorizzazioni di esecuzione al pubblico ( o "altro"), dovresti essere bene da un punto di vista della sicurezza.

     Leave it as public, it'll be fine I reckon it's an ip conflict somewhere in the domain resolution, but I'm not worried about it. 

    Questo ragazzo è un idiota e questa è una sciocchezza completa. I diritti di accesso non hanno niente a che fare con l'indirizzi IP o la risoluzione di dominio, sta solo abbandonando le parole.

    Data la qualità di questo "amministratore", consiglio di ospitare il tuo sito altrove, in quanto è molto probabile che il sito viene amministrato in modo molto scarso e insicuro. Basta mettere 777 autorizzazioni su qualcosa in modo da funzionare è un segno sicuro di non capire un po 'di quello che sta facendo.

    Quello che i diritti di accesso sono veramente necessari dipende dal modo in cui il sistema viene utilizzato e configurato ed è un po 'difficile dirlo qualcosa senza sapere questo.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.