jail users can delete files they shouldn't

Erich Jenkins, Fuujin Group Ltd erich at fuujingroup.com
Sat Apr 10 07:29:34 UTC 2010


Norbert Zeh wrote:
> Erich Jenkins, Fuujin Group Ltd [2010.04.09 2329 -0600]:
>> I've gone through the archives for the Jail list, and I'm not finding  
>> anything specific to the issue we're experiencing. My apologies if this  
>> is a known issue or if I've done something daft, but there appears to be  
>> a file permission issue with jails.
>>
>> We have a large deployment of jailed systems, and an issue was brought  
>> to my attention today that I hope very much is the result of a  
>> misconfiguration or other mistake.
>>
>> Background:
>>
>> Environment is FreeBSD 7.0-REL and 8.0-REL
>> Platforms include i386 (x86 Xeon), amd64 (Opteron) and sparc64 (Netra X1's)
>> Jail environment is a Complete jail, not an application jail
>>
>> Situation:
>>
>> A user managed to kill an apache process today, resulting in their  
>> virtual web server (in a jail) going down. The user does not have root  
>> privileges on this box, and is not a member of wheel. Upon inspection, I  
>> found that the user had deleted a config file that was owned by root  
>> (chmod 700). It appears they were not able to read the file, but they  
>> were able to delete it which I confirmed with the user.
>>
>> Test:
>>
>> To verify what appeared to be happening, I created a file in the users  
>> home directory (typed some garbage into a text file) owned by root (700)  
>> and in the wheel group. I then logged into the users account via ssh as  
>> that user. I attempted to su to root, which I could not (as expected). I  
>> tried to read the file and could not (as expected). Then I tried to  
>> delete the file. Bingo. File was gone.
> 
> It's not the file permissions that control whether you can delete it but
> the user's permission on the directory containing the file.  If the user
> has write access to the directory, they can delete whatever is contained
> in that directory.  Since you talk about the user's home directory, I
> assume they have write access.
> 
> N.
> _______________________________________________
> freebsd-bugs at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
> To unsubscribe, send any mail to "freebsd-bugs-unsubscribe at freebsd.org"

I understand that, but this is not the situation. In the users home 
directory there is a folder which they do NOT have write access to, but 
they do have read access. If I cd to that directory, I can of course see 
the files in it, and file permissions work as expected for opening and 
editing. However, the directory is owned by root, and the user does not 
have write access to it. Therefore, it would seem I should not be able 
to delete the files contained in that directory. Am I missing something 
or perhaps slightly mad?

I apologize for not making the file structure more clear when I sent the 
initial post out. After re-reading it, I certainly see how you 
interpreted my inability to communicate concisely! :)

Any thoughts as to what might be causing this?

FYI, when I duplicate this situation outside of a jail environment, it 
works as expected. The user can't delete files they don't own from 
directories they don't have write access to. Drop it in a jail, and we 
have a problem.

Erich M. Jenkins
Fuujin Group Limited

"You should never, never doubt what no one is sure about."
-- Gene Wilder



More information about the freebsd-bugs mailing list