Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I got some files in directory:

drwxrws-wt 2 me      mygroup  4,0K 10.1. 12:34 .
-rw-r----- 1 someone mygroup  10G  10.1. 11:22 someonesfile

me and someone are regular users without supplementary groups.

How to take ownership of that file using me account?

If me do:

$ chown me someonesfile
chown: doing bla bla bla: permission denied

However me can "change" ownership by replacing file with new one:

cp someonesfile myfile && mv -f myfile someonesfile`

So my main question is if there is any easier (cheaper) way to change file ownership in described environment without using root account or other privilege elevations. Basically I wanted to know if me can somehow take advantage of directory permissions to somehow reset ownership/permissions without making copy of whole file.

I've also noticed that editing file with vim and forcing overwrite with :w! will change owner of file, is that same as doing cp && mv? At least touch someonesfile will fail with permission denied.

share|improve this question

2 Answers 2

up vote 2 down vote accepted

Yes, vim will remove the original file and create a new one to put the new content in.

Your cp && mv -f is the way to go.

Note that when the t bit is set on the directory as it is in your case, it's not enough to have write permission to the directory you also need to be the owner of the file or the directory (as you are).

share|improve this answer

Only root can change the owner of a file. Without involving root, all you can do is delete the file and create or rename a different file with that name.

If you were allowed to appropriate the file, this would be a security hole. For example, the user someone could open the file, then verify its ownership and permissions (by calling fstat on the open file handle), and conclude that only a program running as someone could have produced this data. If you were able to appropriate the file, you could then change its content against someone's wishes.

share|improve this answer
    
Some systems allow you to give away files you own to other users though. That was the case on HPUX the last time I used it (years ago, it may have changed since) for instance and was the case in SysIII and SysV according to the chown() POSIX spec. –  Stéphane Chazelas Jun 16 at 13:32

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.