How to Mounting NAS in 2 Way
Tags: synology, nas, webdev, storage
Published: 2024-04-15 13:50:42

Ok teman-teman, pada postingan ini kita akan membahas bagaimana cara mounting Synology NAS dengan 3 cara.

### 1. Mounting dengan SMB
Untuk mounting smb kita perlu mnginstal `cift-utils`.

```
apt install cifs-utils 
```
Lalu pastikan terinstall modul `nls_utf8.ko` pada kernel kita, untuk mengeceknya bisa menggunakan perintah berikut.

```
ls /lib/modules/$(uname -r)/kernel/fs/nls/nls_utf8.ko 
```
Jika belum terinstalll maka install dulu salah satu modul ini `linux-generic` atau `linux-image-extra-virtual`.
Tapi disarankan menggunakan `linux-image-extra-virtual`

```
apt install linux-image-extra-virtual
```
Jika semua requirement sudah di install, maka berikutnya masuk ke cara mountingnya. Gunakan perintah berikut untuk mountingnya

```
mount -t cifs -o username=yourUser,password=yourPass //10.10.10.2/path/share /your/mount/point
```

atau kita bisa memishakan file credential kita buat dalam file berbeda. Contohnya kita buat dengan nama `.smbcredentials`, disarankan di buat hidden.

```
nano .smbcredentials
```
lalu masukan username dan passwordnya

```
username=yourUser
password=yourPass
```
Kemudian untuk mountingnya seperti syntak berikut

```
mount -t cifs //10.10.10.2/path/share /your/mount/point -o credentials=/path/to/.smbcredentials

```
Pada keterangan di atas `-o` adalah untuk option, dimana kita bisa menambahkan permission dll.

Apabila dibutuhkan mounting permanent Kita bisa edit sedikit file `/etc/fstab`.

```
nano /etc/fstab
```
Lalu pada bagian bawah kita tambahkan baris seperti berikut

```diff
# / was on /dev/ubuntu-vg/ubuntu-lv during curtin installation
/dev/disk/by-id/dm-uuid-LVM-MCubk0BVfRHmMh5Y1aEZFsBycrkmUXTlDrwcMXlQjwPYT0tl1FkbvdVVtJtoAXcd / ext4 defaults 0 1
# /boot was on /dev/sda2 during curtin installation
/dev/disk/by-uuid/653611a5-49ea-4154-880d-94a16126bf68 /boot ext4 defaults 0 1
# /boot/efi was on /dev/sda1 during curtin installation
/dev/disk/by-uuid/357A-45FD /boot/efi vfat defaults 0 1
/swap.img	none	swap	sw	0	0

+ #Mounting NAS SYNOLOGY
+ //10.10.10.2/path/share  /mount/point  cifs  iocharset=utf8,file_mode=0777,dir_mode=0777,uid=0,gid=0,credentials=/your/.smbcredentials
```
Perhatikan bagian option, untuk `file_mode`, `dir_mode` ini berguna untuk konfig permission filenya, atau bisa menambahkan `umask` jika mau. Kita juga bisa menambahkan `uid `dan `gid`, ini bertujuan untuk mengubah kepemilikan folder sharenya, karena jika kita `chown` atau `chmod` manual tidak akan berefek. Untuk melihat `uid` dan `gid` bisa dengan perintah berikut.

```
id nama_user
```
Tinggal kita salin saja.
Untuk menguji apakah bisa di gunakan atau tidak kita bisa reboot atau bisa dengan mounting all dengan syntak berikut

```
mount -a
```
Jika berhasil harusnya sudah ada folder share yg di mounting ke mount point anda.

### 2. Mounting dengan curlftpfs
Untuk mounting ftp dengan cara ini kita harus menginstallkan `curlftpfs` terlebih dahulu.

```
apt install curlftpfs
```
Lalu untuk mounting bisa menggunakannya seperti berikut

```
curlftpfs 10.10.10.2/path/share/ /your/mount/point -o user=yourUsername
```
Kita akan diminta password, masukan password ftp sesuai dengan yang sudah kita konfigurasi.
Atau kitda juga bisa gunakan credential terpisah menggunakan `.netrc`, konsepnya hampir mirip dengan `.smbcredentials` di atas. Pada file ini akan kita masukan user, password dan hostnamenya. Biasanya file `.netrc` ini akan kita letakan pada home direktory usernya, pada kasus ini kita asumsikan menggunakan user `root`. 

Buat filenya dengan perintah berikut

```
nano /root/.netrc
```
Lalu masukan sebagai contoh seperti berikut

```
machine 10.10.10.2
login yourUsername
password yourPassword
```
Kemudian untuk mountingnya nanti cukup seperti ini

```
curlftpfs 10.10.10.2/path/ /your/mount/point
```
Untuk membuat mountinganya permanent kita edit ini pada bagian `/etc/fstab`. Langkahnya mirip dengan **cara pertama**

```
curlftpfs#10.10.10.2/path/share /mout/point fuse allow_other,uid=0,gid=0,umask=0022 0 0
```
lalu coba mounting all dengan perintah berikut

```
mount -a
```
Yups sampai sini sudah bisa digunakan, Sekian tulisan ini, semoga bermanfaat. Selamat mencoba !



referensi:
- [https://superuser.com/questions/1677375/use-curlftpfs-in-a-secure-way-without-plaintext-and-world-readable-password-e](https://superuser.com/questions/1677375/use-curlftpfs-in-a-secure-way-without-plaintext-and-world-readable-password-e)
- [https://superuser.com/questions/320415/mount-device-with-specific-user-rights#320640](https://superuser.com/questions/320415/mount-device-with-specific-user-rights#320640)
- [https://askubuntu.com/questions/519796/unable-to-mount-cifs-with-iocharset-utf8](https://askubuntu.com/questions/519796/unable-to-mount-cifs-with-iocharset-utf8)
- [https://askubuntu.com/questions/1142623/how-to-mount-samba-drive-in-linux-using-command-line#1142624](https://askubuntu.com/questions/1142623/how-to-mount-samba-drive-in-linux-using-command-line#1142624)
- [https://everything.curl.dev/usingcurl/netrc.html](https://everything.curl.dev/usingcurl/netrc.html)
- [https://www.gnu.org/software/inetutils/manual/html_node/The-_002enetrc-file.html](https://www.gnu.org/software/inetutils/manual/html_node/The-_002enetrc-file.html)