File permissions suddenly change for /dev/null.

David Landgren david at landgren.net
Tue Sep 2 12:53:36 PDT 2003


Ed Alley wrote:
> I'm running FreeBSD-4.8. Sometimes the file permissions for /dev/null get
> mysteriously changed by some unknown process to:
> 
> 	crw------- 1 root wheel 2, 2 Sep 2 11:20 /dev/null
> 
> This has a devastating effect on user processes that want to open
> /dev/null. Whenever my system starts acting funny, the first place
> I look is at the permissions for /dev/null. When I find them changed
> I go under root and execute:
> 
> 	chmod 666 /dev/null
> 
> to get things back to normal.
> 
> Has anybody seen this before? Have I got a hidden umask set up
> wrong somewhere, or is one of my daemons the culprit? Or could
> it be happening during the time that I run as root doing
> system maintenance?

The only time I've had something like this happen to me was when I 
installed Frontpage Extension for Apache. Come to think of it, it was on 
a Solaris box, but no matter.

Apache has two vestigal config files that no longer serve any real 
purpose, srm.conf and access.conf. There are two schools of thought 
about what to do about this. The first school says to have those files 
sitting in the filesystem, but empty. The second says that the 
configuration directives in httpd.conf that refer to those files should 
point to /dev/null instead, and not have any other config files.

I subscribe to the latter idea: it makes for a cleaner conf/ directory.

Unfortunately, Frontpage Extensions, in Microsoft's oh-so-typical 
couldn't give a fuck about anyone else way actually wants to put some 
kind of garbage in the access.conf file. Morons, the rest of the world 
hasn't been doing that for at least six years by my count.

Anyway, rather than bombing out, the script managed to mangle /dev/null 
utterly, and turned it into

	-rw-rw-rw 1 root wheel 2, 2 Sep 2 11:20 /dev/null

I.e., a *plain* file! This symptoms this produced were really bizarre. 
As it turned out, /dev/null on Solaris is a soft link to the real device 
in /device (which may be why the FPE install script was able to trash 
it). It was easily repaired by restoring the symlink.

Anyway, the moral of the story is, what have you installed recently?

David



More information about the freebsd-questions mailing list