Welcome!
Important information
-- Spectre and Meltdown vulnerabilities
-- Change in MX sources

News
-- MX Linux on social media: here
-- Mepis support still here

Current releases
-- MX-17.1 Final release info here
-- antiX-17 release info here

New users
-- Please read this first, and don't forget to add system and hardware information to posts!
-- Here are the Forum Rules

CIFS - Automount external NAS drive

Post Reply
Message
Author
GreenMartian

CIFS - Automount external NAS drive

#1 Post by GreenMartian » Sat Apr 07, 2018 9:54 am

Good Morning,

I'm recently a new user to MX-Linux.

So far, everything works wonderfully. Thank you for offering the distro.

I do have two questions surrounding the automounting/dismount of an external NAS drive...

Cifs and samba installed. I've created a local mount folder /media/mynasname and given it chmod 777 and chown user permissions. I've also given cifs chmod u+s permissions.

My /etc/fstab entry is...

Code: Select all

//192.168.1.1/mynasfolder /media/nas/mynasfolder cifs noauto,_netdev,user,uid=1000,gid=1000,workgroup=WORKGROUP,rw,vers=1.0 0 0
I can manually mount and unmount /media/nas/mynasfolder in Thunar by clicking to open. No problem - works great.

Unfortunately, the drive is not being auto-mounted or auto-dismounted. Having been scouring the forum and internet, trying all kinds of solutions including a failed autofs attempt.

Wondering if there's a better recommedation for a fstab entry, or possibly a mount/umount script.

Thanks for any insight,
GM

User avatar
timkb4cq
Forum Veteran
Forum Veteran
Posts: 4347
Joined: Wed Jul 12, 2006 4:05 pm

Re: CIFS - Automount external NAS drive

#2 Post by timkb4cq » Sat Apr 07, 2018 10:42 am

The switch I highlighted tells the system to not mount that share automatically. Change it to auto.

//192.168.1.1/mynasfolder /media/nas/mynasfolder cifs noauto,_netdev,user,uid=1000,gid=1000,workgroup=WORKGROUP,rw,vers=1.0 0 0
MSI 970A-G43 MB, AMD FX-6300 (six core), 16GB RAM, GeForce 730, Samsung 850 EVO 250GB SSD, Seagate Barracuda XT 3TB

GreenMartian

Re: CIFS - Automount external NAS drive

#3 Post by GreenMartian » Sat Apr 07, 2018 11:36 am

Thanks,

I did as you mentioned, but unfortunately that didn't do the trick for automount/dismount. Manual mount of the drive failed with "invalid argument". So, I completely removed auto from fstab as in the following.

Code: Select all

//192.168.1.1/sharefolder /media/nas/sharefolder cifs _netdev,user,uid=1000,gid=1000,workgroup=WORKGROUP,rw,guest,vers=1.0 0 0
This systax worked with manual mounting.

Do you think there might still be mounting permission issues surrounding the external NAS at smb://192.168.1.1 maybe controlled by root vs. the /media/nas local mount point?

When I originally mounted the external NAS drive in thunar at smb://192.168.1.1 and opened the folder, I entered my username, password and "remember forever" in the popup permission box. After that, I was prompted to enter my root password twice in a keyring popup. So, whenever I try to mount my NAS via samba at location smb://192.168.1.1, I'm prompted for root password before the NAS samba share will connect and open. I obviously don't have to enter a password to manually mount in /media/nassharefolder, but wonder if the NAS drive permissions are preventing auto mount/dismount.

GM

User avatar
timkb4cq
Forum Veteran
Forum Veteran
Posts: 4347
Joined: Wed Jul 12, 2006 4:05 pm

Re: CIFS - Automount external NAS drive

#4 Post by timkb4cq » Sun Apr 08, 2018 12:14 pm

It might very well have something to do with your NAS' setup. I just know that this fstab entry:

Code: Select all

//192.168.1.111/MUSIC  /mnt/music cifs auto,guest,uid=1000,iocharset=utf8  0  0
automounts my music server share automatically on bootup.
MSI 970A-G43 MB, AMD FX-6300 (six core), 16GB RAM, GeForce 730, Samsung 850 EVO 250GB SSD, Seagate Barracuda XT 3TB

GreenMartian

