3

Я использовал это, чтобы предоставить пользователю 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 ответа2

8

попробуйте umount -l /home/ftp_user/www_dev .

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

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

1

Я вижу, что в этом вопросе есть тег "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+), поэтому учебный материал для этих сертификатов, скорее всего, предоставит такие подробности и множество других вещей, которые могут оказаться полезными для вас. ,

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .