Tuesday, 22 March 2022

Howto to configure samba, add users and groups, with different permissions in various folders

I am trying to implement a server with Samba 4.5.x on Debian 9. The Samba server shall be accessible from Mac OS X and Windows.

Here is the thing.

I have those groups (maybe is it my mistake ?) :

  • Admin (User 1 + User 2)
  • Group1 (User 3 + User 4)
  • Group2 (User 5 + User 6)
  • Group3 (User 7 + User 8)

I have these directories :

  • Directory1
  • Directory2
  • Directory3

    • SubDirectoryOfUser7
    • SubDirectoryOfUser8

I'd like to have to have :

  • User 1 + User 2 (Admin) to have read, write and navigate on any folders in all directories.

  • I'd like to have User 3 + User 4 (Group1) able to read, write and navigate in anything in Directory1 + guests to have right to read and navigate in this directory.

  • I want User 5 + User 6 (Group2) able to read, write and navigate in Directory2 and User 3 + User 4 (Group1) able to read and navigate in it.

  • I try to have User 7 + User 8 (Group 3) able to read and navigate in Directory3, but just able to write in their own SubDirectoryOfUserN7 and SubDirectoryOfUser8, User 5 + User 6 (Group 2) should be able to read, write and navigate in Directory3 + SubDirectoryOfUserS.

I have tried to organize the group like above, but I also tried a group configuration regarding directories. For instance Admin, who are User 1 and User 2 are also in Group1, Group2, etc. But It still doesn't work how I would like to.

I have tried to deal with ACL as well. But I still don't know what I should put in my smb.conf for read / write lists and create / directory masks. I don't know how I could correctly organize my groups to link them to directories. I don't know how to deal with nested directories in Directory3 as well.

Since I have tried so many ideas since 3 days, I feel literaly stupid with Samba now. I read many threads here, the Arch Wiki, the Debian Wiki, the Samba Documentation and an old manual, but about Samba 3, and I would say I am in the desert and all my knowledge and small experiments at home cannot be enough to deploy such a server in my NGO.

Please, if you would have recommendations, solutions or an appropriate link that would answer to those cases, I would be very thankful.

Thank you in advance !

1 Answer

I finally made it, if it can help someone. I don't know if it is nice, but it works nice with POSIX rights, without ugly ACL.

1] Create groups

$ sudo groupadd Group1
$ sudo groupadd ...

Please notice I did not create an Admin group since my admin users will be in all the other groups. This is the only way I made it work so far. If someone has a nicer way to deal with for instance an admin group with rights on anything, please tell me ! My solution is correct since I am managing a dozen of accounts but not hundreds or thousands...

2] Create users (without home folder and ability to use SSH for security reasons)

$ sudo adduser --no-create-hom --shell /usr/sbin/nologin user1
$ sudo adduser --no-create-hom --shell /usr/sbin/nologin user...

3] Add users in smbpasswd database. Please pay attention to the fact I had to add them, but also to enable them to avoid any kind of problems.

$ sudo smbpasswd -a user1
$ sudo smbpasswd -e user1
$ ...

4] Add users to the groups where they will be. Please notice I thought samba was not able to recognize secondary groups, but actually it does. The mistake was a misusing of the command line.

The error was:

$ sudo usermod -G user1 Group1
$ sudo usermod -G user1 Group2

If you do:

$ groups user1

You have something like:

user1 Group2

Because the secondary group has disappeared.

The good practice is:

$ sudo usermod -G Group1,Group2,Group3 user1

In this case:

$ groups user1

Will show:

$ user1 Admin Group1 Group2 Group3

Please, be careful of primary and secondary groups. An user can be in multiple secondary groups, but only in one primary group.

So another mistake would be:

$ sudo usermod -g Group1

If you do:

$ groups user1

You got:

$ Group1

4] Create the folders with the good permissions:

$ sudo mkdir /path/to/Directory1
$ sudo chown root:Group1 /path/to/Directory1
$ sudo chmod 2775 /path/to/Directory1

Please read this if you don't know nothing about file system permissions and setuid, setgid : chmod + setuid and setgid. The permissions and also there inheritances are important for your groups.

5] Create as many directories you want with the permissions you want.

