Які налаштування кріплення за замовчуванням для mount / fstab?


18

Які параметри монтажу за замовчуванням для не-кореневого розділу?

Людина, що входить до гори, говорить ...

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

... так що ми можемо побачити. Але, якщо я чогось не пропускаю, це не відбувається.

У мене є розділ ext3 з написом "NewHome20G", який система сприймає як / 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 & користувачів, які я вказав, здаються, ігноруються.

Щоб переконатися, я відключаю 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 - це параметри за замовчуванням, які НЕ говорять людині.

Чому це має значення?

У мене папка з корисними скриптами, що зберігаються на диску з даними. Оскільки цей диск встановлений noexec, ці сценарії не запускаються, навіть якщо всі вони були встановлені з chmod 777. Я можу обійти це декількома способами, але розчаровує те, що запис людини, здається, невірний.

Я пропустив тут щось очевидне чи змінили параметри за замовчуванням в Ubuntu від того, що вони були у декількох версіях тому?

Відповіді:


18

Посібник правильний . Ваша проблема полягає в тому, що, можливо, ви не врахували 3 важливих деталей:

  • usersuser) має на увазі варіанти noexec, nosuidі nodev

  • Якщо не перекрито наступними параметрами

  • Варіанти замовлення мають значення;)

Отже, коли ви використовуєте rw,nosuid,nodev,exec,usersу своєму fstab , останній варіант users, встановлює noexec,nosuid,nodev, тим самим вимикаючи ваш exec(а також роблячи nosuid,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

mountпокаже щось, пов’язане з користувачем, лише якщо використовується user( 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

Також зауважте, що при використанні userбез noautoрозділу розділ буде автоматизовано (кореневим) під час завантаження. Тому, поки root не відключить його, ніхто не зможе демонтувати або (повторно) встановити.

З цього приводу , я думаю, ви вже знайшли своє рішення: просто змініть порядок своїх варіантів, і все буде добре:

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 ~ $

Це означає, що будь-який користувач, root або non-root, може монтувати та демонтувати його, незалежно від того, хто раніше його монтував чи демонстрував. І виконувані файли теж працюють :)


Ви мали на увазі "... при використанні userбез auto, розділ буде автоматизовано ..."?
Андреас Дж.

@AndreasJ. Ні, я мав на увазі noauto. autoвже є типовою поведінкою, тому без noauto- це те саме, що і з auto: розділ буде автоматизований.
MestreLion

Вибачте, я неправильно прочитав ваше речення. Це має ідеальний сенс!
Андреас Дж.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.