フォルダの権限の変更が機能しません

フォルダの権限の変更が機能しません

Raspbian Busterを使用すると、ルート(pi)と私が設定したユーザー(polysense)という2人のユーザーがいます。 rootユーザーが所有する起動時に実行されるスクリプトがあります。スクリプトの一部がPolysenseアカウントのファイルに書き込まれます。ただし、スクリプトが実行されると権限エラーが発生します。私は試しました:私が書く必要があるファイルをsudo chmod 777 configSite含むconfigSiteフォルダにも同じことが当てはまります。

権限を確認してみると変更されませんでした。私がここで何を間違っているのか?drwxr-xr-rwxconfigSite内のファイルを見たいです。

pi@polysensesolutions:~ $ cd /home/polysense/
pi@polysensesolutions:/home/polysense $ sudo chmod 777 configSite
pi@polysensesolutions:/home/polysense $ cd configSite
pi@polysensesolutions:/home/polysense/configSite $ ls -l
total 164
-rw-r--r-- 1 root      root        1985 Sep 17 04:25 '>'
drwxr-xr-x 3 polysense polysense   4096 Sep  2 16:33  configSite
-rw-r--r-- 1 root      root      143360 Sep 17 04:25  db.sqlite3
-rwxr-xr-x 1 polysense polysense    630 Sep  2 15:51  manage.py
drwxr-xr-x 4 polysense polysense   4096 Sep  2 16:34  pages
drwxr-xr-x 2 polysense polysense   4096 Sep 17 04:12  templates
drwxr-xr-x 4 polysense polysense   4096 Sep 17 04:25  wifiApp

ベストアンサー1

その後、実行するとchmod 777 directoryそのディレクトリの権限のみが残ります。それ自体その中に含まれるファイルではなく変更されました。

権限を変更したい場合みんなディレクトリに含まれるファイル(サブディレクトリのファイルとそのサブディレクトリ自体を含む)は、次のものを使用します。

chmod -R 777 directory

再帰モードを呼び出します-R

不要な権限を与えることは一般的に賢明ではありません。通常のファイルには通常実行権限がありません。これらのファイルは誤って呼び出され、bashシェルコマンドではなくコンテンツをbash

chmod特定のディレクトリ内のディレクトリにのみ権限を設定するには、を使用してこれを行う必要がありますfind。まずfind、を使用してすべてのディレクトリを見つけて、chmodそのディレクトリで実行します。

find directory -type d -exec chmod 777 {} +

-type dディレクトリを検索してください。

-exec見つかったファイル名に対してコマンドを実行する必要があることを示します。

{}検索された名前に置き換えられます。+実行前にコマンドラインで複数の名前を置き換えることができることを示します。

というファイルもありますが、>スクリプトのどこかにバグがあるようです...

おすすめ記事