cd dans le répertoire sans autorisation

117

Lors de l' cdentrée dans l'un de mes répertoires appelé, openfirel'erreur suivante est renvoyée:

bash: cd: openfire: Permission denied

Y a-t-il un moyen de contourner cela?

user812954
la source

Réponses:

149

La réponse de @ user812954 a été très utile, sauf que j'ai dû le faire en deux étapes:

sudo su
cd directory

Ensuite, pour quitter le mode "super utilisateur", tapez simplement exit.

Jonathan
la source
107

Entrez en mode super utilisateur et insérez un cd dans le répertoire dans lequel vous n'êtes pas autorisé à accéder. Sudo nécessite un mot de passe administrateur.

sudo su
cd directory
user812954
la source
2
réponse impeccable!
gaurav
46

S'il s'agit d'un répertoire que vous possédez, accordez-vous l'accès:

chmod u+rx,go-w openfire

Cela vous donne la permission d'utiliser le répertoire et les fichiers qu'il contient ( x) et de lister les fichiers qui s'y trouvent (r ); il refuse également aux groupes et aux autres l'autorisation d'écrire sur le répertoire, ce qui est généralement correct (bien que parfois vous souhaitiez autoriser le groupe à créer des fichiers dans votre répertoire - mais envisagez d'utiliser le sticky bit sur le répertoire si vous le faites).

S'il s'agit du répertoire de quelqu'un d'autre, vous aurez probablement besoin de l'aide du propriétaire pour modifier les autorisations afin de pouvoir y accéder (ou vous aurez besoin de l'aide de rootpour modifier les autorisations pour vous).

Jonathan Leffler
la source
J'ai cherché sur Google pendant une heure maintenant en essayant de corriger le fait que je ne pouvais pas SSH sans utiliser "sudo" (ce que je savais devait être faux) - et cela a résolu le problème. Finalement!
GrayedFox
25

chmod +x openfiretravaillé pour moi. Il ajoute l'autorisation d'exécution au dossier openfire.

wcyn
la source
@Winnemucca Je ne suis pas sûr. Je n'ai jamais travaillé avec docker auparavant. Mais je suppose que c'est possible
wcyn
6

Vous avez plusieurs options:

  • Utilisez un autre compte d'utilisateur, un avec des xautorisations d'exécution sur ce répertoire.
  • Modifiez les autorisations sur l'annuaire pour permettre à votre compte utilisateur d' xexécuter des autorisations.
    • Utilisez chmod(1)pour modifier les autorisations ou
    • Utilisez la setfacl(1)commande pour ajouter une entrée de liste de contrôle d'accès pour votre compte d'utilisateur. (Cela nécessite également de monter le système de fichiers avec l' acloption; voir mount(8)et fstab(5)pour plus de détails sur le paramètre de montage.)

Il est impossible de suggérer la bonne approche sans en savoir plus sur le problème; pourquoi les autorisations de répertoire sont-elles définies comme elles le sont? Pourquoi avez-vous besoin d'accéder à ce répertoire?

sarnold
la source
3

Alternativement, vous pouvez faire:

sudo -s
cd directory
howDidMyCodeWork
la source
1

À moins que vous ne disposiez des autorisations sudo pour le modifier ou le modifier dans votre propre groupe d'utilisateurs / compte, vous ne pourrez pas y accéder.

Consultez man chmodle terminal pour plus d'informations sur la modification des autorisations d'un répertoire.

John Riselvato
la source