6] Configure your smb.conf file with the editor of your choice. I personally use vim. Make a backup first before losing anything that was running well.

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
$ sudo vim /etc/samba/smb.conf

Your config file here, with global config and Directory1 config is:

[global]

     workgroup = YOUR-LOCAL-WORKGROUP
     server string = %h # hostname
     log file = /var/samba/smb-%h.log
     max log size = 1000
     disable netbios = yes # since this is a standalone server
     server role = standalone server
     veto files = /*.exe/*.com/*.dll/*.bat/*.vbs/*.tmp/ # whatever your want
     delete veto files = yes

[Directory1]

     path = /path/to/Directory1
     browseable = yes
     guest only = no
     guest ok = yes
     read list = nobody guest
     write list = @Group1
     force create mode = 0665 # please see system file permissions ...
     force directory mode = 2775 # ... and setuid, setgid, right above !

Please note the execution is important for your users. This allows them to navigate through the directories. But the execution is also a danger regarding files. You don't want you users to execute scripts or whatsoever, reading is widely enough.

That is why I restrict files on reading and writing for users and reading for anonymous, while I let executing on directories for navigation. Execute a folder is not a danger but execute a file is.

    force create mode = 0665
    force directory mode = 2775

Note the options delete veto file and veto files are also another shield since you don't want your silly Windows Mac OS X users put blobs or binaries or executable randomwares on your clean server.

7] Test your config file with a gentle command:

$ testparm

8] Everything is good ? Then.

$ sudo systemctl start smbd.service # or restart
$ sudo systemctl enable smbd.service 

Now you can log with the method of your choice and see that anonymous can explore the files on the server without the permission of writing it while your authenticated and designated users can read, write and execute -- i.e navigate from a directory to a directory.

Et voilĂ  ! I hope it will help someone.


source : https://superuser.com/questions/1400568/howto-to-configure-samba-add-users-and-groups-with-different-permissions-in-va

Saturday, 6 November 2021

Shell script to add a user and password + samba on Centos 7

 #!/bin/bash

# Purpose - Script to add a user to Linux system including passsword user samba

# ------------------------------------------------------------------

# Am i Root user?

if [ $(id -u) -eq 0 ]; then

        read -p "Enter username : " username

        read -s -p "Enter password : " password

        egrep "^$username" /etc/passwd >/dev/null

        if [ $? -eq 0 ]; then

                echo "$username exists!"

                exit 1

        else

                pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)

                useradd -m -p "$pass" "$username"

                (echo "$password"; echo "$password") | smbpasswd -a -s "$username"

                [ $? -eq 0 ] && echo "User has been added to system!" || echo "Failed to add a user!"

        fi

else

        echo "Only root may add a user to the system."

        exit 2

fi


Wednesday, 3 November 2021

Closing smb session on Windows client

 net use \\server /delete

We will execute:

net use \\server /delete net use \\server "" /user:"Guest" net use \\server /delete 2>nul

RTSP

 rtsp://username:password@192.168.X.XXX:554


contoh :

rtsp://admin:m3nara354x@192.168.110.216:554

Friday, 22 October 2021

Starting pppd from cron doesn't work

 Tambahi 

=====

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 */1  * * * * /root/cron/pptp_sapi.sh >> /var/log/pptp_pinger.log 2>&1
 
====== 

Steps to Setup VPN PPTP Client on CentOS7

 

  1. Install PPTP: sudo yum install pptp pptp-setup
  2. Configuration: sudo pptpsetup –create config –server [server address] –username [username] –password [pwd] –encrypt
    • This command will create a file named config under /etc/ppp/peers/ with server info written inside.
    • This command will also write your username and password into /etc/ppp/chap-secrets
  3. Register the ppp_mppe kernel module: sudo modprobe ppp_mppe
  4. Register the nf_conntrack_pptp kernel module: sudo modprobe nf_conntrack_pptp
  5. Connect to VPN PPTP: sudo pppd call config
    • It will establish PPTP VPN connection. You can type command ip a I grep ppp to find the connection name (e.g. ppp1). No return indicates connection failure.
    • If any error, you can look into /var/log/messages for log info
  6. Check IP routing table info: route -n
  7. Add Network Segment to current connection: route add -net 192.168.1.0 netmask 255.255.255.0 dev ppp1 (192.168.1.0 and ppp1 are taken as example )
  8. You can now ping the destination to check the access
  9. Disconnect the VPN: killall pppd

 

 Source : https://zlthinker.github.io/Setup-VPN-on-CentOS

 

 

