fstab의 그룹 옵션이 작동하지 않습니다

fstab의 그룹 옵션이 작동하지 않습니다

fstab 항목의 "그룹" 옵션을 활용하려고 하는데 성공하지 못했습니다. mount매뉴얼 페이지 에서 :

일반적으로 슈퍼유저만 파일 시스템을 마운트할 수 있습니다. 그러나 fstab 행에 사용자 옵션이 포함되어 있으면 누구나 해당 시스템을 마운트할 수 있습니다. ...어떤 사용자라도 마운트 해제할 수 있어야 한다면 fstab 줄에서 user 대신 users를 사용하세요. 소유자 옵션은 사용자가 특정 파일의 소유자여야 한다는 제한이 있는 사용자 옵션과 유사합니다. 예를 들어, 로그인 스크립트가 콘솔 사용자를 장치의 소유자로 만드는 경우 /dev/fd에 유용할 수 있습니다.그룹 옵션은 유사하지만 사용자가 특수 파일 그룹의 구성원이 되도록 제한합니다.

1GB 파일 /blergh와 ext4 파일 시스템을 사용하여 루프백 설치를 테스트하고 있습니다. 이 파일은 root:disk의 소유이며 664 권한을 갖습니다. 권한 775를 가진 root:disk가 소유한 /media/blergh 마운트 지점이 있습니다. 다음과 같은 fstab 항목이 있습니다.

/blergh /media/blergh ext4 loop,rw,noauto,group 0 2

mount /media/blergh정상적으로 운영 중입니다 root. 실행하면 myuser오류가 발생합니다: mount: only root can mount /blergh on /media/blergh. /usr/bin/groupsas의 출력은 다음과 myuser같으 myuser disk므로 그룹 멤버십이 있습니다. 옵션에서 로 변경하면 group파일 시스템을 마운트할 수 있습니다.usermyuser

내가 뭘 잘못했나요? group이 옵션이 작동하지 않는 이유는 무엇 입니까?

