Umbrello를 설치했는데 저장이나 자동 저장이 되지 않습니다. 앱 권한을 살펴보면 읽기 전용으로 설정된 그룹이 있는 루트가 소유하고 있다고 나와 있으며 이것이 문제인 것 같습니다. 일반적으로 내 질문은 앱 권한이 일반적인 목적으로 모든 사용자가 사용할 수 있어야 하는 것입니까?
답변1
setuid 및 setgid 비트가 설정된 경우를 제외하고 실행 파일의 권한은 해당 파일을 기반으로 하는 프로세스의 보안 컨텍스트를 결정하지 않습니다.
예를 들어 /bin/ls
는 의 소유입니다 root
. 하지만 그렇기 때문에 특별한 권한은 없습니다. 사용자가 joe
를 입력 ls
하면ls
프로세스사용자의 자격 증명으로 실행됩니다 joe
.
모든 사용자가 실행 파일을 실행할 수 있는 권한을 갖고 사용자가 모든 전역 구성 데이터를 읽을 수 있도록 모든 사용자용 애플리케이션을 설치해야 합니다. 해당 자료 중 어느 것도 쓸 수 없어야 합니다. (예를 들어 의 구성 /etc
, (GNU/Linux 규칙)의 정적 데이터 /usr/share/<appname>
)
애플리케이션은 홈 디렉터리의 구성 파일과 같이 사용자가 읽고 쓸 수 있는 일부 영역에 로컬 사용자 기본 설정을 저장해야 합니다. 응용 프로그램이 자동 저장이 불가능하더라도 설치 자료에 대한 권한 문제는 아닐 것입니다. 오히려 호출하는 사용자에게 권한이 없는 위치나 존재하지 않는 위치(존재하지 않는 하나 이상의 디렉터리 구성 요소가 있는 경로)에 자동 저장하려고 합니다. 이는 로컬 또는 글로벌 구성의 문제일 수 있습니다.
프로그램에서 알 수 없는 권한 문제가 발생하고 프로그램이 무엇을, 어디서 액세스하려고 하는지 확실하지 않은 경우, 무슨 일이 일어나고 있는지 알아낼 수 있는 한 가지 방법은 시스템 호출 추적 유틸리티에서 응용 프로그램을 실행하는 것입니다. strace
GNU/Linux 시스템이나 truss
Solaris 와 같습니다 . (터미널 콘솔이나 창에서 또는 추적이 파일로 리디렉션되는 경우.) 권한 문제가 재현되면 추적 끝 부분에서 실패한 파일 시스템 액세스 관련 시스템 호출을 찾으십시오.