이 질문의 목적을 위해 우리는 사용자의 n
게임 플레이 능력을 거부하려고 합니다.웨스노스 전투(여전히 사용자가 m
이 작업을 수행하도록 허용하는 동안 p
).
이를 시도하는 한 가지 확실한 방법은 사용자가 파일을 실행하거나 읽을 수 없지만 다른 사용자는 할 수 있도록 관련 파일( /usr/games/wesnoth*
및 디렉터리 )에 대한 권한을 설정하는 것입니다./usr/share/games/wesnoth
n
현재 이러한 파일에 대한 권한은 다음과 같이 설정된 것으로 보입니다.
$ ls -l /usr/games/wesnoth-1.12
-rwxr-xr-x 1 root root 18325576 May 22 2016 /usr/games/wesnoth-1.12
글쎄요, 소유권을 사용자에서 다른 사람으로 바꾸는 것은 좋은 생각이 아닌 것 같아서 root
그룹 소유권을 엉망으로 만들어야 할 것 같습니다...
저는 기본적으로 두 가지 아이디어를 갖고 있습니다.
"블랙리스트":게임 파일이 속한 그룹을 지정 noplay
하고 해당 그룹을 소유한 사람이 게임 noplay
파일을 사용하지 못하도록 비활성화합니다.
sudo addgroup noplay
sudo adduser n noplay
sudo chown :noplay /usr/games/wesnoth* /usr/share/games/wesnoth
sudo chmod g-rx /usr/games/wesnoth* /usr/share/games/wesnoth
"화이트리스트": 게임의 파일 그룹을 제공 play
하고 다른 사람이 사용하는 것을 금지합니다.
sudo addgroup play
sudo adduser m play
sudo adduser p play
sudo chown :play /usr/games/wesnoth* /usr/share/games/wesnoth
sudo chmod o-rx /usr/games/wesnoth* /urs/share/games/wesnoth
위의 내용이 좋은 생각인가요? 파일의 그룹 소유권을 root
다른 것으로 변경하면 나중에 문제가 발생하지 않을까요? 패키지 관리자가 게임을 업데이트하면 어떻게 되나요? 권한이 손상되어 실패하게 됩니까, 아니면 권한을 원래 권한으로 재설정하여 모든 사용자가 게임을 플레이할 수 있도록 합니까?
중요한 것은 Linux Mint입니다.
답변1
데비안 기반의 리눅스 민트(Linux Mint)는통계적 범위특징. dpkg-statoverride
패키지가 지정된 경로를 사용하여 파일을 생성할 때 파일 시스템 권한을 조정하도록 패키지 관리자를 구성할 수 있습니다. 예를 들어 권한을 설정하도록 구성할 수 있습니다./usr/share/games/웨스노스. 권한을 수동으로 설정하는 것보다 권한을 사용하면 dpkg-statoverride
패키지를 업데이트하거나 다시 설치할 때 패키지 관리자가 정책을 유지한다는 이점이 있습니다. 패키지 권한에 대해 자세히 알아볼 수 있습니다.여기, 섹션 10.9.
블랙리스트 또는 화이트리스트 작성은 귀하에게 달려 있습니다. 귀하의 사용 사례에 가장 적합할 것으로 예상되는 옵션을 선택하십시오. 그러나 간단히 말해서 화이트리스트를 가정하면 다음과 같이 할 수 있습니다.
dpkg-statoverride --add m play [mode] /usr/share/games/wesnoth
까다로운 부분은 패턴의 8진수 표현을 사용해야 한다는 것입니다. 따라서 더 친숙한 구문을 사용할 수 없습니다 o-rx
.
그런 다음 권한이 적용되도록 앱을 다시 설치하세요.