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, nosuidnodev

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

  • 옵션 주문 문제;)

따라서 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.