mount / fstab의 기본 마운트 설정은 무엇입니까?


18

비 루트 파티션의 기본 마운트 옵션은 무엇입니까?

마운트에 대한 사람 항목은 말합니다 ...

defaults - use default options: rw, suid, dev, exec, auto, nouser, and async.

... 그래서 우리가 기대하는 것입니다. 그러나 내가 빠진 것이 아니라면 그런 일은 일어나지 않습니다.

"NewHome20G"라는 ext3 파티션이 있는데 시스템에서 / dev / sdc6으로 표시됩니다. 우리가 볼 수있는이 ...

root@john-pc1204:~# blkid | grep NewHome20G
/dev/sdc6: LABEL="NewHome20G" UUID="d024bad5-906c-46c0-b7d4-812daf2c9628" TYPE="ext3" 

다음과 같이 fstab에 항목이 있습니다 ...

root@john-pc1204:~# cat /etc/fstab | grep NewHome
LABEL=NewHome20G        /media/NewHome20G        ext3         rw,nosuid,nodev,exec,users     0  2

해당 fstab 행에 지정된 옵션 설정에 유의하십시오.

이제 부팅 후 파티션이 실제로 어떻게 마운트되는지 봅니다 ...

root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

... 파일 시스템이 마운트되면 내가 지정한 exec & users 옵션이 무시 된 것 같습니다.

sdc6 마운트를 해제했다가 다시 마운트하고 마운트 옵션을 다시 확인하십시오 ...

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

.... 같은 결과

이제 파티션을 다시 마운트 해제하고 exec 옵션을 지정하여 다시 마운트하고 결과를 확인하십시오 ...

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6 -o exec
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,nosuid,nodev) [NewHome20G]

... exec 옵션이 마침내 적용되었으며 noexec 설정이 사라졌습니다.

관심을 끌기 위해 기본 옵션으로 파티션을 다시 마운트합니다.

root@john-pc1204:~# umount /dev/sdc6
root@john-pc1204:~# mount /dev/sdc6 -o defaults
root@john-pc1204:~# mount -l | grep sdc6
/dev/sdc6 on /media/NewHome20G type ext3 (rw,noexec,nosuid,nodev) [NewHome20G]

noexec가 돌아 왔으므로 rw, noexec, nosuid, nodev와 매우 유사합니다. nodev는 사람이 말하는 기본 옵션이 아닙니다.

이것이 왜 중요한가?

데이터 디스크에 유용한 스크립트로 가득 찬 폴더가 있습니다. 디스크가 noexec에 마운트되어 있기 때문에 chmod 777로 설정되어 있어도 스크립트가 실행되지 않습니다. 몇 가지 방법으로이 작업을 수행 할 수 있지만 man 항목이 잘못되었다는 것은 실망 스럽습니다.

여기서 명백한 것을 놓쳤거나 우분투의 기본 옵션이 몇 가지 버전 이전의 것과 다른 옵션으로 변경 되었습니까?

답변:


18

설명서가 정확합니다 . 문제는 아마도 세 가지 중요한 세부 사항을 설명하지 않았을 것입니다.

  • users(그리고 user)이 의미 옵션 noexec, nosuid및 nodev

  • 후속 옵션으로 재정의하지 않는 한

  • 옵션 주문 문제;)

따라서 fstabrw,nosuid,nodev,exec,users 에서 사용할 때 마지막 옵션 인 을 설정 하여을 비활성화 하고 중복을 만듭니다 .usersnoexec,nosuid,nodevexecnosuid,nodev

예상대로 결과는 rw,noexec,nosuid,nodev입니다.

그리고 아니요, users무시되지 않았으며 일반적으로 mount목록 출력에 표시되지 않습니다 . 그러나 모든 사용자가 마운트를 해제했다가 다시 마운트 할 수 있습니다. 시도 해봐!

rodrigo@desktop ~ $ mount /dev/sda6                     # ordinary user
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev)
rodrigo@desktop ~ $ /mnt/mint10/bin/echo it works       # noexec will deny this
bash: /mnt/mint10/bin/echo: Permission denied

mountuser( not users )을 사용하고 루트가 아닌 일반 사용자가 다음과 같이 마운트하면 사용자 와 관련된 것을 표시 합니다.

rodrigo@desktop ~ $ mount /dev/sda6         # ordinary user
rodrigo@desktop ~ $ mount | grep /dev/sda6  # it will list current "owner"
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev,user=rodrigo)
rodrigo@desktop ~ $ umount /dev/sda6
rodrigo@desktop ~ $ sudo mount /dev/sda6
rodrigo@desktop ~ $ mount | grep /dev/sda6  # since owner=root, it won't show
/dev/sda6 on /mnt/mint10 type ext4 (rw,noexec,nosuid,nodev)
rodrigo@desktop ~ $ umount /dev/sda6        # only mounter can unmount
umount: only root can unmount LABEL=MINT10 from /mnt/mint10

또한 userwithout없이 사용하면 noauto부팅시 파티션이 루트로 자동 마운트됩니다. 따라서 루트가 마운트 해제 될 때까지 아무도 마운트 해제하거나 다시 마운트 할 수 없습니다.

즉, 이미 솔루션을 알아 냈습니다 : 옵션의 순서를 변경하면 모든 것이 잘 작동합니다.

LABEL=NewHome20G  /media/NewHome20G  ext3  users,exec  0  2

방법 공지 사항 exec입니다 후 users . 또한 rw,nosuid,nodev필요하지 않습니다. rw이미 기본값이며 나머지는 자동으로users

결과는 다음과 같습니다.

rodrigo@desktop ~ $ mount /dev/sda6                  # user mount
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,nosuid,nodev)
rodrigo@desktop ~ $ /mnt/mint10/bin/echo it works    # exec works
it works
rodrigo@desktop ~ $ sudo umount /dev/sda6            # root unmount
rodrigo@desktop ~ $ sudo mount /dev/sda6             # root mount
rodrigo@desktop ~ $ mount | grep /dev/sda6
/dev/sda6 on /mnt/mint10 type ext4 (rw,nosuid,nodev)
rodrigo@desktop ~ $ umount /dev/sda6                 # user unmount
rodrigo@desktop ~ $

루트 또는 비 루트 사용자는 사용자가 이전에 마운트 또는 마운트 해제 한 사람에 관계없이 마운트 및 마운트 해제 할 수 있습니다. 그리고 실행 파일도 작동합니다 :)


"... user없이 사용 auto하면 파티션이 자동 마운트됩니다"라는 의미입니까?
— Andreas J.

@AndreasJ. 아뇨 noauto. auto는 이미 기본 동작이므로 noautowith는 (와) 동일 auto합니다. 파티션이 자동 마운트됩니다.
— MestreLion

죄송합니다, 당신의 문장을 잘못 읽었습니다. 완벽하게 이해됩니다!
— Andreas J.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.