[Bug 1939968] Re: Directory traversal permission not respected even with noperm

Joel Low 1939968 at bugs.launchpad.net
Sun Aug 15 06:32:14 UTC 2021


(I've tried to figure out how to attach an `ubuntu-bug` report, but
since this isn't exactly a bug with a specific program, I don't know
what to do in that circumstance. Guidance would be much appreciated.)

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to cifs-utils in Ubuntu.
https://bugs.launchpad.net/bugs/1939968

Title:
  Directory traversal permission not respected even with noperm

Status in cifs-utils package in Ubuntu:
  New

Bug description:
  I'm trying to mount a Samba share on an Ubuntu system. Both server and
  client are Ubuntu machines. On the server, the directory shared (outer
  directory) belongs to a user different from mine, but the owner of the
  outer directory has granted everyone traverse permission (chmod 0711,
  basically) to access an inner directory, of which I have been given
  read access (using setfacl, rx permission).

  When I am running as myself locally on the server, I can access the
  inner directory. I can also do so logging in as myself from a Windows
  machine and accessing the inner directory. However, when accessing the
  inner directory via an Ubuntu client, I get permission denied even
  with `noperm` set (but expected this to succeed, exactly like the
  Windows client.)

  I have tried to distil this down into a reproduce script which can be
  run on a single machine:

  # Install dependencies
  sudo apt install --yes samba cifs-utils
  sudo smbpasswd -a $USER # Add a password

  # Set up shares
  mkdir ~/samba
  sudo mkdir -p ~/samba/outer/inner
  sudo chmod 0711  ~/samba/outer ~/samba/outer/inner
  sudo setfacl -m u:$USER:rx ~/samba/outer/inner
  cat <<-SAMBA | sudo tee -a /etc/samba/smb.conf
  [test]
   path = $HOME/samba
   browseable = yes
   read only = no
   guest ok = no
  SAMBA
  sudo systemctl restart smbd nmbd

  # Mount the share
  sudo mkdir /media/$USER
  sudo chown $USER /media/$USER
  mkdir /media/$USER/samba
  sudo mount //localhost/test /media/$USER/samba -t cifs -o vers=3.1.1,user=$USER,noperm

  # Test local access
  ls -la ~/samba ~/samba/outer ~/samba/outer/inner # ~/samba lists fine, ~/samba/outer Permission denied, ~/samba/outer/inner lists fine.

  # Test mount access
  ls -la /media/$USER/samba /media/$USER/samba/outer /media/$USER/samba/outer/inner # /media/$USER/samba lists fine, others Permission denied (inner should have listed fine)

  # On a Windows machine
  net use T: \\<ip>\test /User:$USER *
  dir T:\ # OK
  dir T:\outer # File not found
  dir T:\outer\inner # OK

  I have run this script on a fresh Ubuntu 21.04 desktop install and
  observed this behaviour. However, the trigger for this investigation
  was observed on an Ubuntu 20.04.2 server install (both server and
  client).

  lsb_release -rd: Ubuntu 21.04
  uname -srv: Linux 5.11.0-25-generic #27-Ubuntu SMP Fri Jul 9 23:06:29 UTC 2021
  cifs-utils package version: 2:6.11-1ubuntu1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/1939968/+subscriptions




More information about the foundations-bugs mailing list