許可なくディレクトリに移動


117

ときにcd私のディレクトリのいずれかにすると呼ばれるopenfire、次のエラーが返されます。

bash: cd: openfire: Permission denied

これを回避する方法はありますか?

回答:


149

@ user812954の答えは非常に役に立ちましたが、これを2つのステップで実行する必要がありました:

sudo su
cd directory

次に、「スーパーユーザー」モードを終了するには、と入力しexitます。


107

スーパーユーザーモードを開始し、アクセスを許可されていないディレクトリにcdします。Sudoには管理者パスワードが必要です。

sudo su
cd directory

2
完璧な答え!
gaurav

46

自分が所有するディレクトリの場合は、自分にアクセス権を付与します。

chmod u+rx,go-w openfire

これにより、ディレクトリとその中のファイルを使用する権限(x)と、その中のファイルを一覧表示する権限()が付与されますr。また、通常は正しいディレクトリに対するグループおよび他のユーザーの書き込み権限も拒否します(ただし、グループにディレクトリ内のファイルの作成を許可することもできますが、そうする場合はディレクトリでスティッキービットを使用することを検討してください)。

それが他の誰かのディレクトリである場合、アクセスできるようにアクセス権を変更するには、所有者からの助けが必要になるでしょう(またはroot、アクセス権を変更するためのヘルプが必要になります)。


「sudo」を使用せずにSSHを実行できないという事実を修正するために、1時間グーグルで作業していました(これは間違いであることがわかっていました)。これで修正されました。最後に!
GrayedFox 2018年

25

chmod +x openfire私のために働いた。openfireフォルダーに実行権限を追加します。


@Winnemuccaわかりません。これまでにdockerを使用したことがありません。しかし、私はそれができると思います
wcyn

6

いくつかのオプションがあります:

  • xそのディレクトリに対する実行権限を持つ別のユーザーアカウントを使用します。
  • ディレクトリの権限を変更して、ユーザーアカウントに実行x権限を許可します。
    • chmod(1)権限を変更するために使用するか、
    • setfacl(1)コマンドを使用して、ユーザーアカウントのアクセス制御リストエントリを追加します。(これには、aclオプションを使用してファイルシステムをマウントすることも必要です。マウントパラメータの詳細についてはmount(8)fstab(5)を参照してください。)

問題について詳しく知らずに正しいアプローチを提案することは不可能です。ディレクトリのアクセス許可が設定されているのはなぜですか?なぜそのディレクトリにアクセスする必要があるのですか?



1

これを変更するためのsudo権限または自分のユーザーグループ/アカウント内のsudo権限がない限り、それにアクセスすることはできません。

man chmodディレクトリのパーミッションの変更に関する詳細については、ターミナルをチェックアウトしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.