Return-Path: X-Original-To: apmail-db-derby-dev-archive@www.apache.org Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 93D3B7D7F for ; Wed, 17 Aug 2011 15:56:52 +0000 (UTC) Received: (qmail 8903 invoked by uid 500); 17 Aug 2011 15:56:52 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 8410 invoked by uid 500); 17 Aug 2011 15:56:51 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 8401 invoked by uid 99); 17 Aug 2011 15:56:51 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Aug 2011 15:56:51 +0000 X-ASF-Spam-Status: No, hits=-2001.1 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Aug 2011 15:56:48 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 4BE50C1F5B for ; Wed, 17 Aug 2011 15:56:27 +0000 (UTC) Date: Wed, 17 Aug 2011 15:56:27 +0000 (UTC) From: "Kathey Marsden (JIRA)" To: derby-dev@db.apache.org Message-ID: <559118405.45636.1313596587307.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <507378079.20088.1311980529620.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (DERBY-5363) Tighten default permissions of DB files with >= JDK6 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-5363?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13086413#comment-13086413 ] Kathey Marsden commented on DERBY-5363: --------------------------------------- I think not with the API which is normally used for embedded server scenarios, but perhaps for the command line start up where we also start a security manager and try to be more secure by default. I can think of at least one product that requires multiple users to be able to start Network Server, but I am pretty sure they use the API. I will check. It might be good to check with the user list too. Would it be possible to make the enhanced restrictions only occur on new databases and ones that have been created with the restrictions? The thing that makes me most wary about messing with permissions is that the errors that users get with mixed permissions are pretty ugly, like container cannot be opened or can't read some specific transaction log file during recovery. We sometimes see these errors now with an existing database with liberal permission is accessed by a new user with more restrictive umask and then opened by another user who can't access the new files. What needs to be done is some chmods and adjust the umask of the secondary user to fix it up, but unfortunately often, by the time I see it, somebody has gotten interested in those log and seg0 directories and deleted something corrupting the database. If the new default permissions were to take effect with preexisting databases, we might see this scenario more often. > Tighten default permissions of DB files with >= JDK6 > ---------------------------------------------------- > > Key: DERBY-5363 > URL: https://issues.apache.org/jira/browse/DERBY-5363 > Project: Derby > Issue Type: Improvement > Reporter: Dag H. Wanvik > Attachments: permission-5.diff, permission-5.stat, permission-6.diff, permission-6.stat, z.sql > > > Before Java 6, files created by Derby would have the default > permissions of the operating system context. Under Unix, this would > depend on the effective umask of the process that started the Java VM. > In Java 6 and 7, there are methods available that allows tightening up this > (File.setReadable, setWritable), making it less likely that somebody > would accidentally run Derby with a too lenient default. > I suggest we take advantage of this, and let Derby by default (in Java > 6 and higher) limit the visibility to the OS user that starts the VM, > e.g. on Unix this would be equivalent to running with umask 0077. More > secure by default is good, I think. > We could have a flag, e.g. "derby.storage.useDefaultFilePermissions" > that when set to true, would give the old behavior. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira