Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-12-24 18:59:31

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

[FUSE] Montowanie Archiwów

Witajcie!

Chcę zrobić taki niby-skrypt, który montowałby archiwa (Zip, Tar - ile się da), problemem jest pewien konflikt

FUSE domyślnie ma ustawione, że tylko Root może montować, w zasadzie rozwiązanie jest proste, trzeba do /etc/fuse.conf dopisać odpowiednie 2 linijki, by mogli go użytkownicy używać. Problem jest taki, że fuse.conf jest tylko do odczytu roota (ktoś zrąbał?) i nie działa montowanie archiwów z poziomu użytkownika.

1) Prawdopodobnie najłatwiej jest użyć sudo, jednak jaki warunek dodać, by bez hasła (NOPASSWD) uruchamiać TYLKO jedną aplikację?
2) Jak zrobić warunek, że jeśli katalog X (np. /home) jest pusty, to zrobił jakieś opcje, a jeśli coś w nim jest, to co innego?
3) Jak zrobić umount takich rzeczy? Niby umount to robi, ale Drag-Drop (umount $PWD/$1?)

Fervi

Offline

 

#2  2012-12-24 19:47:45

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [FUSE] Montowanie Archiwów

Już ktoś napisał:
http://gpo.zugaina.org/sys-fs/fuse-zip

RTFM:

Kod:

man fusermount

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2012-12-24 19:48:35)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2012-12-24 20:17:27

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: [FUSE] Montowanie Archiwów

@Jacekalex

Pewnie, tylko nie każdy jest nerdem, by pisać skrypty w konsoli, a prościej jest wyklikać to wszystko

Fervi

Offline

 

#4  2012-12-24 20:30:10

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [FUSE] Montowanie Archiwów

To bierz np basha, zenity i wio.
Albo zwykły skrypcik  typu przełącznik, w typie zamontowane? => odmontować, niezamontowane? =>montować.
funkcja if then else, kilka komend i gotowe, potem podpiać pod otwieranie danego typu archiwum.

Możesz też użyć case do wyboru typów archiwum, modułów fuse Ci nie zabraknie.
http://gpo.zugaina.org/Search?search=fuse

Poza tym radziłbym zmienić okulistę, bo zarówno gnomowy fille-roller jak i ark z KDE (i pewnie kilka innych też) dają przeźroczysty dostęp do archiwum, bez wypakowywania.

Pewnie dlatego nikt nie zajmował się pisaniem programu, który będzie montować przez fuse.
Po prostu z sandała się w otwarte drzwi nie kopie, bo można skarpetkę podrzeć... :D

Ostatnio edytowany przez Jacekalex (2012-12-24 20:36:44)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#5  2012-12-24 20:46:56

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: [FUSE] Montowanie Archiwów

Poza tym radziłbym zmienić okulistę, bo zarówno gnomowy fille-roller jak i ark z KDE (i pewnie kilka innych też) dają przeźroczysty dostęp do archiwum, bez wypakowywania.

Pewnie, ale jak chcesz obejrzeć film, który ma 24GB, to chwilę potrwa jego wypakowanie :D Poza tym projekt ma lekko odciążyć Squeeze i Xarchiver

Tyle wymodziłem (w zasadzie wczoraj), ale muszę poprawki nanieść

Kod:

#!/bin/sh

mkdir /tmp/am-$USER
mkdir /tmp/am-$USER/$$
archivemounter -o allow_other $1 /tmp/am-$USER/$$
notify-send -i "file-roller" "Montowanie zakończone sukcesem" "Udało nam się zamontować twoje archiwum w /tmp/am-$USER/$$"

Fervi

PS. No i wszystko się komplikuje, bo użytkownik nie może zamontować katalogu FUSE, bo nie ma dostępu do plików konfiguracyjnych, by sprawdzić czy ma takie uprawnienia. Istna paranoja :D

Ostatnio edytowany przez fervi (2012-12-24 20:47:44)