Saturday, 16 October 2021

SAMBA sebagai File Server dan Print Server Windows

Sejarah Singkat

Bertahun lalu, di masa awal PC, IBM dan Sytec mengembangkan sebuah sistem network yang disebut NetBIOS (Network Basic Input Operating System). NetBIOS merupakan software yang menyediakan interface antara program dan hardware network. Pengalamatan dalam NetBIOS menggunakan nama 16 bit yang sekarang dikenal sebagai NetBIOS Name. Di dalam lingkungan Windows NT, NetBIOS Name disebut juga Computer Name. 

Kemudian Microsoft menambahkan sebuah feature berupa I/O redirection, sehingga sebuah resource local (printer, hard disk) bisa diakses melalui network oleh komputer lain, dengan bentuk, bau dan rasa seperti recource local di komputer yang sedang mengakses tersebut. Jika anda pengguna LAN Manager atau MS-DOS Client, anda tentu familiar dengan command "Net use drive: \\computer name\share name" atau pengguna Windows dengan perintah Map Network Drive. Keduanya membuat satu remote resource di komputer yang menjalankan perintah tersebut seolah-olah berada di komputer itu.

Microsoft menyebut penambahan feature ini sebagai NetBEUI. Hal ini yang kemudian disalah artikan bahwa NetBEUI merupakan protokol standar dalam lingkungan network dari Microsoft. Padahal nama dari I/O Redirection dari NetBEUI adalah SMB (Server Message Block) atau menurut istilah Microsoft CIFS (Common Internet File System). Keterangan lengkap mengenai protokol SMB ini bisa dibaca di RFC 1001 dan 1002.

Dalam protokol standar LAN Manager dan Windows (NetBEUI, alias SMB, alias CIFS), hal terpenting yang menjadi urat nadinya adalah kemampuan file dan print sharing, serta kemampuan browsing. Kemudian dengan munculnya NT, ditambahkan dua feature tambahan yaitu authentication dan authorization untuk setiap servis yang akan diakses. Jadi jika kita bicara NetBEUI, sebenarnya ada 2 komponen yang terdapat di dalamnya; (1) NetBIOS sebagai pengenal komputer yang satu dengan lainnya dan (2) I/O Redirection sebagai fasilitas untuk memberikan share dan mengakses shared resources komputer lain.

Samba dibuat dengan tujuan menjalankan dua proses tersebut dengan transport protocol TCP/IP. Sebab jika kita mengakses komputer lain, kita pasti membutuhkan satu transport protocol, di dalam lngkungan LAN Manager dan Windows, defaultnya adalah NetBEUI, tapi Samba memakai TCP/IP. Pembuat Samba, Andrew Tridgell mengawali idenya dari upaya untuk mencoba mengakses file di mesin Windows istrinya dari mesin UNIX miliknya pada 1992. Kemudian berkembanglah tim Samba, yang anggotanya antara lain Jeremy Allison, Jochen Hupert, Matthew Harrell, Frank Varnavas dan beberapa orang lain yang tersebar di seluruh dunia.

SAMBA

Samba di dalam LiNUX terdiri dari 2 daemon kunci :

smb dan nmbd, 
keduanya ada di bawah /etc/rc.d/init.d (untuk RedHat)

Kedua daemon ini mampu melakukan 4 tugas dasar dari NetBEUI: 

    File & Print Sharing, 
    Authentication dan Authorization, 
    Name Resolution dan 
    Browsing 
dengan pembagian tugas sebagai berikut:
    smb melakukan proses File & Print Sharing serta Authentication dan Authorization, sedangnmbd melakukan proses Name Resolution dan Browsing

Bagaimana cara Kerja Protokol?

NetBEUI merupakan non-routable protokol yang bersifat broadcast based. Dalam proses file dan print sharing, ada 2 proses yang berjalan:

1. Mailslots
2. Named Pipes

