Freebsd Mount a NAS via SMB / CIFS

Q. I want to use our NAS server to store backups. Our NAS supports FTP and CIFS / SMB sharing technology. How do I mount and store files on NAS using FreeBSD? How do I automate entire procedure using a shell script? Is that doable? If so, what’s the easiest solution ftp or CIFS?

A. The mount_smbfs command mounts a share from a remote server using SMB/CIFS protocol. You can easily mount NAS share using the following syntax:

mount_smbfs -I 1.2.3.4 //username@nasserver/share /path/to/local/mnt
Mount data share from nas05 nas server at /nas05 directory, enter:
# mkdir /nas05
# mount_smbfs -I 10.1.2.3 //[email protected]/data /nas05

You will be prompted for your password. Once this happens you can change to the directory and view the contents using cd and ls command.
# cd /nas05
# ls
# cp /path/to/file .
# ls -l

Where,

  1. -I 10.1.2.3 : Do not use NetBIOS name resolver and connect directly to host, which can be either a valid DNS name or an IP address.
  2. vivek : Your user name.
  3. nas05 : NETBIOS Server Name.
  4. /data : CIFS share name.
  5. /nas05 : Local mount point directory.

Avoid password prompt

You need to create a ~/.nsmbrc file as follows:
# vi ~/.nsmbrc
Set username and password as follows:

[NAS05:VIVEK]
password=myPassword

[NAS05:VIVEK]
password=myPassword

Now mount NAS as follows:
# mount_smbfs -N -I 10.1.2.3 //[email protected]/data /nas05
The -N option forces to read a password from ~/.nsmbrc file. At run time, mount_smbfs reads the ~/.nsmbrc file for additional configuration parameters and a password. If no password is found, mount_smbfs prompts for it. You need to use the -N option while writing a shell script.

See also:

Posted by: SXI ADMIN

The author is the creator of SXI LLC and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.