所有者が私としてリストされていても、許可は〜で拒否されました


13

どういうわけか、私はなんとかchmodをして、〜を忘却の中に追い詰めました。

シェルからログインしようとすると、

bash: ~/.bashrc : Permission denied

ルートとして)実行した後でも

chown -hR nroach44 /home/nroach44

そして

chmod -R 666 /home/nroach44

または(nroach44として

chmod -R 644 /home/nroach44

これらのコマンドはいずれもエラーを返しません。

また:

ls -la /home/nroach44

たくさん返します

drw-rw-rw-  1 nroach44 nroach44 4096 --date-- ti:me foldername

ヘルプがありますか?


皆さんありがとう!現在、どのファイルにホームフォルダー内のどのアクセス許可が必要かについてのガイドはありますか?:)
NRoach44

/homeあるべきdrwxrwxr-xroot:rootして/home/user rw rw -- or r-、あなたが他のユーザーがユーザーのファイルを読みたい場合は異なります。のディレクトリと実行可能ファイルxusergroup = user(nroach44:nroach44)を持っている場合、同じ内部ディレクトリは問題になりません(他のユーザーには0(---)権限のみを付与します)。
ローレント

回答:


14
chmod -R 666 /home/nroach44

または

chmod -R 644 /home/nroach44

これにより、ホームディレクトリのすべてのファイルが実行不可になります。それは良い考えではありませんでした;)

この混乱をきれいにする方法はわかりません。手っ取り早い回避策として、rootでやろうとすることができます:

chmod -R 755 /home/nroach44

このコマンドは、ホームフォルダーのすべてのファイルに実行権限を与えます。差し迫った問題を解決するはずですが、セキュリティの悪夢になる可能性があります。

最善の解決策は、別のユーザーアカウントを開いて、ファイルと設定を1つずつ転送することです。


6
ディレクトリを開くにはxのアクセス許可が必要であることを知りませんでした。ありがとうございました!
-NRoach44

5

ディレクトリに移動するには、ディレクトリに実行ビットを設定する必要があります。666rootとして実行している場合でも、プレーンは間違っています。全員に書き込み許可を与えます。

ファイルをより安全にするには、次を実行します。

chmod -R 640 /home/nroach44

フォルダを再び下降可能にするには、次を実行します:

find /home/nroach44 -type d -exec chmod 750 \;

注:一部のファイルは機密性が高く、他のユーザーには読み取れないため、xx0を選択しました。ただ保存するために、世界の読み取り/書き込み/実行権限を削除します。


それが仕事をしたりしません場合、私は唯一のテストに666'ingた:)
NRoach44

4

〜に十分なアクセス許可があるように見える/homeため、他のユーザーにxのアクセス許可(sudo chmod +rx /home)を与え、/home/nroach44/.bashrcファイルに対するアクセス許可が適切かどうかを確認する必要があります。

別の点として、ディレクトリには入力を許可するxパーミッションが必要であるため、すべてを修正するにはを実行する必要がありますsudo chmod -R +X /home/nroach44


フォルダを入力するために実行権限が必要であることを知ることは、以前は知っていて良かったので、ありがとう!
NRoach44

資本X+1を知らなかった
-Lekensteyn

資本Xは非常に有用であり、私もそれを発見できてとても嬉しかったです...
ローレント

1

これは、HOMEフォルダー内のすべてのファイルのアクセス許可が台無しになっているためです。ファイルのアクセス許可で遊んでいる間は非常に注意してください。chmodとchownを非常に慎重に使用しないと、混乱してしまいます。

bash: ~/.bashrc : Permission denied

ホームディレクトリ内のすべてのファイルのアクセス許可を変更したため、bashrcのアクセス許可も変更されたと思います。

〜/ .bashrcスクリプトのデフォルトのパーミッションは

-rw-r--r-- 1 user1 user1  3353 2012-01-09 12:05 .bashrc

これを説明するには、ファイルに対する読み取りと書き込みの両方のアクセス許可が必要です。ユーザーグループの他のユーザーはそれを読み取ることができ、他のすべてのユーザーも読み取ることができます。

したがって、chmodを使用してbashrcスクリプトの権限を644に変更します。

chmod 644 ~/.bashrc

上記のコマンドが許可を拒否した場合。それから

最初にsudoとしてchownを実行します

sudo chown user1:usergrp ~/.bashrc

user1をユーザー名に、usergrpをデフォルトのユーザーグループに置き換えます。

もう一度やる

chmod 644 ~/.bashrc

これでb​​asrcスクリプトの権限が得られます。ログインして、他のエラーが発生するかどうかを確認してください:)


0

ディレクトリを開くには、xビットを設定する必要があります(そのビットは検索ビットと見なされます)。ですから、フォルダセットのみを取得し、すべてのファイルを実行可能ファイルとして設定するという悪夢を避けるためにツリーを使用します(ツリーのオプションは -d List directories only.)。

sudo tree -faid /home/nroach44 | xargs -L1 -I{} sudo chmod 755  "{}"

警告!!!これを考慮に入れる必要があります。

  • ルート/ディレクトリまたはシステムディレクトリでchmodまたはchown再帰を使用すると、OSが破壊されます(実際、/ディレクトリまたはシステムディレクトリで再帰的なものはすべて危険です)

  • これは、そのようなパーミッションのバルクを設定するための良いセキュリティ慣行ではありません

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