Mailslot adalah proses unidirectional communication, yang memungkinkan setiap kita membuka icon Network Neighborhood di Desktop, kita dapat melihat komputer mana saja yang sedang on-line. Analogi untuk keadaan ini sama seperti kalau satu komputer on-line dia akan terus mengabarkan berita ke teman-temannya dalam satu domain, "Halo saya Workstation satu, di node 5. Hubungi saya, ya?"

Sedang Named Pipes adalah proses bidirectional communication. Proses ini terjadi begitu kita mengakses sebuah komputer, kemudian kita melihat resource apa yang bisa dibuka di komputer tersebut dan begitu kita berhasil masuk ke komputer tersebut dan menggunakan resource-nya, maka terjadilah Named Pipes.

Proses ini mampu dilakukan juga dengan sangat baik oleh Samba. Sebuah Samba server dapat memberi akses pada sebuah komputer yang menjalankan Windows atau LAN Manager, atau MS-DOS Client untuk menggunakan filenya. 

Dengan berkembangnya TCP/IP, maka NT 4.0 menambahkan satu feature yang disebut Windows Socket (Winsock.dll). Gunanya agar protokol NetBEUI yang tidak bisa routing, bisa run-over protokol yang bisa routing seperti TCP/IP. Para pengguna Novell Netware mungkin familiar dengan istilah "IPX encapsulated with TCP/IP"., nah seperti itulah proses NetBEUI yang run over TCP/IP. Di sini letak keunggulan Samba, karena setiap proses RPC (Remote Procedure Call) membutuhkan satu protokol transport, maka begitu kita install protokol TCP/IP di Windows, kemudian kita jadikan IP address Samba sebagai WINS (Windows Internet Name Server) dari komputer itu, maka... voala... Windows akan menganggap mesin LINUX kita sebagai Windows.

WINS itu sendiri tidak lain adalah NetBIOS Name Service (NBNS). Yang melakukan proses Name Resolution dan Browsing...oops, sepertinya di atas saya sudah menulis kalau dua proses ini dijalankan oleh nmbd...

Memang, WINS = NBNS, yang merupakan servis di mana NetBIOS Name di-resolve ke IP address, mirip seperti DNS (Domain Name Service) yang me-resolve IP adress ke host name. 

Mengapa ini Bisa Terjadi?

Disebabkan oleh proses I/O redirection dari LAN Manager dan Windows membutuhkan sebuah transport protocol, yang secara default adalah NetBEUI. Tetapi dengan mengaktifkan WINS di Samba, kita sudah menjalankan proses NBNS. Jadi name resolution yang selama ini disebut Microsoft sebagai ciri khas Microsoft TCP/IP sebenarnya adalah NetBIOS Name Server, yang sudah ada sejak dulu. .

Konfigurasi SAMBA

Samba hanya memiliki satu file konfigurasi yaitu /etc/smb.conf

Struktur /etc/smb.conf

Smb.conf terdiri dari 2 bagian

[global], dan [share]

[global] merupakan konfigurasi dasar dari samba. Di sini kita melakukan setting global seperti Workgroup kita. Setiap kita menghilangkan komentar (yang ada tanda ;), maka baris itu akan dibaca oleh smb dan nmbd.

Di [global] pula kita bisa menunjuk siapa yang bisa mengakses Samba server kita dari Win95. Di baris...

guest account=.....

masukkan nama guest account, seperti guest. Tapi satu hal yang perlu kita ingat, bahwa nama user tersebut terdaftar di /etc/passwd. Sebab jika tidak klien 95 tidak akan bisa mengakses LINUX kita.

Bagaimana cara memasukkan user name?

Kita bisa memasukkan user dengan perintah

adduser nama_user , dari terminal

Dengan memasukkan perintah ini, maka kita menaruh satu input baru di file /etc/passwd. Di dalam file ini setiap user account memiliki 7 field yang dipisahkan oleh titik dua, seperti berikut:

root: *:0:0:root:/root:/bin/bash

bin:*:1:1:bin:/bin

Struktur /etc/passwd adalah seperti ini:

username : password : userID : groupID : komentar : home directory : login command

Periksa apakah user guest ada di bawah, jika ada maka password user itu yang harus kita masukkan saat kita mengakses Samba Server dari Windows 95. Sedang jika dari NT Workstation, kita bisa memilih user siapa yang kita pakai untuk mengakses Samba Server itu. Sebab Windows NT memiliki option Connect As. 

