이 질문은 Unix & Linux 및 Stack Overflow와 관련이 있을 수 있습니다. 특정 기술 구현에 앞서 Unix/Linux 컨벤션 관점에서 질문을 이해하고 싶었기 때문에 먼저 Unix & Linux에 게시했습니다.
구성 파일을 읽어야 하는 독립 실행 형 hello-world 애플리케이션을 작성 중입니다 config.yml
. 이제 루트에만 쓰기 액세스 권한이 있다는 것을 알았 습니다./etc/hello-world/config.yml
/etc/
$ ls -ld /etc
drwxr-xr-x 127 root root 12288 Feb 14 21:16 /etc
이 리눅스 PC는 내가 설정한 것이 아니고 유능한 리눅스 관리자가 설정했기 때문에 /etc/
사용자만이 쓸 수 root
있고 다른 사람은 누구나 읽을 수 있는 표준/관례라고 가정합니다.
cmake && make install
그래서 내 질문은: 루트가 아닌 사용자가 프로세스를 실행하는 경우 내 hello-world 응용 프로그램()의 설치 메커니즘은 어떻게 항목을 설치합니까 ?/etc/
~에 따르면구현하다, 내 "설치 메커니즘"은 install
내 선언 입니다 CMakeLists.txt
. 예를 들면 다음과 같습니다.
install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/config.yml
DESTINATION /etc/hello-world/config.yml)
make install
...하지만 다시 루트가 아닌 사용자로 실행하므로 이 작업은 실패합니다.
다시한번 유닉스/리눅스 학습의 관점에서 질문드립니다.관습- 이것은 일반적인 시나리오인 것 같습니다. 단일 개발자가 자신의 구성 파일을 "표준" 위치에 설치하려고 합니다 /etc/your-app/your-config
. 그렇다면 루트로만 쓸 수 있다면 /etc/
어떻게 해야 할까요 ?
make install
예를 들어 루트 또는 sudo 권한이 있는 사용자만 수행할 수 있다는 의미로 이해됩니까 sudo make install
?
아니면 구성 파일을 (하위 디렉터리)에 설치해야 하는 것이 잘못된 것입니까 /etc/
?
아니면 /etc/
"다른 사람"이 쓸 수 있도록 권한을 부여해야 합니까?