[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bash bug - unexpect file deleted using rm command
From: |
Andreas Kusalananda Kähäri |
Subject: |
Re: bash bug - unexpect file deleted using rm command |
Date: |
Tue, 28 May 2019 16:48:27 +0200 |
User-agent: |
Mutt/1.12.0 (2019-05-25) |
On Tue, May 28, 2019 at 04:43:42PM +0200, Andreas Kusalananda Kähäri wrote:
> On Tue, May 28, 2019 at 11:56:04AM +0000, root@minigeek.srve.com wrote:
> > Configuration Information [Automatically generated, do not change]:
> > Machine: x86_64
> > OS: linux-gnu
> > Compiler: gcc
> > Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='x86_64'
> > -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='x86_64-redhat-linux-gnu'
> > -DCONF_VENDOR='redhat' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash'
> > -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -D_GNU_SOURCE
> > -DRECYCLES_PIDS -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> > -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fwrapv
> > uname output: Linux minigeek.srve.com 2.6.32-754.10.1.el6.x86_64 #1 SMP Tue
> > Jan 15 17:07:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
> > Machine Type: x86_64-redhat-linux-gnu
> >
> > Bash Version: 4.1
> > Patch Level: 2
> > Release Status: release
> >
> > Description:
> > I deleted the file .DS_Store fom a fat32 partition as root. bash
> > properly warned me and I answered y which deleted that file.
> > A second different file, named ._.DS_Store was also erased - but
> > without warning, and I did not ask for this.
> > Therein lies the bug.
> > I recreated two text files with different contents having those same
> > names, and repeated the steps - same problem - both files got erased with
> > the one rm command for just one of them.
> >
> > Repeat-By:
> > Create those 2 files. Delete just one.
> >
> > Fix:
> > probably some shell filename matching code has an error?
> >
> >
>
> What was your actual command when deleting the file(s)? If no filename
> globbing pattern was used, then I think the shell can be ruled out as
> the culprit. If a globbing pattern was used, e.g. .*DS_Store .DS_Store
Sorry, that last line got mangled by vim. That should read:
If a globbing pattern was used, then there may be an issue with the
pattern rather than with the shell.
>
> $ touch .DS_Store ._.DS_Store
> $ ls -la
> total 8
> drwx------ 2 kk wheel 512 May 28 16:41 .
> drwxrwxrwt 7 root wheel 512 May 28 16:41 ..
> -rw-r--r-- 1 kk wheel 0 May 28 16:41 .DS_Store
> -rw-r--r-- 1 kk wheel 0 May 28 16:41 ._.DS_Store
> $ rm .DS_Store
> $ ls -la
> total 8
> drwx------ 2 kk wheel 512 May 28 16:41 .
> drwxrwxrwt 7 root wheel 512 May 28 16:41 ..
> -rw-r--r-- 1 kk wheel 0 May 28 16:41 ._.DS_Store
>
> Note that bash, the shell, would not warn you about deleting files.
> This may possibly be something that rm does if used with its -i option,
> or under some other circumstances having to do with the permissions on
> the files.
>
> --
> Kusalananda
> Sweden
--
Kusalananda
Sweden