myuser(참고: 여기서는 이에 대해 다루고 싶지 않기 때문에 sudo.


2013년 5월 20일에 수정됨:

실제 블록 장치를 사용한 추가 테스트에서는 문제가 loop없는 것으로 나타났습니다 group. 권한 664를 사용하여 root:disk가 소유하고 /dev/sdg로 연결된 새로운 1GB EBS 볼륨을 생성했습니다. 이에 대해 다음 fstab 항목을 만들었습니다.

/dev/sdg /media/sdg ext4 rw,noauto,group 0 0

loop이전과 동일하지만 여기에는 적용되지 않기 때문에 아니요 . 나는 권한 775를 가진 root:disk가 소유한 /media/blerg에 이 파일 시스템에 대한 마운트 지점을 만들었습니다. 이전과 마찬가지로 myuser그룹의 구성원입니다 disk. 이 테스트 설정에서도 마찬가지로 훌륭하게 mount /media/sdg작동합니다 .myuserumount /media/sdg

답변1

나는 당신이 여기서 매우 중요한 세부 사항을 놓치고 있다고 생각합니다. 참조된 매뉴얼 페이지에서 (그리고강조하다) 당신한테 달렸습니다:

그룹 옵션은 유사하지만 사용자가 그룹의 구성원이 되도록 제한합니다.특수 파일 그룹.

내 말에 주목해강조하다"특수 파일"에 관해서. 다음 설명을 참고하시면그룹옵션:

그룹 일반(즉, 루트가 아닌) 사용자 그룹 중 하나가 다음과 같은 경우장치 그룹. 이 옵션은 nosuid 및 nodev 옵션을 의미합니다(옵션 행 그룹,dev,suid와 같은 후속 옵션으로 재정의되지 않는 한).

이것은 의미한다장치 또는 특수 파일설치하려는 제품도 myuser동일 해야 합니다.그룹소유권은 사용자의 것입니다 myuser.

예는 다음과 같습니다.

시스템에 디렉토리 /dev/sda5에 마운트된 장치가 있다고 가정합니다 ./builds

# ls -l /dev/sda5
brw-rw---- 1 root disk 8, 5 Jun 15 21:20 /dev/sda5
# grep sda5 /etc/fstab
/dev/sda5       /builds reiserfs        group,defaults 1 2

foo또한 동일한 시스템에 2명의 사용자가 있습니다.srinidhi

# id foo
uid=1005(foo) gid=100(users) groups=100(users),33(video)
# id srinidhi
uid=1000(srinidhi) gid=100(users) groups=100(users),16(dialout),6(disk),10(wheel)

사용자 srinidhi(그룹의 일부 disk)가 마운트를 시도합니다 /builds.

srinidhi@linux:~> mount /builds/
srinidhi@linux:~> echo $?
0

foo이제 마운트를 시도할 때 어떤 일이 발생하는지 살펴보겠습니다 /builds.

srinidhi@linux:~> su - foo
foo@linux:~> mount /builds/
mount: only root can mount /dev/sda5 on /builds
foo@linux:~>

그룹의 일부 foo가 아니기 때문에 실패합니다 .diskmount

귀하의 사례로 돌아가서 확인해야 할 그룹 소유권은 또는 /blergh이어야 합니다 . 올바른 그룹 소유권을 설정하면 원래 항목이 작동하기 시작합니다.myuserdisk/etc/fstab

# chgrp myuser /blergh

이제 다음 mount /media/blergh과 같이 실행해 보세요 myuser.

노트:마운트 지점(여기 ) /media/blergh의 소유권은 영향을 받지 않습니다 mount.

답변2

내 옵션과 비슷한 문제가 있습니다 user. 아직 해결되지 않았습니다. 내 해결책은 다양한 상황을 만들어서 그것이 작동하는지 확인하고 무언가를 표면화하는 것입니다.

문제가 해당 파일에만 관련되어 있습니까 /blergh ? 다른 파일로 재생산할 수 있나요? 또는 파일이 다른 곳에 있거나, 권한이 다르거나, 소유권이 다릅니다. (물론 테스트는 시스템을 얼마나 통제할 수 있는지에 따라 달라집니다.)

해당 옵션으로 문제를 테스트하여 owner작동하는지 확인할 수 있습니다... 다른 파일에서 재현할 수 있다고 가정하거나 임시 소유권을 변경할 수 있습니까? 옵션은 어떻습니까 user?

설치와 제거 모두에 문제가 있습니까, 아니면 둘 중 하나만 문제입니까? 설치가 작동하지 않으면 으로 설치 root하고 로 제거해 보세요 myuser. (내 문제에 관한 한 마운트는 작동하지만 마운트 해제는 작동하지 않습니다)

참고 사항: Linux 세계에서는 이 마운트를 "루핑"이라고 하며 "루프백"은 네트워크 장치와 관련이 있다고 생각합니다.(인용하다.http://en.wikipedia.org/wiki/Loop_device)

첫 번째 댓글 및 질문 수정 후 추가됨

그래도 작동하지 않으면 . 보다 확인하기 쉽기 owner때문에 모든 소유권 메커니즘이 영향을 받는다는 의미입니다 . 이 상황이 실제 블록 장치에 적용 됩니까 ?ownergroupownergroup

루프 옵션에서 루프 장치를 명시적으로 지정하고 사용하지 않는 장치를 선택해 보셨습니까 ...,loop=/dev/loop7,...? 루프 장치의 소유권이나 그룹을 변경해 볼 수도 있습니다(비록 그것이 얼마나 합리적이거나 유용한지는 잘 모르겠습니다). ls /dev/loop*사용 가능한 재활용 장비를 나열합니다.

또 다른 가능성은 loop항목에서 옵션을 완전히 제거하는 것 입니다 /etc/fstab. 많은 시스템에서는 더 이상 필요하지 않으며 마운트를 통해 암시적으로 수행됩니다. 그런데, 어떤 시스템을 사용하고 있나요?

관련 정보