Strona 1 z 2

Skrypt bash montujący udział sieciowy w katalogu domowym wybranych użytkowników

: 27 sierpnia 2012, 14:09
autor: alos
Witam.
Nie wiem czy w dobrym miejscu napisałem.
Jestem zielony w pisaniu skryptów więc proszę o wyrozumiałość.
Chciałbym napisać skrypt, który będzie montował pewien udział sieciowy w katalogu domowym wybranych użytkowników.
Pozdrawiam i dziękuję za pomoc.

: 27 sierpnia 2012, 15:07
autor: LordRuthwen
I co w związku z tym?
Zacząłeś jakoś?

: 27 sierpnia 2012, 15:27
autor: alos
Wiem jakie jak zamontować coś ale nie wiem kompletnie jak to opisać skryptem, LordRuthwen może znasz jakiś dobry kurs który pomoże mi poradzić sobie z tym zadaniem.

: 27 sierpnia 2012, 17:29
autor: Rafal_F
https://www.google.pl/search?client=ope ... el=suggest
Tworzysz nowy plik, zaczynasz od:

Kod: Zaznacz cały

#!/bin/bash
a w kolejnych liniach wpisujesz po kolei polecenia jakie wydajesz w konsoli i tyle.

: 27 sierpnia 2012, 22:49
autor: Andyk

Kod: Zaznacz cały

#!/bin/bash 
mount -r -t ntfs /dev/sda1 /mnt/dane 
mount -r -t ntfs /dev/sda2 /mnt/dane2
http://dief.republika.pl/main.html

: 28 sierpnia 2012, 10:07
autor: alos
Andyk, a gdzie w tym co napisałeś jest pobieranie informacji o użytkownikach, dla których ten skrypt ma się wykonać?

: 28 sierpnia 2012, 10:10
autor: LordRuthwen
@alos:
Napisz coś więcej, na jakiej podstawie skrypt ma wiedzieć o jakich użytkowników chodzi itd itp. Jak to są ciągle ci sami to zmień po prostu punkt montowania w przykładzie andyka i tyle.

: 28 sierpnia 2012, 11:29
autor: alos
Chciałbym aby skrypt pobierał użytkowników z notatnika, który byłby chociażby w katalogu domowym roota punkt montowanie byłby to katalog domowy użytkowników z notatnika.

: 28 sierpnia 2012, 11:41
autor: LordRuthwen

: 28 sierpnia 2012, 13:27
autor: dhapollo
Nie rozumiem problemu, więc możne po mojemu jak ja zrozumiałem problem.
  1. Jest sobie serwer plików np. (\\192.168.1.1\katalog-użytkownik)
  2. Jest sobie LNUX i posiada np 10 użytkowników, ale tylko 5 z nich ma nieć zamontowane pliki
  3. Wszystko ma się dziać automatycznie przy starcie Linuksa
  4. Montowanie opiera się o skrypt mount-lan.sh
Problem raczej jest do ogarnięcia w 5 minut dzięki google.pl nieposiadająca żadnej wiedzy (ale mogę się mylić, Jeśli pisze głupoty poprawcie mnie!.
Zaczynamy.
  1. Tworzymy plik o nazwie mount-lan.sh

    Kod: Zaznacz cały

    nano /root/mount-lan.sh
    
  2. Wpisujemy polecenie do montowania udziałów sieciowych według schematu

    Kod: Zaznacz cały

    mount -t cifs -o user=nazwa-użytkownika,password=hasło-użytkownika //TO-CO/CHCEMY-ZAMONTOWAĆ /TAM-GDZIE-CHCEMY/ZAMONTOWAĆ
    [code]
    
    #!/bin/bash 
    mount -t cifs -o user=użytkownik1,password=hasło1 //192.168.1.1/użytkownik1 /home/użytkownik1
    mount -t cifs -o user=użytkownik2,password=hasło2 //192.168.1.1/użytkownik2 /home/użytkownik2
    mount -t cifs -o user=użytkownik3,password=hasło3 //192.168.1.1/użytkownik3 /home/użytkownik3
    mount -t cifs -o user=użytkownik4,password=hasło4 //192.168.1.1/użytkownik4 /home/użytkownik4
    mount -t cifs -o user=użytkownik5,password=hasło5 //192.168.1.1/użytkownik5 /home/użytkownik5
    
    teraz pozostaje uruchomić plik skryptu, a jeśli chcemy żeby był wykonany przy starcie trzeba zrobić dowiązanie do plików startowych (o ile dobrze pamiętam).
Ponoć można jeszcze tak:

Montujemy jak wcześniej tyle że dane użytkownika i hasło zawarte są w pliku plik_z_hasłem w katalogu /home/użytkownik/.

Kod: Zaznacz cały

mount -t       cifs  -o credentials=/home/użytkownik/.plik_z_hasłem //komp/udział       /mnt/mountpoint
Ów plik /home/użytkownik/.plik_z_hasłem ma format jak niżej:

Kod: Zaznacz cały

username = jakiś_użytkownik
password = jakieś_hasło