Создать поддельную оболочку в Linux?

(Вы не указывали свою операционную систему. Я предполагаю, что это - некоторый вариант GNU/Linux, общее понятие относится к другому UNIXes также; детали не могут.)

1. Как каждый знает то, что файл устройств для устройства в целом?

В основном необходимо знать, которому имя файла устройств соответствует который устройство.

Источники этой информации являются документацией ядра Linux, udev конфигурационные файлы (изучают /etc/udev) и MAKEDEV сценарий.

Корректное объяснение вполне дольше здесь: ядро Linux определяет устройства парой чисел, названных "майором" и "незначительными" номерами устройств. Любой файл устройств, имеющий главное и незначительное количество Вашего устройства CD-ROM, будет рассматривать ядро как то устройство CD-ROM; таким образом, Вы могли создать (см. mknod команда) устройство CD-ROM /my/cdrom и используйте это; аналогично, Вы могли использовать любое соглашение о присвоении имен, которое Вы любите за любое устройство. Однако так много системного программного обеспечения зависит от нахождения устройства по имени, что это - слишком много работы для изменения имен устройств из "стандарта".

Названия существующего устройства, используемые в системе, являются частично результатом истории (например, /dev/sdX и /dev/hdX названия дисководов - кто-то начал использовать тех, которые в начале времен и застрявшего имени), разделите результат соглашения между людьми, разрабатывающими некоторые части низкого уровня системы (главным образом, ядро, libC и udev).

2. Я должен создать заранее каталог, к которому устройство смонтировано к?

Да, монтирование не создаст тот каталог для Вас.

Причина Вы видите точки монтирования для CD, карт с интерфейсом USB и других устройств, автоволшебно появляющихся в /media тот некоторый процесс демона, создал это для Вас. (На GNU/Linux, выполняющем рабочий стол GNOME, это идет примерно следующим образом: Вы вставляете CD, каталог монтирования создается, CD смонтирован и - возможно, окно файлового менеджера открыто. Почти все может измениться, в зависимости от точной версии Linux и распределения.)

Но на командной строке, Вы самостоятельно и должны создать точку монтирования сами.

3. Устройство может быть смонтировано к нескольким местам без размонтирования?

Если Вы имеете в виду, "как заставить содержание CD появиться в различных местах файловой системы", затем да, можно сделать, это использующее функцию, названную ", связывает, монтируются".

Свяжите монтирование, может быть, "копируют" любой каталог в файловой системе, появляются в другом, непересекающемся, часть файловой системы. Например, Вы могли дать команду:

mount --bind /var/tmp /mnt

и это сделает, копируют содержание /var/tmp в каталог /mnt: если Вы создаете файл /var/tmp/foo, Вы будете видеть, что тот же файл появляется как /mnt/foo.

Дальнейшее чтение

Можно найти больше информации о mount и его операция в:

0
13.07.2012, 02:24
1 ответ

Обычно, у Korn и оболочек Bash есть "ограниченная оболочка" режим. Получение к ограниченной оболочке могло бы быть столь же легким как ввод rsh (избегайте "удаленной оболочки" - определенно не хорошая идея в 2012), или rbash. Но я не уверен, что Вы хотите.

Протокол FTP мог бы позволить клиенту отправлять произвольные команды (с КАВЫЧКОЙ), но FTP-сервер (ftpd) вероятно, не должен просто выполнять ничего, что это получает. FTP-серверы имеют долгую историю проблем безопасности, часть из-за самого протокола FTP, часть из-за неаккуратного программирования или тонких ошибок.

Используя ftp (клиентская программа), у Вас могла бы быть способность сделать список файлов на ftpd (программа сервера), машина, или у Вас могла бы быть способность добраться ftpd для изменения каталогов, но даже если Вы присваиваете ограниченную оболочку идентификатору пользователя "ftp", Вы не доберетесь ftp клиент, чтобы сделать произвольные вещи на FTP-сервере (машина).

Вы могли бы получить то, что Вы хотите путем установки идентификатора пользователя с ограниченной оболочкой и затем предоставления доступа SSH тем идентификатором пользователя. Я не могу сказать от Вашего вопроса.

4
28.01.2020, 02:21
  • 1
    пример использования команды FTP QUOTE, чтобы сделать вещи не-FTP находятся в загрузчике ADAM2, который является загрузчиком, используемым в некоторых маршрутизаторах DSL. wiki.openwrt.org/doc/howto/generic.flashing.ftp –  LawrenceC 13.07.2012, 04:58
  • 2
    Интересный: "r" в rsh для удаленного (но вероятно это - то же самое: это ограничивается, потому что это удаленно). На моем Debian при вызове его Вы получаете ssh! (И man rsh также получает Вас ssh страница справочника, в которой говорится, что ssh заменяет rsh и некоторые другие инструменты.) В системе Соляриса моей школы это все еще там. –  Emanuel Berg 13.07.2012, 10:44
  • 3
    @Emanuel Berg: два "rsh" существуют, каждый - "Удаленный Shell" другой, "Ограничивается" оболочка. Никто в эти современные времена не должен использовать удаленную оболочку. Все передает по сети в открытом тексте. –  Bruce Ediger 13.07.2012, 16:36
  • 4
    @BruceEdiger Там существует версия Kerberized rsh, который шифруется по сети. Но ssh имеет тенденцию быть более распространенным. –  ephemient 13.07.2012, 20:39

Теги

Похожие вопросы