Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: mafka 13 Září 2012, 14:57:50
-
Zdravím,
narazil jsem na problém se kterým jsem se rozhodl obrátit na Vás pokud někdo bude mít zájem mi alespon trošku pomoct protože si už nevím rady.
Ve zkratce: skript na připojení na školní server které mi fungoval pod ubuntu bez problému, ted mám pár dní Linux Mint a nedaří se mi to naladit. Jde o to že jednotlivé příkazy ze skriptu fungují pokud je zadávám do shellu postupně
funguje bezproblému a dělá co má - připojí na server
masi@masi-compaq ~/Dokumenty/scripts $ mntpoint="/mnt/uhk" ; sudo sshfs masarlu1@sftp.uhk.cz:/ $mntpoint ; gksudo caja $mntpoint &
masarlu1@sftp.uhk.cz's password:
[1]+ Dokončena gksudo caja $mntpoint
[1] 3977
skript má takovouto podobu a má nastaveno chmod +x
masi@masi-compaq ~/Dokumenty/scripts $ cat uhk.sh
#!/bin/sh
mntpoint= "/mnt/uhk/";
sudo sshfs masarlu1@sftp.uhk.cz:/ $mntpoint
gksudo caja $mntpoint &
po jeho spuštění mám však pouze toto
masi@masi-compaq ~/Dokumenty/scripts $ /home/masi/Dokumenty/scripts/uhk.sh
/home/masi/Dokumenty/scripts/uhk.sh: 3: /home/masi/Dokumenty/scripts/uhk.sh: /mnt/uhk/: Permission denied
Bad address
/home/masi/Dokumenty/scripts/uhk.sh: 8: /home/masi/Dokumenty/scripts/uhk.sh: //: Permission denied
/home/masi/Dokumenty/scripts/uhk.sh: 9: /home/masi/Dokumenty/scripts/uhk.sh: //: Permission denied
/home/masi/Dokumenty/scripts/uhk.sh: 10: /home/masi/Dokumenty/scripts/uhk.sh: //: Permission denied
kdy je výsledkem pouze otevřené caja (nautilus prostředí MATE)
nevím si rady právě proto že tyto problémy jsem pod ubuntu neměl a vše se nastavilo takto okamžitě.
Budu rád za veškeré rady všem. Předem díky :)
-
ukazal jsi na ten skript cely ?
-
Co tím myslíš? Ted nerozumím.
-
/home/masi/Dokumenty/scripts/uhk.sh: 8: /home/masi/Dokumenty/scripts/uhk.sh: //: Permission denied
/home/masi/Dokumenty/scripts/uhk.sh: 9: /home/masi/Dokumenty/scripts/uhk.sh: //: Permission denied
/home/masi/Dokumenty/scripts/uhk.sh: 10: /home/masi/Dokumenty/scripts/uhk.sh: //: Permission denied
s veskerou moznou fantazii vidim, ze tvuj skript nema vice nez 6 radku ackoliv error poukazuje na existenci radku 8-10
-
Aha rozumím, ne neukázal tam jsou totiž tři řádky které sem zakomentoval viz
masi@masi-compaq ~/Dokumenty/scripts $ cat uhk.sh
#!/bin/sh
mntpoint= "/mnt/uhk/";
sudo sshfs masarlu1@sftp.uhk.cz:/ $mntpoint
gksudo caja $mntpoint &
// umisteno v promenne $UHK
// editace v /home/masi/.bashrc
// export UHK=/home/masi/Dokumenty/scripts/uhk.sh;
masi@masi-compaq ~/Dokumenty/scripts $
avšak info v nich zatím není aktuální, protože zatím ladím jen spuštění skriptu nikoli nastavení systémové proměnné (.bashrc ani v homu není zde) čili sem to neseznal důležitým
edit: samozřejmě po odstranění řádků 8-10 už je permission denied pouze u řádku 3 ale výsledek je stejný (tedy otevření caja okna na defaultním místě)
-
a) komentare se delaji pomoci # a nikoliv pomoci //
b) vidim tam mezeru v ``sudo sshfs masarlu1@sftp.uhk.cz:/ $mntpoint'', coz je samozrejme spatne .. mezeru mezi "/" a "$mntpoint"
-
Co se týče komentářů děkuju za upřesnění :)
jinak ale ta mezera je tam správně viz i případ kdy sem spustil skript rovnou ze shellu příkazy
masi@masi-compaq ~/Dokumenty/scripts $ mntpoint="/mnt/uhk" ; sudo sshfs masarlu1@sftp.uhk.cz:/ $mntpoint ; gksudo caja $mntpoint &
masarlu1@sftp.uhk.cz's password:
[1]+ Dokončena gksudo caja $mntpoint
[1] 3977
toto sem měl i ve "starém" skriptu ještě pod ubuntu
sudo sshfs masarlu1@sftp.uhk.cz:/ /mnt/uhk/
-
aha .. moje chyba
potom mozna chybi target adresar
-
A kde? Ono příkazy fungují v pořádku jen skript jako celek ne
-
A kde? Ono příkazy fungují v pořádku jen skript jako celek ne
Kdo je vlastníkem skriptu? Změň vlastníka na masi:masi.
sshf používá fuse, to nevyžaduje sudo nebo gksudo. Nemá smysl používat nějaké sudo sshfs nebo cokoliv spouštět s právy roota. Mountpoint by si měl mít ve svém uživatelském prostoru, například v /home/masi/uhk a měl by si být vlastník uvedené složky, aby si do ní měl přístup a možnost zápisu. V nautilu normálně vytvoř složku /home/masi/uhk jako uživatel masi a odstraň ze skriptu sudo a gksudo spouštěj skript jako masi.
-
Vlastníkem je masi
Mountpoint by si měl mít ve svém uživatelském prostoru
toto přeci není podmínka ne? právě úmyslně mountuju do /mnt/ kde mám tedy složku uhk/, do /mnt mám totiž zažité mountování dalších zařízení (např win disk)
jinak při odstraní jak sudo, tak gksudo a změně mount pointu na /home/masi/uhk je problém pořád ten stejné
masi@masi-compaq ~/Dokumenty/scripts $ /home/masi/Dokumenty/scripts/test.sh
/home/masi/Dokumenty/scripts/test.sh: 3: /home/masi/Dokumenty/scripts/test.sh: /home/masi/uhk/: Permission denied
Bad address
-
do /mnt mám totiž zažité mountování dalších zařízení (např win disk)
Tak to se odnauč, to se u fuse nedělá. Ne že by to nešlo. FUSE je File System In User Space (http://cs.wikipedia.org/wiki/Filesystem_in_Userspace).
Musíš být ve skupině fuse:
sudo adduser $USER fuse
vygeneruj klíč (jako user masi)
ssh-keygen -t dsa
nakopíruj klíč (pokud máš právo se přihlašovat i klíčem)
ssh-copy-id -i ~/.ssh/id_dsa.pub masarlu1@sftp.uhk.cz
A tady máš skript, na který když klikneš a spustíš ho, tak by tě měl přihlásit:
#!/bin/bash
nohup sshfs masarlu1@sftp.uhk.cz /home/masi/uhk/ &> /dev/null &
exit 0
-
u toho kopírování mi to tedy hlásí přístup odepřen a tudíž dál se nedostanu
-
Nemáš právo zápisu? Tak ten klíč můžeš do školy donést na flashce a ručně ho přidat do /home/masarlu1/.ssh/ a přejmenovat na authorized_keys
Zkus tedy ten script bez toho, mělo by tě to vyzvat k zadání hesla.
Případně jen takto:
#!/bin/bash
sshfs masarlu1@sftp.uhk.cz /home/masi/uhk/ &
-
uff .. to je divny .. muzes prosim dat na druhy radek skriptu hned pod #!/bin/bash
set -x; exec 2>&1
dale na sshfs nepotrebujes vubec sudo ... proste dej
sshfs -o uid=$tvuj_uid,gid=$tvuj_gid $kdo@$kde:$co $kam
a ukazat nam primej vystup co to udela ?
@beer :: co to tady meles (ano - meles) za snusku nesmyslu ?
ad.ssh) nedochazi ti nahodou, ze vlastnik serveru nastavuje zpusob autentizace ?
-
-o uid=$tvuj_uid,gid=$tvuj_gid
k čemu je tam potřeba tohle? jde mi o to že pár dní zpět jsem se přihlašovat právě tak jak sem ten skript ukazoval a tyhle věci nebyly nezbytné
-
Vzhledem k tomu, že ti to hází 'Permission denied' na řádku, kde přiřazuješ hodnotu do proměnné, tak je zcela zřejmé, co je špatně. Na mezery v sh pozor.
Edit: Jsem si neuvědomil, že cat udělá prázdný řádek na začátku, ale to nic nemění na adresaci chyby.
Edit2: Jsem zas zmátnul sám sebe - odvolávám, co jsem odvolal a slibuji, co jsem slíbil ;D
-
Vzhledem k tomu, že ti to hází 'Permission denied' na řádku, kde přiřazuješ hodnotu do proměnné, tak je zcela zřejmé, co je špatně. Na mezery v sh pozor.
Edit: Jsem si neuvědomil, že cat udělá prázdný řádek na začátku, ale to nic nemění na adresaci chyby.
je to skutečně tak, vlastně to vyřešilo celé problém... abych se přiznal tak přiřazení do té proměnné byla jediná novinka (+ přepsání caja místo nautilus) oproti minulému
mockrát děkuju všem za čas a pomoc, speciální díky GdH
-
uff .. to je divny .. muzes prosim dat na druhy radek skriptu hned pod #!/bin/bash
set -x; exec 2>&1
dale na sshfs nepotrebujes vubec sudo ... proste dej
sshfs -o uid=$tvuj_uid,gid=$tvuj_gid $kdo@$kde:$co $kam
a ukazat nam primej vystup co to udela ?
@beer :: co to tady meles (ano - meles) za snusku nesmyslu ?
ad.ssh) nedochazi ti nahodou, ze vlastnik serveru nastavuje zpusob autentizace ?
Nech si ty své impertinence.
Doporučuji ti se seznámit s Pravidly diskusního fóra (http://forum.ubuntu.cz/index.php?topic=12735.0), zejména se článkem 4:
4. Jsou přísně zakázány urážky, osočování a vulgární vyjadřování na fóru a výroky podněcujícím či odkazujícím na násilí nebo nenávist.
Samozřejmě, že vím, že může vlastník serveru rozhodovat o způsobu autentizace. Přihlašování klíčem je mnohem bezpečnější, než přihlašování heslem, heslo je možno odchytit. Přihlašování přes klíč je ideální například pro automatický mount. Nevidím tady informaci, že jiný způsob autentizace má uživatel zakázaný.
Nevím jak ty, ale já sshfs skutečně používám.