Re: CIFS - Automount external NAS drive

#5 Post by GreenMartian » Mon Apr 09, 2018 12:50 am

You're most likely very right. I'll play with it a bit, as well as the fstab entry you mentioned. If I find a solution, will be sure to post it.

Thanks for your time timkb4c.

GM

GreenMartian

Re: CIFS - Automount external NAS drive

#6 Post by GreenMartian » Mon Apr 09, 2018 3:37 am

I've decided it was easier to mount the external nas to my /home/*****/nas folder to avoid local permission issues, rather than /media/nas/****.

There's no problem manually opening the nas in the local /home/*****/nas folder. That works no problem.

Just the automount that I just can't seem to wrap my head around. In fact, when I add "auto" to my fstab line above, I receive a syntax error when trying to manually open. When I remove "auto", I can again manually mount easily.

It has to be samba permissions.

The following is my smb.conf...

Code: Select all

#
# Sample configuration file for the Samba suite for Debian GNU/Linux.
#
#
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options most of which 
# are not shown in this example
#
# Some options that are often worth tuning have been included as
# commented-out examples in this file.
#  - When such options are commented with ";", the proposed setting
#    differs from the default Samba behaviour
#  - When commented with "#", the proposed setting is the default
#    behaviour of Samba but the option is considered important
#    enough to be mentioned here
#
# NOTE: Whenever you modify this file you should run the command
# "testparm" to check that you have not made any basic syntactic 
# errors. 

#======================= Global Settings =======================

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
	workgroup = workgroup

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
#   wins support = no

# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
;   wins server = w.x.y.z

# This will prevent nmbd to search for NetBIOS names through DNS.
	dns proxy = no

#### Networking ####

# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
;   interfaces = 127.0.0.0/8 eth0

# Only bind to the named interfaces and/or networks; you must use the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself.  However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
;   bind interfaces only = yes



#### Debugging/Accounting ####

# This tells Samba to use a separate log file for each machine
# that connects
	log file = /var/log/samba/log.%m

# Cap the size of the individual log files (in KiB).
	max log size = 1000

# If you want Samba to only log through syslog then set the following
# parameter to 'yes'.
#   syslog only = no

# We want Samba to log a minimum amount of information to syslog. Everything
# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
# through syslog you should set the following parameter to something higher.
	syslog = 0

# Do something sensible when Samba crashes: mail the admin a backtrace
	panic action = /usr/share/samba/panic-action %d


####### Authentication #######

# Server role. Defines in which mode Samba will operate. Possible
# values are "standalone server", "member server", "classic primary
# domain controller", "classic backup domain controller", "active
# directory domain controller". 
#
# Most people will want "standalone sever" or "member server".
# Running as "active directory domain controller" will require first
# running "samba-tool domain provision" to wipe databases and create a
# new domain.
	server role = standalone server

# If you are using encrypted passwords, Samba will need to know what
# password database type you are using.  
;	passdb backend = tdbsam

	obey pam restrictions = yes

# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
	unix password sync = yes

# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Ian Kahan <<kahan@informatik.tu-muenchen.de> for
# sending the correct chat script for the passwd program in Debian Sarge).
	passwd program = /usr/bin/passwd %u
	passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# 'passwd program'. The default is 'no'.
	pam password change = yes

# This option controls how unsuccessful authentication attempts are mapped
# to anonymous connections
	map to guest = bad user

########## Domains ###########

#
# The following settings only takes effect if 'server role = primary
# classic domain controller', 'server role = backup domain controller'
# or 'domain logons' is set 
#

# It specifies the location of the user's
# profile directory from the client point of view) The following
# required a [profiles] share to be setup on the samba server (see
# below)
;   logon path = \\%N\profiles\%U
# Another common choice is storing the profile in the user's home directory
# (this is Samba's default)
#   logon path = \\%N\%U\profile

# The following setting only takes effect if 'domain logons' is set
# It specifies the location of a user's home directory (from the client
# point of view)
;   logon drive = H:
#   logon home = \\%N\%U

# The following setting only takes effect if 'domain logons' is set
# It specifies the script to run during logon. The script must be stored
# in the [netlogon] share
# NOTE: Must be store in 'DOS' file format convention
;   logon script = logon.cmd

