Raspbian Buster를 사용하면 루트(pi)와 내가 설정한 사용자(polysense)라는 2명의 사용자가 있습니다. 루트 사용자가 소유한 시작 시 실행되는 스크립트가 있습니다. 스크립트의 일부가 Polysense 계정의 파일에 기록됩니다. 그러나 스크립트가 실행되면 권한 오류가 발생합니다. 나는 시도했다: 내가 써야 하는 파일이 sudo chmod 777 configSite
포함된 configSite
폴더에도 동일하게 적용됩니다 .
권한을 확인해 보니 변경되지 않았습니다. 내가 여기서 뭘 잘못하고 있는 걸까? drwxr-xr-rwx
configSite 내의 파일을 보고 싶습니다 .
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/