Pochi giorni fa, mi è capitato di impostare le autorizzazioni a torto quando si utilizza la php funzione mkdir
come questo:permessi errati imposta po 'appiccicoso
mkdir("foldername", 777, true);
Il modo corretto è, asuming si desidera questo tipo di permesso:
mkdir("foldername", 0777, true);
so che non dovrei usare 777 sul mio file o cartelle, ma questo è un sistema molto chiuso, quindi per favore non rimanere bloccati su quello. Perché qui arriva la parte divertente (strana), almeno, per me. Perché abbiamo notato che qualcosa era molto strano quando questo script creava cartelle. Le persecuzioni che vengono impostate sono davvero strane, specialmente per un utente non esperto di Linux come me. Perché ciò che vediamo è che le autorizzazioni delle cartelle create viene impostata a questo:
dr - - - - x - - t
che per me è strano, non avevo sentito parlare il bit appiccicoso prima (il t
) ma apparentemente impostato quando si vuole rendere quel file rimovibile solo da root. Qualcuno sa perché PHP si comporta in questo modo, o anche se è un problema di PHP (non è un problema, dato che sono io che uso la funzione erroneamente), o è qualcosa che il nostro sistema * nix fa di default quando è in dubbio o qualcosa?
solito 'mkdir ("nomecartella", 01777, vero); 'imposta il bit adesivo. Non sono sicuro del motivo per cui solo 777 l'avrebbe impostato. –
Le autorizzazioni per i file sono in notazione ottale (base 8). 777 è decimale lì e significa 01411 ottale che ne appende anche uno appiccicoso ... – Ihsan