Question Bogue possible: Lecture de fichiers * .flv appartenant à la racine dans VLC sur Ubuntu 16.04 / 18.04


J'ai des fichiers FLV et j'essaie de les lire dans VLC. Je les garde dans un répertoire séparé appartenant à root (répertoire et fichiers) pour éviter toute suppression accidentelle.

Maintenant la partie intéressante:

  1. Si le fichier appartient à root, VLC ne peut pas ouvrir le fichier flv et s'arrête.

  2. Si le fichier appartient à un utilisateur régulier, VLC lit correctement le fichier.

Le VLC est exécuté en tant qu'utilisateur normal, seul le fichier appartient à root.

Voici l'erreur VLC: "Votre entrée ne peut pas être ouverte: VLC ne peut pas ouvrir le fichier MRL 'file: ///path/test.flv "

Et le journal VLC ':

main debug: using default timeshift path
main debug: `file:///test.flv' gives access `file' demux `any' path `path/test.flv'
main debug: creating demux: access='file' demux='any' location='path/test.flv' file='path/test.flv'
main debug: looking for access_demux module matching "file": 21 candidates
main debug: no access_demux modules matched
main debug: creating access: file:///path/test.flv
main debug:  (path: path/test.flv)
main debug: looking for access module matching "file": 26 candidates
filesystem error: cannot open file path/test.flv (Permission denied)
main debug: no access modules matched

Tous les systèmes, à la fois 16.04 et 18.04, sont à jour et tous les paquets proviennent des dépôts officiels d'Ubuntu.

Une idée de comment réparer ça? Merci!


0
2017-09-22 18:57


origine




Réponses:


Tout d'abord, rien ne semble avoir tort avec votre système. Mais vous devez comprendre les autorisations de fichiers Linux. Vous devez également comprendre que changer la propriété d'un fichier en root n'empêche pas la perte de données, elle réduira la probabilité de perte de données. Imaginez le cas où votre disque dur / SSD tombe en panne. Et il est toujours possible de supprimer le fichier accidentellement lorsque quelqu'un est connecté en tant que root. Si vous ne pouvez pas risquer de perdre un fichier, sauvegardez-le.

Chaque fichier / répertoire est associé à un propriétaire et à un groupe. Nous pouvons définir des autorisations pour

  1. propriétaire (le propriétaire du fichier)
  2. groupe (tous les utilisateurs qui appartiennent à ce groupe)
  3. autre (tous les autres utilisateurs, ils ne sont pas le propriétaire du fichier ni appartiennent au groupe)

Pour chacun d'eux, nous pouvons définir les autorisations séparément pour l'accès en lecture, l'accès en écriture ou execute-access (rwx). La permission d'exécution sur un répertoire est un peu particulière, elle vous permet d'entrer dans le répertoire et vous devez avoir une autorisation d'exécution sur un répertoire lorsque vous souhaitez accéder aux fichiers du répertoire.

Alors, de quoi avez-vous besoin dans votre cas?

  1. Vous devez lire et exécuter les autorisations sur votre répertoire.
  2. Vous avez besoin d'une autorisation de lecture pour le fichier dans le répertoire.

Examinez de plus près les autorisations actuelles de votre fichier et son répertoire parent avec

ls -l /path/to/your/file
ls -ld /path/to/your/directory

La sortie de ces commandes ressemblera à ceci:

-rw-------  1 root root 3495 Sep 23 03:35 file
drwx------  8 root root 4096 Jun  5 03:10 directory

Vous pouvez voir qui est le propriétaire du fichier, quel groupe est associé au fichier et à l'ensemble des autorisations. Dans cet exemple, seul le propriétaire (root) dispose des autorisations de lecture et d’écriture pour le fichier et des autorisations de lecture, d’écriture et d’exécution du répertoire. L'utilisateur appartenant au groupe et tous les autres utilisateurs ne disposent d'aucune autorisation dans cet exemple.

Maintenant, nous donnons à un utilisateur qui n'est pas root et n'appartient pas au groupe root autorisations pour lire le fichier:

sudo chmod o+rx /path/to/your/directory
sudo chmod o+r /path/to/your/file

Cela autorisera un utilisateur à entrer dans le répertoire et à lire le fichier, tandis que le propriétaire et le groupe et leurs autorisations restent inchangés. Seul root dispose d'un accès en écriture au fichier et à son répertoire parent, de sorte que seul root puisse modifier ou supprimer le fichier.

Vous trouverez des tonnes de didacticiels sur les autorisations Linux sur Internet, certains sont mieux compris que d’autres, recherchent un peu sur Internet pour augmenter vos connaissances. Dans cette réponse courte, je ne peux vous donner qu'un aperçu du fonctionnement des autorisations sous Linux. Vous devez également consulter les manuels des commandes correspondantes:

man chown
man chmod

2
2017-09-22 21:10