Размонтировать / отменить привязку файловой системы? Могу ли я просто использовать `rm`?

Я использовал это, чтобы предоставить пользователю root-доступа ftp доступ к другой области файловой системы:

mount --bind /var/www/dev/ /home/ftp_user/www_dev

за этот сайт здесь.

И, к сожалению, я понял, что предоставил пользователю ftp доступ к слишком большому количеству файлов.

Как мне это исправить? rmdir не работает:

rmdir: failed to remove `www_dev': Device or resource busy

И если это произойдет, я боюсь, что это удалит смонтированные файлы.

2 ответа

Решение

Пытаться umount -l /home/ftp_user/www_dev,

это немедленно отключит файловую систему и очистит все оставшиеся ссылки, когда она больше не будет занята.

источник: http://linux.die.net/man/8/umount

Я вижу, что в этом вопросе есть тег "unmounting", который является совершенно правильным: это похоже на то, что нужно сделать.

В общем, способ размонтировать что-то, что было создано с помощью команды mount, это использовать umount. (Не "размонтировать". "Размонтировать".)

umount /home/ftp_user/www_dev

Это заставит /home/ftp_user/www_dev перестать содержать смонтированные данные. И /home/ftp_user/www_dev будет пустой директорией. И в этот момент вы можете rmdir пустой директории /home/ftp_user/www_dev, если хотите, так как она не будет иметь ничего общего с ранее смонтированным источником (который выглядит как каталог /var/www/dev/ в твой пример).

Обратите внимание, что ничего из того, что я сказал, не относится к команде --bind, а относится к тому, как монтируется монтирование в целом.

Примечание: Вы действительно уверены, что предоставили "доступ к слишком большому количеству файлов" "пользователю ftp"? Возможно, /var/www/dev/ имеет файлы, к которым у пользователя ftp не должно быть доступа, но у пользователя ftp могут не быть прав доступа к этим файлам. Вы, возможно, сделали все хорошо, и могли бы подтвердить это, проверив, какие действия действительно возможны, когда вы фактически вошли в систему как пользователь ftp. Конечно, имея полное представление о разрешениях Unix, вы можете сделать это без входа в систему, но вход в систему может быть самым простым способом выполнить быстрый тест, не требуя некоторых более подробных сведений о том, как работают разрешения.

Примечание 2: Конечно, во многих системах Unix вы можете узнать больше о команде, запустив "man umount", которую вы можете найти, набрав "apropos mount", так как у вас была причина подозревать, что эти эффекты были вызваны ранее " гора "команда. Если вы не знакомы с mount и umount и делаете что-то, например, пытаетесь выполнить rmdir для каталога, то это означает, что вы не знакомы с некоторыми очень простыми понятиями об используемой операционной системе. Если вы работаете в системе, предоставляющей услуги другим пользователям, и у вас есть возможность обрабатывать разрешения, то эти типы основ (например, файл / etc / fstab, как еще один довольно похожий пример) вещи, которые стоит знать, чтобы надежно контролировать систему, используемую несколькими людьми. Возможно, вы захотите найти учебное пособие или книгу или какой-либо другой учебный материал, относящийся к работе с Unix (или Linux или что-то подобное). Например, mount и umount являются частью сертификации LPIC-1 Linux Professional Institute (которая очень связана с сертификацией CompTIA Linux+), поэтому учебный материал для этих сертификатов, скорее всего, предоставит такие подробности и множество других вещей, которые могут оказаться полезными для вас.,

Другие вопросы по тегам