bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#13298: 24.3.50; Cannot write backup file; backing up in ~\.emacs.d\%


From: Dmitry Gutov
Subject: bug#13298: 24.3.50; Cannot write backup file; backing up in ~\.emacs.d\%backup%~
Date: Sat, 29 Dec 2012 20:05:23 +0400
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0

On 29.12.2012 18:44, Eli Zaretskii wrote:
Date: Sat, 29 Dec 2012 17:55:58 +0400
From: Dmitry Gutov <dgutov@yandex.ru>
CC: 13298@debbugs.gnu.org

On 29.12.2012 17:51, Eli Zaretskii wrote:
Date: Sat, 29 Dec 2012 17:42:55 +0400
From: Dmitry Gutov <dgutov@yandex.ru>
CC: 13298@debbugs.gnu.org

Can you step with a debugger (e.g., Edebug) through
backup-buffer-copy, and see why it errors out?  My crystal ball says
it happens because of set-file-extended-attributes, in which case
please tell what is the value of extended-attributes argument passed
to backup-buffer-copy.

Indeed, it happens after a call to set-file-acl.

((acl .
"O:BAG:S-1-5-21-909999172-181315677-756075521-513D:(A;;FA;;;SY)(A;;FA;;;BA)(A;;FA;;;S-1-5-21-909999172-181315677-756075521-1000)")
(selinux-context nil nil nil nil))

And if, before the call to set-file-acl inside
set-file-extended-attributes, you evaluate the expression

    (file-acl filename)

what does it return?

"O:S-1-5-21-909999172-181315677-756075521-1000G:S-1-5-21-909999172-181315677-756075521-513D:(A;;FA;;;SY)(A;;FA;;;BA)(A;;FA;;;S-1-5-21-909999172-181315677-756075521-1000)"

I guess this happens because all of the following:

   . your user is a local Administrator

   . you took ownership of your ~/.emacs.d directory, instead of
     leaving it owned by the Administrators group

The above is true. But /Users/gutov is owned by SYSTEM, FWIW.

   . you didn't (or cannot) enable the "take ownership" privilege in
     your local security policy

This policy's security setting says "Administrators", and my user belongs to that group (I'm looking in Local Policies/User Rights Assignment, is that right?).

If I want to change the ownership, I open the Advanced Security Settings window, switch to the Owner tab, and the Edit button has the "security shield" button on it, which I can click, the edit window opens, I can make changes and save. All this without logging in as a different user, or even seeing the UAC prompt (in Windows Explorer).

Third-party applications might need a UAC prompt for that, I imagine.

Because of this, the files created inside ~/.emacs.d inherit the
owner of that directory, i.e. your user-id, while the original file
that is being backed up had the Administrators group as its owner
(that's what the "O:BA" part above means).  And because you don't have
the privileges of taking ownership, the call to set-file-acl fails.

I installed as trunk revision 111369 a set of changes that should fix
this for you.  Please test.  (I could only approximate the problem on
my machine, so I cannot be sure the changes indeed fix it.)

It's better, but now I see these messages:

Saving file c:/Users/gutov/.newsrc...
Error: (file-error "Setting ACL" "operation not permitted" "c:/Users/gutov/.emacs.d/backups/!drive_c!Users!gutov!.newsrc~")
Wrote c:/Users/gutov/.newsrc
Saving c:/Users/gutov/.newsrc.eld...
Saving file c:/Users/gutov/.newsrc.eld...
Error: (file-error "Setting ACL" "operation not permitted" "c:/Users/gutov/.emacs.d/backups/!drive_c!Users!gutov!.newsrc.eld~")
Wrote c:/Users/gutov/.newsrc.eld
Saving c:/Users/gutov/.newsrc.eld...done

Like I described, I don't think my situation is exceptional, so seeing the error messages is misleading.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]