On Fri, Jan 27, 2006 at 07:20:17AM -0500, Richard Sims wrote:
> You seem to be under the false impression that permissions are stored
> in TSM independent of the object data. Not.
No, that is not the impression I'm under.
I'm under the impression that this:
> This is why when file
> system object attributes are changed, the object itself gets backed
> up again.
... is not the case.
> (See backup candidate criteria details in the client
> manual.)
The manual specifically states:
"If /only/ the following items change, they are updated without causing the
entire file to be backed up to the server:
* File owner
* File permissions
* Last access time
* Inode
* Group ID"
> Object restoral gets the attributes of the object.
True, but you get the *updated* attributes. Which are the ones you *don't*
want, in case a backup happened after a runaway chmod.
I've included a transcript of a terminal session to demonstrate (edited for
legibility, un-edited version is at http://www.stupendous.org/tsm.txt).
I create a file "demo" with permissions rw-r--r--, and store it in TSM
using "dsmc i". Then, I change the permissions to rw-------, and again
perform "dsmc i". Note that the file is *updated* in TSM, and still only
has 1 version in TSM (no inactive version). It is now impossible to restore
the file with the original permissions rw-r--r--, as you can see near the end
of the transcript.
$ ls -l demo
demo not found
$ dsmc query backup -inact demo
ANS1092W No files matching search criteria were found
$ echo foo > demo
$ ls -l demo
-rw-r--r-- 1 joskam staff 4 Jan 27 14:44 demo
$ dsmc i demo
Incremental backup of volume 'demo'
Normal File--> 4 /home/joskam/demo [Sent]
Successful incremental backup of '/home/joskam/demo'
Total number of objects inspected: 199
Total number of objects backed up: 1
Total number of objects updated: 0
$ dsmc query backup -inact demo
Size Backup Date Mgmt Class A/I File
---- ----------- ---------- --- ----
4 B 01/27/06 14:44:43 MC_TRIAS_D A /home/joskam/demo
$ chmod go-r demo
$ ls -l demo
-rw------- 1 joskam staff 4 Jan 27 14:44 demo
$ dsmc i demo
Incremental backup of volume 'demo'
Updating--> 4 /home/joskam/demo [Sent]
Successful incremental backup of '/home/joskam/demo'
Total number of objects inspected: 199
Total number of objects backed up: 0
Total number of objects updated: 1
$ dsmc query backup -inact demo
Size Backup Date Mgmt Class A/I File
---- ----------- ---------- --- ----
4 B 01/27/06 14:44:43 MC_TRIAS_D A /home/joskam/demo
$ echo bar >>demo
$ chmod go+x demo
$ ls -l demo
-rw---x--x 1 joskam staff 8 Jan 27 14:47 demo
$ dsmc i demo
Incremental backup of volume 'demo'
Normal File--> 8 /home/joskam/demo [Sent]
Successful incremental backup of '/home/joskam/demo'
Total number of objects inspected: 199
Total number of objects backed up: 1
Total number of objects updated: 0
$ dsmc query backup -inact demo
Size Backup Date Mgmt Class A/I File
---- ----------- ---------- --- ----
8 B 01/27/06 14:47:24 MC_TRIAS_D A /home/joskam/demo
4 B 01/27/06 14:44:43 MC_TRIAS_D I /home/joskam/demo
$ rm demo
$ dsmc restore -inact -pitdate=01/27/2006 -pittime=14:45 demo
Restoring 4 /home/joskam/demo [Done]
Total number of objects restored: 1
Total number of objects failed: 0
$ ls -l demo
-rw------- 1 joskam staff 4 Jan 27 14:44 demo
$ rm demo
$ dsmc restore demo
Restoring 8 /home/joskam/demo [Done]
Total number of objects restored: 1
Total number of objects failed: 0
$ ls -l demo
-rw---x--x 1 joskam staff 8 Jan 27 14:47 demo
> Furthermore, in Unix, such attributes are in the inode, not in the
> directory. Take a look at your operating system's dirent.h header
> file to realize how paltry Unix directory information is.
Yes, I know this. (This can also be seen by performing "cat" on a directory.)
--
Jurjen Oskam
|