Offline

 

#6  2012-12-24 21:06:51

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [FUSE] Montowanie Archiwów

A przypadkiem w takich dziwnych systemach jak np Gentoo jest taki folderek ~/.gvfs do montowania rożnych dziwów, Nautilus takie dziwy z .gvfs łyka jak bociek żabę.
W *buntu też coś takiego było.
O ile mi wiadomo Thunar też  łyka .gvfs, w KDE nie sprawdzałem.

PS. No i wszystko się komplikuje, bo użytkownik nie może zamontować katalogu FUSE, bo nie ma dostępu do plików konfiguracyjnych, by sprawdzić czy ma takie uprawnienia. Istna paranoja :D

SOA#1

Kod:

ls -l /etc/fuse.conf 
-rw-r--r-- 1 root root 213 2012-03-15  /etc/fuse.conf

Kod:

cat  /etc/fuse.conf 
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
mount_max = 100

# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
user_allow_other

Lepiej rób od razu przełącznik:

Kod:

#!/bin/bash

function dugmount {
    sshfs pacjent@shell.dug.net.pl:/home/pacjent /media/dug -o allow_other
    echo "dug zamontowany w /media/dug ;)"; notify-send -t 2000 "dug zamontowany w /media/dug ;)";
};

function dugexit {
    fusermount -u /media/dug || $(sudo killall sshfs  && sudo umount /media/dug)
    echo "dug odmontowany ;)"; notify-send -t 2000 "dug odmontowany ;)";
};

grep 'shell.dug.net.pl' /proc/mounts &>>/dev/null && dugexit || dugmount;
exit 0;

Wygodniejsze to i skuteczniejsze.
Funkcje sobie wyrzeźbisz. :D

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2012-12-24 21:13:20)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#7  2012-12-24 21:53:25

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: [FUSE] Montowanie Archiwów

1) Nie wskazuje na to, że ZU nie może otworzyć pliku? (Albo dobra, już wiem)
3) Co ma SSH do ZIP'ów? :D [Chyba, że to jakiś example]

Fervi

Ostatnio edytowany przez fervi (2012-12-24 21:55:24)

Offline

 

#8  2012-12-24 22:16:00

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: [FUSE] Montowanie Archiwów

Przyklad działającego skryptu, jak neurochirurg znajdzie między twoimi uszami choć jedną działającą szarą komórkę, to zrozumiesz, ze wystarczy zamienić komendy do montowania po ssh na komendy montowania/odmontowania zipa, rara, tara, google-drive, dropboxa czy czego tam zechcesz.

Chodzi o mechanizm przełącznika w typie 1klik - klik i zrobione, bez żadnej dodatkowej czy specjalnej akcji użytkownika.

Trzeba tylko zmienić 3 funkcje, montowanie, odmontowanie i sprawdzenie warunku.

Kod:

#!/bin/bash

function tctajne {
     exec  $(sudo truecrypt -f --keyfiles=/gdie/jest/klucz --mount /dev/sdaX /media/tajne);
  };
  
function tcexit {
    cd ~; exec $(sudo truecrypt -d) ;
};
grep truecrypt /proc/mounts | grep /media/tajne &>/dev/null && tcexit ||tctajne &
exit 0;

Albo zobacz, co ma Truecrypt do zipa :D

Chyba, że do kliknięcia prawym kneflem  mychy na plik trzeba wg Ciebie Super-Hakera. :rootfl:

To by było na tyle
;-)

Ostatnio edytowany przez Jacekalex (2012-12-24 22:20:56)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#9  2012-12-24 22:29:57

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: [FUSE] Montowanie Archiwów

No dobra, ale to oznacza tyle, że program pozwala zamontować tylko 1 archiwum, więc ma ograniczenia.

Ja myślę o czymś takim, że w folderze montowania będzie skrypt, a ty chcąc odmontować archiwum zrobisz drag&drop na ten skrypt i on odmontuje go

Fervi

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)