Je tente de créer un fichier en utilisant PHP dans un sous-dossier de mon dossier préféré.Création d'un fichier PHP avec différents utilisateurs et groupes en fonction de l'emplacement du nouveau fichier
J'utilise la commande suivante:
file_put_contents("/preferred_folder/subfolder/test_A.txt", "test_A");
Je reçois le message d'erreur suivant:
Warning: file_put_contents(preferred_folder/subfolder/test_A.txt): failed to open stream: Permission denied in /users/service/dummy_username/code.php on line ###.
J'ai vérifié les autorisations de/preferred_folder/sous-dossier/en utilisant la commande suivante via PuTTY, où je suis connecté en tant que "pseudo_utilisateur", et je reçois la réponse suivante:
$ ls -l /preferred_folder/
drwxrwxr-x 7 1234567 1000001 120 Apr 30 13:35 subfolder
Les autorisations d'écriture pour les "autres utilisateurs" ne sont pas activées, ce qui est prévu. D'autre part, je ne reconnais pas cet utilisateur ou le groupe donc je vérifié:
$ groups 1000001
groups: 1000001: No such user
En outre, « passwds getent 1234567 » ne retourne pas de valeur (et avec succès pour ne « dummy_username »). Voici où ça devient étrange; J'ai essayé de créer un fichier dans deux autres endroits comme un contrôle de santé mentale: le premier a des autorisations d'écriture pour les "autres utilisateurs" et le second est où mon script a été la création de fichiers avec succès pour les dernières années.
file_put_contents("/preferred_folder/test_B.txt", "test_B");
file_put_contents("https://stackoverflow.com/users/service/dummy_username/test_C.txt", "test_C");
Dans ces cas, les deux fichiers sont créés avec succès, mais l'utilisateur et le groupe des fichiers diffère en tant que tel:
$ ls -l /preferred_folder/test_B.txt
-rw-r--r-- 1 ABCDEFG root 5 Aug 30 08:39 /preferred_folder/test_B.txt
$ ls -l /users/service/dummy_username/test_C.txt
-rw-r--r-- 1 dummy_username dummy_group 5 Aug 30 08:39 test_C.txt
Je suis parti avec quelques questions:
1 Pourquoi l'utilisateur et le groupe des fichiers créés à partir de ce script sont-ils différents uniquement en fonction de l'emplacement du fichier? Je m'attends à ce qu'ils soient tous les deux possédés par "dummy_username".
2) Qu'est-ce/qui est l'utilisateur "ABCDEFG"? J'ai vérifié que le groupe "root" ne contient pas explicitement un tel utilisateur.
3) Qu'est-ce/qui est le groupe "1000001" et pourquoi l'utilisateur "1234567" ne fait-il pas non plus partie de ce groupe? 4) Enfin, hormis chmod 777, tout le dossier preferred_folder et ses nombreux niveaux de sous-dossiers, existe-t-il un moyen approprié et suggéré d'accorder des permissions spécifiques à mon nom d'utilisateur pour la création du fichier prévu?
Merci d'avance pour toute aide. Visiteur de longue date affiche pour la troisième fois.
Merci pour votre réponse, @BugHunterUK. Je voudrais accorder des autorisations spécifiquement à "dummy_username" en ajoutant cet utilisateur au groupe qui possède "/ preferred_folder/subfolder" (c'est-à-dire "1000001"). Comme mentionné, dummy_username peut créer des fichiers dans preferred_folder mais avec un utilisateur/groupe étrange. Comment saurais-je quel nom d'utilisateur est approprié pour ajouter au groupe 1000001? De plus, pouvez-vous nous expliquer pourquoi l'utilisateur/groupe qui possède le fichier nouvellement créé dans preferred_folder est différent de/users/service/dummy_username /? Où puis-je trouver et modifier ces paramètres? Merci! –
Mise à jour: Je viens de découvrir sur [ACLs] (https://unix.stackexchange.com/questions/115631/getting-new-files-to-inherit-group-permissions-on-linux), qui explique comment la propriété des fichiers est désigné. –