루트 액세스 없이 내 프로그램에서 구성 파일을 작성할 수 있는 곳이 있습니까?

루트 액세스 없이 내 프로그램에서 구성 파일을 작성할 수 있는 곳이 있습니까?

저는 작은 유틸리티를 작성 중이고 구성 파일을 어딘가에 넣어야 합니다. 그것을 살펴보면 /etcLinux의 정식 위치인 것 같습니다. 하지만 이 디렉터리에 기본적으로 쓰기 위해서는 루트 액세스 권한이 필요한 것 같은 문제가 발생했습니다.

내 프로그램을 호출하지 않고도 쓸 수 있는 곳이 있나요 sudo? 예를 들어 Mac에서는 루트 액세스 없이도 어떻게든 homebrew쓸 수 있는 것 같습니다 ./usr/local/bin

나는 뭔가를 넣을 수 있다는 것을 알고 있지만 /homeLinux에서 파일이 저장되어야 하는 위치에 관해서는 "올바른 방식"으로 작업을 수행하려고 노력하고 있습니다.

답변1

올바른 방법으로 작업을 수행하려면 프로그램과 해당 구성 파일을 사용자가 편집할 수 없어야 합니다. 그렇지 않으면 표준 보안 모델을 위반하게 되기 때문입니다.

/usr/bin사용자가 소유하므로 해당 구성이 사용자 홈 디렉터리에 저장되거나 임의의 시스템 위치(예 : , /usr/local/bin, ) 에 설치된 /opt/appname다음 해당 구성이 일부 시스템 위치(예 /etc: /usr/local/etc또는 /opt/appname/etc)에 다시 저장됩니다.

답변2

. .myApp​버전 및 설치 로그도 포함될 수 있습니다. 이렇게 하면 청소 등이 훨씬 쉬워집니다.

구성이 사용자 간에 공유되는 경우 "공유 공간"에서 일회성 sudo mkdir을 수행하고 해당 디렉터리 내에서 관련 권한을 부여할 수 있습니다. 위 수준에 쓸 수 없다는 것은 중요하지 않습니다.

사용자별 구성인 경우 앱은 .myApp설치 또는 처음 사용 시 사용자의 /home/username 아래에 생성됩니다.

Linux용 공식 파일 시스템 계층 표준이 있습니다.

관련 정보