Jika cara edit itu agak sulit, bagi pengguna RedHat bisa memakai linuxconf atau Control Panel di X Windows untuk menambah dan mengedit user. Bagi pemakai SuSE bisa mengaktifkan yast.

Setelah itu maka mesin Samba kita akan jadi file dan print server untuk Windows client.

Sedang [share] menentukan resource mana saja di komputer kita yang bisa diakses klien.Contoh :

[CDROM]

Path = /mnt/cdrom

guest ok = yes

Dengan adanya baris tersebut di dalam file smb.conf kita, maka kita memberi izin pada user untuk mengakses direktori /mnt/cdrom. Di dalam RedHat /mnt/cdrom adalah direktori tempat kita melakukan mounting terhadap /dev/cdrom atau cdrom kita. 

ENCRYPTED PASSWORD

Salah satu masalah yang mungkin timbul adalah password. Pada prinsipnya UNIX menggunakan "clear text authentication" sedang SMB menggunakan encrypted password. Untuk itu sejak Samba 1.9.X.X, dibuat satu shadow password samba di /etc/smbpasswd atau tergantung setting [global] kita di dalam:

encrypt password = yes

smbpasswd file = /usr/local/samba/private/smbpasswd

Jika kita memilih untuk menggunakan encrypted password, maka jalankan script smbpasswd.sh dengan menggunakan 

cat /etc/passwd | mksmbpasswd > /usr/local/samba/private/smbpasswd

Jika ada NIS di dalam network kita, bisa menggunakan ypcat :

ypcat /etc/passwd | mksmbpasswd > /usr/local/samba/private/smbpasswd

Dengan menggunakan perintah tersebut, kita mengkopi seluruh isi passwd ke dalam file /usr/local/samba/private/smbpasswd. Kemudian jangan lupa untuk memberi protection mode 500 alias r-x------ pada file tersebut.

Jika kita hendak memaksa Windows 95/98 menggunakan plain text password, di mesin Windows kita jalankan registry editor, kemudian di bawah 

\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP

Kita tambahkan DWORD value dari edit menu, di mana entri "New Value #1" menjadi "EnablePlainTextPassword." Kemudian klik dua kali item tersebut dan rubah nilainya menjadi 1

Khusus untuk NT (server dan workstation), di dalam registry cari hive:

\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rdr\Parameters\

kemudian tambahkan baris EnablePlainTextPassword:REG_DWORD=1

Dengan demikian kita memaksa Windows (NT dan 95) menggunakan sistem plain text password. Jika tidak, atau kembali ke setting standar password Windows ubah nilai 1 menjadi 0. Penggunaan plain text pasword tentu memiliki resiko, yang akan kita bahas di bawah ini.

Password SAMBA dan Plain Text Password

Sekarang kita bicarakan mengenai password dan security. 

Di dalam NT, encrypted password dilakukan lewat mekanisme algoritme MD4 (detail bisa dilihat di RFC 1320, karena MD4 sendiri merupakan standar encryption untuk SMB). Mekanisme sederhana dari MD4 encryption adalah sebagai berikut: saat user memasukkan password dan menekan enter, password dikapitalisasi kemudian sebelum 'on the fly di dalam network, password dipotong-potong (truncated) menjadi nilai bytes dan begitu diterima di server, password tersebut diubah menjadi 16 bytes dalam bentuk hashed (=#) dan dikirim kembali ke client. 

Setiap kali user memasukkan password, pengecekan yang dilakukan adalah kecocokan password di server dan client. Makanya di dalam lingkungan network NT, kita bisa punya pilihan untuk menyimpan password. 

Mekanisme ini juga merupakan dasar dari encryption CHAP (Challenge Handshake Authentication Protocol), di mana server dan client saling mengenali mengirimkan password, dan di dalam perjalanan saat dikirim password dienkripsi menjadi nilai 14 bytes.

