폴더의 권한 변경이 작동하지 않습니다

폴더의 권한 변경이 작동하지 않습니다

Raspbian Buster를 사용하면 루트(pi)와 내가 설정한 사용자(polysense)라는 2명의 사용자가 있습니다. 루트 사용자가 소유한 시작 시 실행되는 스크립트가 있습니다. 스크립트의 일부가 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발견된 파일 이름에 대해 명령이 실행되어야 함을 나타냅니다 .

{}검색된 이름으로 대체 됩니다 . +실행 전에 명령줄에 여러 이름을 대체할 수 있음 을 나타냅니다 .

이라는 파일도 있는데 >스크립트 어딘가에 버그가 있는 것 같습니다...

답변2

폴더 내 파일의 권한이 아니라 폴더의 권한을 변경하는 것입니다. 대신 시도해 보세요.

sudo chmod -R 777 configSite/

관련 정보