Using root I can mount another Linux share no problem.

root@crunchbang:/mnt# mkdir javalib
root@crunchbang:/mnt# mount -t cifs // ./javalib -o username=guest

Root can read/write to the share dirs no problem.

root@crunchbang:/mnt# ll
drwxrwx---  9 500 users 0 Apr 13 17:59 javalib

root@crunchbang:/mnt# cd javalib

When trying to access the dir under another user, even when the user is part of the 'users' group it gets permission denied.

shawn@crunchbang:/mnt# cd javalib
bash: cd: javalib: Permission denied

Thank you,


  • 2
    Try mounting the share using these options ... -o uid=500,gid=users,nounix – Valentin Bajrami Aug 19 '13 at 16:13
  • Alright. Please update the post and mark it as answer. This might help other users in the future. – Valentin Bajrami Aug 20 '13 at 15:59
  • Actually now the 'shawn' user account can read but can't write. – shrimpwagon Aug 20 '13 at 18:23
  • Maybe adjust the permissions of the sharepoint on the server to allow for r-x? (You generally need execute permission to cd into a directory in the "other" field) So, 775 would likely work. – Mark Cohen Aug 20 '13 at 21:37

As mentioned in one of the comments, try mounting the share using these options:

-o uid=500,gid=users,nounix


-o uid=500,gid=users,rw

or this to forgo confusion with regards to CIFS POSIX extensions, as explained in another answer on here.

-o username=guest,defaults,noperm

Depending on your system, the introduction of systemd and udev in Linux has changed how filesystems get mounted once again. However, I'm not sure that/how CIFS/Samba shares are affected by this.


According to Mark Cohen's answer, you need some kind of change permission action.

But simple sudo chmod 777 javalib will crash with another permission denied. You need to add mount options -o username=guest,dir_mode=777,file_mode=666 to make directories executable for everyone.

If this method won't help, then you may need to add options, such as -o uid=$(whoami).


I also have this problem and the only thing which worked for me was this:

sudo mkdir /mnt/logs
sudo mount.cifs //\ name/ /mnt/logs/ -o user=remote\ user\ name,rw,vers=1.0,dir_mode=0777,file_mode=0666,nounix

Just replace

  1. by the IP of remote computer
  2. directory\ name by the remote directory absolute path
  3. remote\ user\ name by the remote user account used to authenticate
  4. vers=1.0 by the version of the smb protocol implemented on the remote computer

After you run this command, it will prompt by your remote\ user\ name password.

Just do not forget to install: sudo apt-get install cifs-utils

If you have any problems with this command line, as some nuts errors like:

mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

You can run this to see what the error was

$ tail /var/log/kern.log
May  8 16:09:06 user-pc kernel: [265246.010808] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
May  8 16:09:06 evandro-pc kernel: [265246.012935] CIFS VFS: cifs_mount failed w/return code = -22

On this case, if you search on Google you will see the error was that I ran the command without specifying the vers=1.0 argument.


  1. https://forums.linuxmint.com/viewtopic.php?t=75785
  2. Permission denied for user accessing mount
  3. https://stackoverflow.com/questions/74626/how-do-you-force-a-cifs-connection-to-unmount

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.