Autostartscripts gehen nicht

Hinweis: In dem Thema Autostartscripts gehen nicht gibt es 22 Antworten auf 3 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Hallo liebe Community,


    ich habe, soweit ich weiss seit ich OSS 15.2 verwende, das Problem daß die Autostartscripts nicht gehen. Wenn ich sie manuell über die Konsole starte, funktionieren sie aber...


    cat mount.sh

    Bash
    #!/bin/bash
    mount /mnt/cisdrv

    ls -l

    Code
    insgesamt 8
    -rw-r--r-x 1 nuria users 30 28. Dez 18:02 mount.sh
    -rw-r--r-x 1 nuria users 31 28. Dez 18:02 unmount.sh


    Wie Ihr seht sind beide ausführbar und, beispielhaft an der mount.sh sieht man am Code, daß eine Shell (nämlich bash) zugewiesen ist. Trotzdem wird das nicht ausgeführt nacheinem Bootvorgang. Die Scripts liegen im Ordner ~/bin .


    So hat das unter der 15.1 aber immer funktioniert, ein manuelles Ausführen war nie erforderlich. Soweit ich daß sehen würde ist auch alles richtig angegeben im Autostart Fenster.


    Vielleicht hat jemand einen Rat für mich ?


    Lieben Dank vorab ;)

  • So spontan wurde ich behaupten das mount kann nur root ausführen aber wenn unter 15.1 das funktionierte ??


    Nachtrag

    So verkehrt war mein Gedanke gar nicht

    Code
    leap152@Heinz:~> mount /dev/xaz ~/Downloads/
    mount: nur „root“ kann dies tun
    leap152@Heinz:~>

    Nachtrag

    Ich habe schon was von udisksctl gehört aber selber nicht getestet.

    Code
    udisksctl mount -b /dev/sdxy

    Hier Artikel dazu: https://help.ubuntu.com/commun…omaticallyMountPartitions


    Wir müssen lernen, entweder als Brüder miteinander zu leben oder als Narren unterzugehen.

    Zitat von Martin Luther King.

    Einmal editiert, zuletzt von Heinz-Peter ()

    Für den Inhalt des Beitrages 287715 haftet ausdrücklich der jeweilige Autor: Heinz-Peter

  • Ist mount nicht ein Systembefehl?


    Wenn du dem Skript einen etwas anderen Namen geben würdest, könnte es vielleicht funktionieren.


    Insert coin and try again :D



    Beste Grüße,

    Stephan

  • DarkTrinity

    Mach das mal lieber über systemd. Google nach systemd script start als root oder ähnlichen Suchbegriffen und lies dich da mal ein. Das ist nicht ganz so trivial.

  • Ist mount nicht ein Systembefehl?

    Ja natürlich.

    Deinen Kommentar betrachte ich schon als sehr wichtig!

    Man sollte eigene Skripts nicht wie einen Systembefehl benennen.

    Der TE könnte sein Script besser in mount_cisdrv.sh benennen.


    Allerdings wird dies das eigentliche Problem nicht ändern. Er hat ja den kompletten Pfad zum Script angegeben.

  • mount /mnt/cisdrv

    Ich vermute mal, du willst eine Samba-/Windowsfreigabe mounten, richtig?

    Dein cisdfv ist vielleicht ein cifs-Gefät?


    Suse hat aus SIcherheitsgründen dem mount das SUID-Bit entfernt. Und das ist auch gut so!

    Du könntest es ihm wieder geben, was ich nicht empfehlen würde!


    Entweder du mountest als root oder du gibst deinem Script unter Yast-Sicherheit und Benutzer-Sudo das Recht, dein Script mit Rootrechten ohne Passwortabfrage auszuführen.


    Nachtrag:

    Du könntest das Gerät auch direkt in der /etc/fstab eintragen und dort die entsprechende UID und rw-Rechte mitgeben. Das ist aber nur günstig, wenn das Gerät ständig angeschlossen ist.

    Einmal editiert, zuletzt von Dr.Heinberg () aus folgendem Grund: Nachtrag

    Für den Inhalt des Beitrages 287732 haftet ausdrücklich der jeweilige Autor: Dr.Heinberg

  • Hallo, erstmal lieben Dank für Eure Hilfe


    [...]

    Suse hat aus SIcherheitsgründen dem mount das SUID-Bit entfernt. Und das ist auch gut so!

    Du könntest es ihm wieder geben, was ich nicht empfehlen würde!

    [...]

    Das hatte ich natürlich gemacht aber habe es nun zurück gerollt mit

    Code
    chmod u-s /usr/sbin/mount.davfs


    Ist mount nicht ein Systembefehl?

    Oh man, klar.... Auch das ist natürlich richtig. Ich habe die beiden Scripts nun umbenannt


    Unter YAST / Sudo habe ich nun einen Eintrag zu den beiden Scripts gemacht und "kein Passwort" angehakt. Gut möglich daß ich das auf OSS 15.1 auch so oder so ähnlich hatte, kA... Jedenfalls ist das Ergebnis jetzt in Punkto Ergonomie noch viel schlechter:


    1. Der sudo- Befehl fragt trotzdem das Root- Passwort ab

    2. Jetzt soll ich auch noch das Passwort und den Username für die zu mountende Ressource eingeben immer, was ich vorher nicht musste.


    Die entsprechenden Zugangsdaten sind natürlich in der ~/.davfs2/secrets gespeichert und die Ressource in der fstab mit noauto eingetragen. Es handelt sich um ein Webdav Laufwerk und wenn ich es ohne noauto mache, wird ja ein Mountversuch unternommen bevor die Netzwerkverbindung steht ...<br>

    <br>

    Es war also mit SUID-Bit deutlich bequemer.


    Was ich mich jetzt frage ist

    1. Wieso will er das Rootpasswort haben, obwohl ich den Haken auf "kein Passwort" gesetzt habe ?

    2. Wieso will er die Zugangsdaten zur Webressource haben ? Oder muss ich die nun in /etc/davfs2/secrets ablegen weil ja als Root gemounted wird ?

  • Jetzt geht es. Dazu folgendes angepasst:

    1. Sudo- Einträge nicht nur für die Scripts als solche sondern auch die hier enthaltenen Befehle mount + umount angelegt - nebst Mountpoint als Parameter und Haken bei "Kein Passwort"
    2. In den Scripts dann die Befehle mount & umount um das vorangestellte sudo ergänzt

    Ergebnis:

    Code
    ## funktioniert nicht:
    mount-cis.sh
    bash: /home/nuria/bin/mount-cis.sh: Keine Berechtigung
    ## funktioniert:
    sudo ./mount-cis.sh

    Ich verstehe aber nicht, wieso es nicht reicht das Script mit sudo zu starten und die enthaltenen Befehle ohne sudo.... Schließlich sollten doch alle im Script enthaltenen Befehle dann mit diesen Rechten ausgeführt werden....


    Was auch nicht begreife - wenn ich schon im Script enthaltenen Befehl dort mit sudo verwende, wieso muss das elterliche Script dann auch mit sudo aufgerufen werden ?


    Das erscheint mir ziemlich unlogisch und doppelt gemoppelt .....


    Jedenfalls nützt mir das so überhaupt nichts, da ich in der Systemsteuerung kein Startscript mit angehangenem sudo starten kann... Du gibst hier ja lediglich das Script als solches an ^^


    Also werde ich das SETUID wieder zuweisen und das umbenannte Script verwenden

    Einmal editiert, zuletzt von DarkTrinity ()

    Für den Inhalt des Beitrages 287824 haftet ausdrücklich der jeweilige Autor: DarkTrinity

  • Er sagt immer "keine Berechtigung", wenn ich das über das Script mache - völligh gleich ob SUID-Bit gesetzt oder nicht und völlig gleich was in SUDO/YAST angegeben ist.

    Wenn ich den mount- befehl so eingebe klappt es...

    Ich weiss genau daß ich das mal am Laufen hatte und zwar über Autostart - schön automatisch ^^

  • wieso muss das elterliche Script dann auch mit sudo aufgerufen werden ?

    Du kommst aus der Ubuntu Ecke?

    Vergesse so schnell wie möglich sudo. :)

    Leap braucht su -l oder nur su kein sudo.

    Wir müssen lernen, entweder als Brüder miteinander zu leben oder als Narren unterzugehen.

    Zitat von Martin Luther King.

    Für den Inhalt des Beitrages 287829 haftet ausdrücklich der jeweilige Autor: Heinz-Peter