[Cialug] Very well-hidden directory

Josh More jmore at starmind.org
Tue May 26 10:16:36 CDT 2015


I don't know if this is how Oracle handles .ACFS specifically, but you
can create this behavior by creating a directory, accessing that
directory in a process so it's "open", then deleting the directory.

The files will still be there as the "unlink" operation is pending
until the process closes out.  However, the filesystem access will be
by name only and won't show up via ls or tab completion (which is
really the same operation).

-Josh

On Tue, May 26, 2015 at 10:13 AM, Jeffrey Ollie <jeff at ocjtech.us> wrote:
> "Any user can access the snapshot directory by specifying the path
> name. However, the .ACFS directory itself is hidden from directory
> listings of the root of the file system. This prevents recursive
> commands, such as rm -rf or acfsutil tag set -r, from the root of the
> file system inadvertently operating on snapshot files."
>
> http://docs.oracle.com/cd/E11882_01/server.112/e18951/asmfs_util010.htm#OSTMG94000
> http://bfy.tw/12I
>
> On Tue, May 26, 2015 at 10:04 AM, Daniel A. Ramaley
> <daniel.ramaley at drake.edu> wrote:
>> There exists a hidden directory on a machine, one so hidden that not
>> even "ls -a" can show it. How is this possible? This is on Oracle Linux.
>>
>> # ls -a /u02/app/oracle/oradata/datastore
>> .  ..  DVLP  TREL  lost+found
>> # ls -a /u02/app/oracle/oradata/datastore/.ACFS
>> .  ..  .fileid  repl  snaps
>>
>> Note the lack of a ".ACFS" directory in the first "ls" command above, but that it seems to exist if i specify the full path to it in the second "ls"!
>>
>> "df" shows that both are the same filesystem:
>>
>> # df -h /u02/app/oracle/oradata/datastore/{,.ACFS}
>> Filesystem            Size  Used Avail Use% Mounted on
>> /dev/asm/datastore-495
>>                       1.7T  302G  1.4T  18% /u02/app/oracle/oradata/datastore
>> /dev/asm/datastore-495
>>                       1.7T  302G  1.4T  18% /u02/app/oracle/oradata/datastore
>>
>> "du" is a bit more interesting:
>>
>> # du -hs /u02/app/oracle/oradata/datastore/{,.ACFS}
>> 141G    /u02/app/oracle/oradata/datastore/
>> 293G    /u02/app/oracle/oradata/datastore/.ACFS
>>
>> I'm not trying to solve any particular problem other than a bit of ignorance on my part. I didn't think it was possible to hide a directory so well that common tools like "ls" and "du" can't see it. Tab completion in bash also doesn't work for discovering the directory; i have to explicitly type out all the characters in its name to interact with it.
>>
>> __
>> Daniel A. Ramaley  |  Network Engineer 2
>> Drake Technology Services (DTS) | Drake University
>>
>> T: +1 515 271-4540
>> F: +1 515 271-1938
>> E: daniel.ramaley at drake.edu
>>
>> _______________________________________________
>> Cialug mailing list
>> Cialug at cialug.org
>> http://cialug.org/mailman/listinfo/cialug
>
>
>
> --
> Jeff Ollie
> _______________________________________________
> Cialug mailing list
> Cialug at cialug.org
> http://cialug.org/mailman/listinfo/cialug


More information about the Cialug mailing list