Here it goes. Note that the second command you asked for returns the
same as the "file" entry in the first command. Thanks.
[user1]$ ls -Z /home/user1
 unconfined_u:object_r:user_home_t:s0 Desktop
 unconfined_u:object_r:user_home_t:s0 Documents
 unconfined_u:object_r:user_home_t:s0 Downloads
 unconfined_u:object_r:user_home_t:s0 file

unconfined_u:object_r:audio_home_t:s0 Music
 unconfined_u:object_r:user_home_t:s0 Pictures
 unconfined_u:object_r:user_home_t:s0 Public
 unconfined_u:object_r:user_home_t:s0 Templates
 unconfined_u:object_r:user_home_t:s0 Videos

On Wed, 2016-07-27 at 18:28 +0200, Reuti wrote:
> > 
> > Am 27.07.2016 um 18:13 schrieb László Házy <haz...@yahoo.com>:
> > 
> > Yes, SELinux is active.
> Fine.
> 
> Can you please provide:
> 
> $ ls -Z /home/user1
> $ ls -Z /home/user1/file
> 
> -- Reuti
> 
> 
> > 
> > On Wed, 2016-07-27 at 17:55 +0200, Reuti wrote:
> > > 
> > > > 
> > > > 
> > > > Am 27.07.2016 um 17:36 schrieb László Házy <
> > > > haz...@yahoo.com
> > > > > 
> > > > > :
> > > > Yes, user2 has rx access to /home/user1. This is done by the
> > > > first command in the list of commands, namely: "[user1]$ chmod
> > > > g+rx /home/user1". The two users are part of the same group.
> > > > 
> > > > An even more troublesome variation, involving root, is the
> > > > following:
> > > > 
> > > > [user1]$ touch file; ls -l file
> > > > -rw-r--r--. 1 user1 users    0 Jul 26 15:24 file
> > > > 
> > > 
> > > The dot at the end means SELinux ACL IIRC - are you running
> > > SELinux?
> > > 
> > > -- Reuti
> > > 
> > > 
> > > 
> > > > 
> > > > 
> > > > [user1]$ ln -s /home/user1/file /var/tmp/link
> > > > [user1]$ ls -l /var/tmp/link
> > > > lrwxrwxrwx. 1 user1 users 17 Jul 26 15:26 /var/tmp/link ->
> > > > /home/user1/file
> > > > 
> > > > [user1]$ [[ -f /var/tmp/link ]]; echo $?
> > > > 0
> > > > 
> > > > [user1]$ su 
> > > > [root]$ [[ -f /var/tmp/link ]]; echo $?
> > > > 1
> > > > 
> > > > 
> > > > On Tue, 2016-07-26 at 23:26 +0200, Reuti wrote:
> > > > 
> > > > > 
> > > > > 
> > > > > Am 26.07.2016 um 23:07 schrieb László Házy:
> > > > > 
> > > > > 
> > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > Hmm, interesting. I can reproduce your results. Thanks.
> > > > > > However, note the following:
> > > > > > 
> > > > > > [user1]$ chmod g+rx /home/user1
> > > > > > [user1]$ touch file; ls -l file
> > > > > > -rw-r--r--. 1 user1 users    0 Jul 26 15:24 file
> > > > > > 
> > > > > > [user1]$ su user2 -c "ln -s /home/user1/file /var/tmp/link"
> > > > > > [user1]$ ls -l /var/tmp/link
> > > > > > lrwxrwxrwx. 1 user2 users 17 Jul 26 15:26 /var/tmp/link ->
> > > > > > /home/user1/file
> > > > > > 
> > > > > > [user1]$ [[ -f /var/tmp/link ]]; echo $?
> > > > > > 1
> > > > > > 
> > > > > > [user1]$ su user2
> > > > > > [user2]$ [[ -f /var/tmp/link ]]; echo $?
> > > > > > 0
> > > > > > 
> > > > > > Something does not add up.
> > > > > > 
> > > > > > 
> > > > > 
> > > > > 
> > > > > Does user2 have rx access to /home/user1?
> > > > > 
> > > > > -- Reuti
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > From experimenting, it appears that only the user who
> > > > > > created the symlink will get true for the file test.
> > > > > > 
> > > > > > Thank you.
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > On Tue, 2016-07-26 at 15:06 -0400, Grisha Levit wrote:
> > > > > > 
> > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > Are you sure "file" is a link to an actual file, not,
> > > > > > > say, a directory?
> > > > > > > 
> > > > > > > $ rpm -q bash; echo $BASH_VERSION; cat /etc/redhat-
> > > > > > > release
> > > > > > > bash-4.3.42-3.fc23.x86_64
> > > > > > > 4.3.42(1)-release
> > > > > > > Fedora release 23 (Twenty Three)
> > > > > > > 
> > > > > > > $ touch file; ln -s file link; [[ -f link ]]; echo $?
> > > > > > > 0
> > > > > > > 
> > > > > > > On Tue, Jul 26, 2016 at 12:58 PM, László Házy <
> > > > > > > 
> > > > > > > haz...@yahoo.com
> > > > > > > > 
> > > > > > > > 
> > > > > > > > wrote:
> > > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > I am running bash 4.3.42-3 on Fedore Core 23.
> > > > > > > > 
> > > > > > > > I noticed that the [ -f file ] test returns false if
> > > > > > > > "file" is a symlink. Given the intended behavior (from
> > > > > > > > a long time ago), this is wrong as the symlinks are
> > > > > > > > supposed to be followed. It certainly brakes
> > > > > > > > functionality in certain existing software.
> > > > > > > > 
> > > > > > > > Has the default behavior been changed somewhere along
> > > > > > > > the time line and I am not aware of it?
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > > 
> > > > > > 
> > > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > > > 
> > > 
> > > 

Reply via email to