일부 불행한 이유로 워크 스테이션 당 한 명의 사용자가 독점적 이진 라이브러리를 다중 사용자 워크 스테이션 설치로 변환해야합니다.사용자 종속 파일 내용
현재 설정. 사용자는 라이브러리에 링크 된 프로그램을 사용합니다. 이 라이브러리는 하드 코드 된 경로 (예 : /usr/local/thelib/main.conf)를 사용하여 여러 작업 디렉토리에 대한 여러 경로가 포함 된 시스템 전체 구성 파일을 읽습니다. wdir에는 그 자체로 많은 사용자 데이터 파일이 들어 있습니다.
희망 결과. 동일한 워크 스테이션에서 여러 명의 사용자를 관리 할 수 있습니다. 물론 사용자는 라이브러리를 통해 다른 사용자의 데이터를 읽거나 변경할 수 없으며 각 사용자마다 다른 작업 디렉토리에 라이브러리를 제공하는 경우 유닉스 권한으로 처리해야합니다.
동시에 여러 사용자가 라이브러리를 사용할 수 있으므로 런타임시/usr/local의 구성 파일을 옵션으로 사용할 수 없습니다.
환경 변수 나 현재 유닉스 사용자에 따라 /usr/local/thelib/main.conf 파일에 다른 내용을 제공하기 위해 FUSE를 사용하려고 생각했습니다. 그런 다음 환경 변수 var는 구성 파일을 생성하는 코드 내에서 스위치로 사용됩니다.
내가 파이썬, 펄 또는 C
워크 스테이션은 꽤 최근의 커널 최신 GNU/리눅스 데비안이나 우분투 배포판을 실행을 사용하여 편하지입니다.
So. 당신 생각 :
- FUSE를 사용 하시겠습니까?
- 다른 종류의 래퍼를 만들겠습니까? chroot (2)를 사용하여 janneb - per?
- Linux에서 허용되는 다른 용도로 사용 하시겠습니까?
나는 기능적인 것을 생산할 수있을 것이라고 알고 있지만 지금 당장은 바퀴를 다시 만들고 싶지 않기 때문에 지역 사회의 조언을 구할 것입니다.
감사합니다. Florian
언제든지 구성 파일에 상대 경로가 허용됩니까? 그렇다면 라이브러리를 사용하기 전에 CWD를 변경하는 무언가를 해킹 할 수 있습니다. –
'/ usr/local/thelib/main.conf '경로가 정말로 라이브러리에 하드 코딩되어 있다면, 작성한 사람의 디자인 결정은 꽤 어렵습니다. –
@David : 많은 자유 소프트웨어가 실제로/etc를 사용하지만, 재 컴파일이 쉽고 경로를 쉽게 수정할 수 있으므로 중요하지 않습니다. –