- Mitglied seit
- 15. Mai 2008
- Beiträge
- 21.900
- Punkte für Reaktionen
- 14
- Punkte
- 0
Hatte mich ja vor kurzem mit dem cryptoloop befasst. Vor längerem auch mal mit dem Mounten von ISO-Images.
Nun habe ich dazu ein kleines PHP-Skript geschrieben, welches wenn als 3rd-party eingebunden, das Mounten insgesamt etwas einfacher macht. Man kann Verzeichnisse mounten (bind), also das root-Verzeichnis in eine Share z.B. und eben auch via loop-Device (iso-Images oder crypto-container) mounten. Wenn man ein Kennwort eingibt, dann wird es als cryptoloop eingebunden, ansonsten als isofs. (Maus über die Felder, gibt Hinweise was wo ...)
Die Integration als 3rd-party-apps wie immer (gibt ja nun schon genug Beispiele).
Wie immer geht alles auf eigene Kappe
itari
Motivationsbildchen:
Nun habe ich dazu ein kleines PHP-Skript geschrieben, welches wenn als 3rd-party eingebunden, das Mounten insgesamt etwas einfacher macht. Man kann Verzeichnisse mounten (bind), also das root-Verzeichnis in eine Share z.B. und eben auch via loop-Device (iso-Images oder crypto-container) mounten. Wenn man ein Kennwort eingibt, dann wird es als cryptoloop eingebunden, ansonsten als isofs. (Maus über die Felder, gibt Hinweise was wo ...)
Die Integration als 3rd-party-apps wie immer (gibt ja nun schon genug Beispiele).
PHP:
<?php
if ($_REQUEST['action'] == 'mount_bind') exec("mount --bind ".$_REQUEST['bind_dir']." ".$_REQUEST['bind_mount']." 2>&1");
elseif ($_REQUEST['action'] == 'umount_bind') exec("umount -f ".$_REQUEST['bind_dir']);
elseif ($_REQUEST['action'] == 'mount_loop')
if ($_REQUEST['loop_password'] != '')
exec("echo ".$_REQUEST['loop_password']." | losetup -e aes ".$_REQUEST['loop_dev']." ".$_REQUEST['loop_file']
.";mount -t ext3 ".$_REQUEST['loop_dev']." ".$_REQUEST['loop_mount']);
else
exec("losetup ".$_REQUEST['loop_dev']." ".$_REQUEST['loop_file']
.";mount -t iso9660 ".$_REQUEST['loop_dev']." ".$_REQUEST['loop_mount']);
elseif ($_REQUEST['action'] == 'umount_loop') exec ("umount ".$_REQUEST['loop_dev']);
$_REQUEST['action']='';
?>
<html><head><title>mount</title>
<style>body,input{font:12px Arial}pre{font-size:11px}.in{width:200px;}fieldset{border:1px solid #bbb}</style>
<script>function $(e){return document.getElementById(e);}</script>
</head><body>
<form name="f" id="f" method="post" action="mount.php">
<input type="hidden" name="action" id="action" value=""/>
<fieldset><legend>bind-mount</legend>
<pre><?php passthru("mount | grep bind"); ?></pre>
<input class="in" type="text" name="bind_dir" value="<?php print $_REQUEST['bind_dir'] ?>" title="directory">
<input class="in" type="text" name="bind_mount" value="<?php print $_REQUEST['bind_mount'] ?>" title="mount_point">
<input type="button" value="mount" onclick="$('action').value='mount_bind';f.submit();">
<input type="button" value="umount" onclick="$('action').value='umount_bind';f.submit();">
</fieldset>
<fieldset><legend>loop-mount</legend>
<pre>
<?php passthru("losetup /dev/loop0 && mount | grep loop0 || echo /dev/loop0:;".
"losetup /dev/loop1 && mount | grep loop1 || echo /dev/loop1:;".
"losetup /dev/loop2 && mount | grep loop2 || echo /dev/loop2:;".
"losetup /dev/loop3 && mount | grep loop3 || echo /dev/loop3:;".
"losetup /dev/loop4 && mount | grep loop4 || echo /dev/loop4:;".
"losetup /dev/loop5 && mount | grep loop5 || echo /dev/loop5:;".
"losetup /dev/loop6 && mount | grep loop6 || echo /dev/loop6:;".
"losetup /dev/loop7 && mount | grep loop7 || echo /dev/loop7:"); ?></pre>
<input type="text" name="loop_dev" value="/dev/loop" title="loop_device" size="6">
<input class="in" type="text" name="loop_file" value="" title="file">
<input class="in" type="text" name="loop_mount" value="" title="mount_point">
<input type="password" name="loop_password" value="" title="password">
<input type="button" value="mount" onclick="$('action').value='mount_loop';f.submit();">
<input type="button" value="umount" onclick="$('action').value='umount_loop';f.submit();">
</fieldset>
</form></body></html>
Wie immer geht alles auf eigene Kappe
itari
Motivationsbildchen:
Anhänge
Zuletzt bearbeitet: