기호 링크 및 chown 패스의 기본 소유자 및 그룹

기호 링크 및 chown 패스의 기본 소유자 및 그룹

두 가지 질문이 있지만 서로 밀접하게 관련되어 있습니다.

Linode가 포함된 새 Debian 서버가 있고 이전 서버는 Hostgator를 실행하는 CentOS였습니다. 나는 종종 이 명령을 사용하여 심볼릭 링크를 만듭니다.

ln -s /home/codebase/classes classes

CentOS 서버의 권한은 다음과 같습니다.

lrwxrwxrwx 7 root root  4096  Jan 10 classes

권한은 777이고 소유자:그룹은 루트:루트입니다.

그러나 데비안 서버는 다음과 같이 표시됩니다.

lrwxrwxrwx 7 cpm210 cpm210  4096  Jan 10 classes

이것은 폴더를 생성한 사용자:그룹입니다(어느 쪽이든 루트로 로그인했습니다).

질문 #1, 왜 다른가요? 그리고 데비안 서버의 기본값으로 cpm210:cpm210을 적용해야 합니까?

/var/www/cpm210/public_html질문 #2: 폴더가 있는데, 여기 에 파일이 가득하고 다른 위치(보통 코드 베이스)에 심볼릭 링크된 몇 개의 폴더가 있다고 가정해 보겠습니다 . 저장소 폴더에는 추가 권한이 있으므로 Apache는 이러한 파일만 읽을 수 있습니다. 이것이 바로 제가 원하는 것입니다. 그러나 파일을 public_html 폴더로 이동하는 과정에서 결국 다음 명령을 실행해야 했습니다.

chown -R cpm210:cpm210 /var/www/cpm210/public_html/*

하지만 저는 심볼릭 링크를 건드리지 않고 파일만 건드리고 싶습니다.

어떻게 해야 하나요?

답변1

설명대로 chown사용하세요--dereferencechown(1). 귀하의 경우에는 다음과 같습니다.

chown --dereference -R cpm210:cpm210 /var/www/cpm210/public_html/

를 사용했기 때문에 끝에 있는 와일드카드도 필요하지 않습니다 -R.

그런데 그 반대는 --no-dereference(짧다 -h)이다.

관련 정보