Kelemahan dari encrypted passwor SMB adalah password disimpan di komputer client, sehingga dapat dengan mudah diacak. Terutama di dalam Windows, di registry di bawah hive HKEY_CURRENT_USER, terdapat file yang menunjukkan 16 bytes password dalam bentuk encrypted tentunya, tapi sekali satu session terbuka antara server dengan client, maka siapa pun dapat masuk ke dalam network dari komputer dimana user yang sedang membuka session tersebut berada. Satu kelemahan lagi adalah kita bisa mengedit password di dalam mesin yang menjalankan NT lewat network.

UNIX dan variannya, sebelum ditemukannya Kerberos menggunakan plain text password, password yang dikirim ke server tidak dienkripsi, namun dikirim sebagai plain text, akan tetapi password tidak disimpan di mesin client. Kelemahan plain text password adalah pada saat password dalam perjalanan ke server dan ada sniffer menangkap password tersebut, itu merupakan hadiah gratis bagi sniffer tersebut. Untungnya LiNUX sejak kernel 2.2.X telah mendukung penggunaan shadow password dengan encryption level MD5.

Dengan menjalankan script smbpasswd, anda telah membuat satu username dan password yang telah ter-enkripsi. Jadi tidak perlu kuatir password anda di-sniff atau di-hack jika anda menggunakan smbpasswd. Sebab security password-nya sama dengan security password Windows dan LANManager.

Beberapa Tools Pendukung SAMBA

Ada banyak tools yang bisa digunakan sebagai tools tambahan Samba, antara lain SMB2WWW, SWAT (Samba Web Admin Tools), atau LinNeighborhood.

Semua tools (kecuali LinNeighborhood) ini bisa anda dapatkan di homepage resmi samba : www.samba.org

Sebetulnya malah SWAT sudah ada di dalam setiap distribusi Samba. Anda hanya tinggal mengaktifkannya saja, biasanya SWAT ada di dalam /usr/bin/swat.

SWAT merupakan salah satu servis dari inetd, jadi yang harus anda lakukan adalah mengedit 2 file: yaitu /etc/services dan /etc/inetd.conf

Di etc/services tambahkan baris : swat 901/tcp 

Baris tersebut menyatakan bahwa swat akan menggunakan port 901 dari TCP (default Samba), atau bisa juga memakai port kosong yang tidak dipakai (cek ke RFC 1060).

Kemudian di dalam /etc/inetd.conf tambahkan baris

swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat 

Setelah itu, anda harus me-restart inetd, bisa dengan mengirimkan pesan HUP atau cukup inetd restart. 

Sedang LinNeighborhood bisa anda dapatkan di www.linuxberg.org atau www.freshmeat.net. 

Dengan adanya tools ini, terutama SWAT, para Network Administrator yang dahulu biasa bekerja memakai NT yang tentunya terbiasa dengan GUI Administrative Tools bisa mendapatkan kemudahan GUI seperti NT di ketiga tools ini. Bahkan dengan SWAT, anda mampu melakukan remote monitoring terhadap network, sekalipun anda di rumah dan tidak punya mesin LiNUX.

Berikut ini adalah scren shot dari SWAT yang diakses dari mesin Windows 95

Penutup

Ada ucapan salah seorang pakar networking Indonesia yang masih penulis ingat, "Kendala pengembangan IT di Indonesia adalah pada masalah biaya. Sekarang solusinya adalah dengan menggunakan resource yang murah dan berdaya guna." Maka di tengah krisis ekonomi sekarang, penggunaan LiNUX maupun Operating System lain yang murah dan berdaya guna tinggi seperti FreeBSD merupakan jawaban yang tepat. Khusus untuk file dan print server, SAMBA merupakan pilihan yang paling tepat sebagai pengganti Windows NT. 

Bahkan anda yang dulu biasa menggunakan tools NFS dan NIS bisa menjadikan SAMBA sebagai alternatif Network File System. Walau resikonya adalah proses brodacast SMB yang tentunya akan menyebabkan network traffic alias kecekek (bottleneck). Juga untuk tren SAN (Storage Area Network) yang kini mulai hangat dibicarakan sebagai satu ektension dari LAN dan WAN, kelihatan SAMBA mampu. Sekarang saatnya kita membuka jendela dan wawasan baru, seperti semboyan SAMBA "Opening Window to a Wider World."

by ZEN el GUAY 


Source : https://www.elektroindonesia.com/elektro/li1099b.html