From: Mantis B. T. <no...@bu...> - 2014-07-25 18:09:17
|
A NOTE has been added to this issue. ====================================================================== http://bugs.bacula.org/view.php?id=2082 ====================================================================== Reported By: stephen Assigned To: ====================================================================== Project: Bacula Bug Reports Issue ID: 2082 Category: File Daemon Reproducibility: always Severity: major Priority: high Status: new ====================================================================== Date Submitted: 2014-07-23 16:17 BST Last Modified: 2014-07-25 19:09 BST ====================================================================== Summary: Restores do not properly set attritutes like setuid and setgid Description: If I restore a setuid or setgid file, the file is restored without the setuid/setgid bit set. However, the directory containing the file (which did not have it's setuid/setgid bit set during the backup) winds up with the setuid/setgid bit being set. If I restore both the directory and the file, the directory ends up with the proper "non-setuid/setgid" attributes, but the file once again ends up without the setuid/setgid bit set. I'm assuming the directory has the bit set during an interim stage of the restore, but is then properly set when its attributes are set during the restore (which I am assumin must happen after the files that it contains). Steps to Reproduce: Backup a file with a setuid and/or setgid bit and then restore it. The restored file will not have the setuid/setgid bit set. Additional Information: Here's an example... (before backup) # ls -ld /bin dr-xr-xr-x 2 root root 4096 Jul 22 09:56 /bin # ls -l /bin/ping -rwsr-xr-x 1 root root 40760 Sep 17 2013 /bin/ping (after restore selecting file /bin/ping) # ls -ld /bin drwsr-xr-x 2 root root 4096 Jul 22 14:38 bin # ls -l /bin/ping -rwxr-xr-x 1 root root 40760 Sep 17 2013 ping (after restore selecting file /bin/ping and directory /bin) # ls -ld /bin dr-xr-xr-x 2 root root 4096 Jul 22 14:38 bin # ls -l /bin/ping -rwxr-xr-x 1 root root 40760 Sep 17 2013 ping ====================================================================== ---------------------------------------------------------------------- (0006996) kern (administrator) - 2014-07-25 10:45 http://bugs.bacula.org/view.php?id=2082#c6996 ---------------------------------------------------------------------- This is fixed in the public repo. Please test it and report back. ---------------------------------------------------------------------- (0006999) stephen (reporter) - 2014-07-25 19:09 http://bugs.bacula.org/view.php?id=2082#c6999 ---------------------------------------------------------------------- Thanks, yes, the problem is resolved by the latest in git. However, since on the subject, I thought I would point out something that looks strange. I'll use restoring /bin/ping as an example, where both /bin is 555 and /bin/ping is 755 and additionally setuid. If I mark /bin and /bin/ping for restore, I get what I expect: dr-xr-xr-x. 2 root root 4096 Jul 24 07:32 bin -rwsr-xr-x 1 root root 40760 Sep 17 2013 ping However, if I restore just /bin/ping to an alternate location (/bacula-restores), I get funny permission on the placeholding "bin" directory. I thought that the function that was not setting the attributes properly on /bin/ping were at fault for setting the directory instead of the binary, but now that I see the bug was the order of chown and chmod, I don't understand where these extra attributes are coming from on the "placeholder" directory. ----- extra attributes VV drwsr-xr-x 2 root root 4096 Jul 25 10:56 bin -rwsr-xr-x 1 root root 40760 Sep 17 2013 ping Issue History Date Modified Username Field Change ====================================================================== 2014-07-23 16:17 stephen New Issue 2014-07-25 10:45 kern Note Added: 0006996 2014-07-25 10:45 kern Status new => feedback 2014-07-25 19:09 stephen Note Added: 0006999 2014-07-25 19:09 stephen Status feedback => new ====================================================================== |