퍼미션 설정
관련링크
본문
그누보드 기본을 복사하여 /theme/dmshop에 사용하고 있읍니다. root의 퍼미션을 변경 하려는데 어덯게 설정 해야 하는지요?
파일질라 접속해보면 현재는 xxx로 되어 있읍니다.
답변 4
서버호스팅이라면
Ssh로 접근해서 root로 접속후
chown -R 권한아이디:권한아이디 적용할폴더
예시 chown -R test:test www
이런식으로 변경하셔야 합니다.
보통 퍼미션은 755로 하시면됩니다.
"테마_루트_폴더/theme/dmshop", 이구조의 '테마_루트_폴더'에 SSH로 접근하여,
이 명령을 실행 하시면, 일반적인 퍼미션으로 모두 바뀝니다,
change_perms.php 파일을 만들어
find * -type d -exec chmod 755 {} \; && find * -type f -exec chmod 644 {} \;
쉘(SSH) 접근이 않되는 호스팅이시면,
<?php
function chmod_r($path, $filePerm = 0644, $dirPerm = 0755) {
// 현재 디렉터리가 존재하는지 확인
if (!is_dir($path)) {
die("오류: 지정된 경로가 디렉터리가 아닙니다. ($path)");
}
// RecursiveIterator를 사용하여 파일 및 디렉터리 탐색
$dir = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::CHILD_FIRST
);
foreach ($dir as $entry) {
if ($entry->isDir()) {
chmod($entry->getPathname(), $dirPerm); // 폴더: 755
} else {
chmod($entry->getPathname(), $filePerm); // 파일: 644
}
}
// 루트 디렉터리 권한도 변경
chmod($path, $dirPerm);
echo "프로젝트 내 모든 폴더는 755, 모든 파일은 644로 변경 완료";
}
// 현재 change_perms.php 파일이 위치한 프로젝트 루트 디렉터리 기준입니다.
$project_root = __DIR__;
chmod_r($project_root);
?>
해당("https://xn--2e0br5hfe96zblp.kr")의 ROOT에 올려서,
브라우저에서 실행(https://xn--2e0br5hfe96zblp.kr/change_perms.php)하셔도~
!-->!-->루트 > 우클릭 > 파일권한 755 (하위전체)
data 폴더 우클릭 > 파일권한 707 (하위전체)
답변을 작성하시기 전에 로그인 해주세요.