# This allows Unix users to be created on the domain controller via the SAMR
# RPC pipe.  The example command creates a user account with a disabled Unix
# password; please adapt to your needs
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u

# This allows machine accounts to be created on the domain controller via the 
# SAMR RPC pipe.  
# The following assumes a "machines" group exists on the system
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u

# This allows Unix groups to be created on the domain controller via the SAMR
# RPC pipe.  
; add group script = /usr/sbin/addgroup --force-badname %g

############ Misc ############

# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
;   include = /home/samba/etc/smb.conf.%m

# Some defaults for winbind (make sure you're not using the ranges
# for something else.)
;   idmap uid = 10000-20000
;   idmap gid = 10000-20000
;   template shell = /bin/bash

# Setup usershare options to enable non-root users to share folders
# with the net usershare command.

# Maximum number of usershare. 0 (default) means that usershare is disabled.
;	usershare max shares = 100

# Allow users who've been granted usershare privileges to create
# public shares, not just authenticated ones
#	usershare allow guests = yes
#;	server string = samba 4.5.12-debian
#	security = share
#;	encrypt passwords = yes
#	guest ok = yes
#	guest account = *****
#	password server = 192.168.1.1

#======================= Share Definitions =======================

[homes]
	comment = Home Directories
	browseable = yes

# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
;	read only = no

# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
	create mask = 0700

# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
	directory mask = 0775

# By default, \\server\username shares can be connected to by anyone
# with access to the samba server.
# The following parameter makes sure that only "username" can connect
# to \\server\username
# This might need tweaking when using external authentication schemes
	valid users = *****

# Un-comment the following and create the netlogon directory for Domain Logons
# (you need to configure Samba to act as a domain controller too.)
;[netlogon]
;   comment = Network Logon Service
;   path = /home/samba/netlogon
;   guest ok = yes
;   read only = no

# Un-comment the following and create the profiles directory to store
# users profiles (see the "logon path" option above)
# (you need to configure Samba to act as a domain controller too.)
# The path below should be writable by all users so that their
# profile directory may be created the first time they log on
;[profiles]
;   comment = Users profiles
;   path = /home/samba/profiles
;   guest ok = yes
;   browseable = yes
;   create mask = 0600
;   directory mask = 0700

[printers]
	comment = All Printers
	browseable = no
	path = /var/spool/samba
	printable = yes
;	guest ok = no
;	read only = yes
	create mask = 0700

# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/printers
;	browseable = yes
;	read only = yes
;	guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# You may need to replace 'lpadmin' with the name of the group your
# admin users are members of.
# Please note that you also need to set appropriate Unix permissions
# to the drivers directory for these users to have write rights in it
;   write list = root, @lpadmin

[sandisk64gb]
	path = /home/*****/nas/sandisk64gb
	writeable = yes
;	browseable = yes
	public = yes
	guest ok = yes
	create mask = 0700

GreenMartian

Re: CIFS - Automount external NAS drive

#7 Post by GreenMartian » Tue Apr 10, 2018 4:32 am

Ok, so I can manually mount my nas with...

Code: Select all

sudo mount -t cifs -o username=*****,password=******,uid=1000,gid=1000,vers=1.0 //192.168.1.1/nas /mnt/nas
I've created a /mnt/nas folder with chmod 777 & chown user:user.

I've changed my fstab to...

Code: Select all

//192.168.1.1/nas /mnt/nas cifs credentials=/home/*****/.smbcredentials,rw,exec,auto,_netdev,iocharset=utf8,file_mode=0777,dir_mode=07‌​77,vers=1.0 0 0
I've created the following .smbcredentials file in /home/**** (and protected with chown root and chmod 600)

Code: Select all

username=*****
password=*******
workgroup=WORKGROUP
I've also added a samba user password with...

Code: Select all

sudo smbpasswd -a *****
Verifying it was added with...

Code: Select all

sudo smbpasswd -e *****
The only way I can get this bugger to mount is by calling location smb://192.168.1.1. A root keyring password is requested. Once I enter that password, the nas share is mounted as expected in /mnt/nas.

I'm unsure how to approach the root permission issue with samba/cifs.

Any other suggestions are appreciated.

Thanks,
GM

Post Reply

Return to “Hardware /Configuration”