[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bug in [ -f file ] test
From: |
László Házy |
Subject: |
Re: bug in [ -f file ] test |
Date: |
Wed, 27 Jul 2016 11:36:41 -0400 |
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
[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 <hazy_l@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?
- bug in [ -f file ] test, László Házy, 2016/07/26
- Re: bug in [ -f file ] test, Grisha Levit, 2016/07/26
- Re: bug in [ -f file ] test, László Házy, 2016/07/26
- Re: bug in [ -f file ] test, Reuti, 2016/07/26
- Re: bug in [ -f file ] test,
László Házy <=
- Re: bug in [ -f file ] test, Reuti, 2016/07/27
- Re: bug in [ -f file ] test, László Házy, 2016/07/27
- Re: bug in [ -f file ] test, Reuti, 2016/07/27
- Re: bug in [ -f file ] test, László Házy, 2016/07/27
- Re: bug in [ -f file ] test, Reuti, 2016/07/27
- Re: bug in [ -f file ] test, László Házy, 2016/07/27
- Re: bug in [ -f file ] test, Chet Ramey, 2016/07/27
- Re: bug in [ -f file ] test, László Házy, 2016/07/27
- Re: bug in [ -f file ] test, Greg Wooledge, 2016/07/27
- Re: bug in [ -f file ] test, László Házy, 2016/07/27