web-dev-qa-db-fra.com

`Sudo chmod + x *` car je ne peux rien ouvrir

Aujourd'hui, j'ai utilisé Sudo chmod +x * -R dans mon dossier $ HOME, en fait je ne voulais pas l'utiliser dans le dossier $ HOME, c'était un accident. Après cela, j'ai essayé d'utiliser Sudo chmod -x * réparer. Mais maintenant, je ne pouvais ouvrir aucun fichier dans le dossier $ HOME avec la permission de l'utilisateur. Je peux utiliser l'autorisation root pour les ouvrir. J'ai utilisé ll pour vérifier que tous les fichiers appartiennent à l'utilisateur, mais pourquoi ne puis-je pas les ouvrir? Aidez-moi, s'il vous plaît.

mon historique bash (dans ~/.bash_history):

Sudo chmod +x * -R
ll
chmod -x -R *
ll
Sudo chmod +x * -R
ll
Sudo chmod +w * -R
ll
cd ~/Desktop/
Sudo cd ~/Desktop/
Sudo chmod -x * 
ll
df -h
ll
cd ~/Desktop/
Sudo cd ~/Desktop/
Sudo cd /home/nix/Desktop/
Sudo chmod -x * -R
ll
cd ~/Desktop/
su
gnome-open 1.png &
Sudo gnome-open 1.png &
Sudo gnome-open 1.png 
cd 
cd cd skypeFiles/
Sudo cd skypeFiles/
ls -a
cd .config/
ls
cd ..
cd .local/
ls
cd share/
ls
cd applications/
ll
chmod +x *
ll
cd ..
chmod +x * -R
su
Sudo chown nix:nix -R nix/
ll

Au début, j'ai essayé de chmod -x * pour y remédier, rien ne fonctionne. Et puis j'ai découvert que je pouvais utiliser Sudo gnome-open pour ouvrir des fichiers (alors que seulement gnome-open n'a pas fonctionné), j'ai deviné qu'il y avait peut-être quelque chose de fatigué avec mon .desktop des dossiers. Après avoir entré .local/share/applications, il n'y avait que "mimeapps.list *" ici, alors peut-être que j'avais tort.

nix@***:~$ ls -la
total 324
drwxr-xr-x 53 nix  nix   4096 Jan  1 14:01 .
drwxr-xr-x  3 root root  4096 Dec 29 21:40 ..
drwx------  3 nix  nix   4096 Dec 29 18:22 .Adobe
drwx------  2 nix  nix   4096 Dec 31 21:40 .aptitude
-rw-------  1 nix  nix   9131 Jan  1 14:28 .bash_history
-rw-r--r--  1 nix  nix    220 Apr  9  2014 .bash_logout
-rw-r--r--  1 nix  nix   3870 Dec 29 20:51 .bashrc
-rw-r--r--  1 nix  nix   3870 Dec 29 20:51 .bashrc~

Compte tenu de ma confidentialité, j'ai supprimé certains résultats de la commande ls -la, car cela n'avait pas vraiment d'importance dans ce problème.

2
nix

en exécutant

Sudo chmod -x * -R

vous venez de supprimer les droits d'exécution sur tout ce qui se trouve dans votre répertoire actuel, y compris les sous-répertoires. Cela ne devrait pas empêcher d'ouvrir des fichiers dans le répertoire actuel pour les modifier ou les lire, mais cela vous empêche d'ouvrir des sous-répertoires et les fichiers à l'intérieur. Vous n'avez pas à jouer avec l'utilisateur "root". Exécutez simplement ce qui suit:

find . -type d

et vous devriez obtenir une erreur

find: 'xxxxx': Permission denied

pour tous les sous-répertoires xxxxx de votre répertoire actuel dont le nom ne commence pas par un "."(point). Pour corriger, exécutez

find . -type d -exec chmod +x {} +

et l'accès à vos sous-répertoires sera restauré. Vous devrez ensuite définir les droits d'exécution appropriés sur tout fichier anciennement exécutable dans votre arborescence de sous-répertoires. Vous seul pouvez trouver les fichiers qui en ont besoin.

4
r.g