Big Brother help
Help

"Forbidden" problems


Yet another entry for the Most Frequently Asked Question not in the FAQ. I try to click on something and I get "Forbidden - You don't have permission to do blah on this server..."

Those messages are coming from your Web Server, and they're usually right. There are three distinct classes of this problem.


The directory tree permissions or symlinks problem


If you haven't been able to see a BB status screen yet, then first make sure that BB is working and has actually generated something for you to look at.

You can tell because the file $BBHOME/www/bb.html will exist and have a size greater than 0. Ditto, a file called bb2.html will also exist. If these files don't exist, then there's nothing to look at and your problem lies elsewhere.

However, if they do exist, but your webserver isn't letting you see them then the solution is most likely that you need to either:

Verify the directory permissions of all parent directories of $BBHOME/www, they must at least be read/execute (r-x) for the web server to access $BBHOME/www and all parent directories. Note that on some OSes, a home directory has rwx------ permissions when created. This is often a problem, change permissions to rwxr-xr-x. Note that this may not fit into your security policy, so that you may have to use a different solution.

if that's not the problem the set the option FollowSymlinks in the httpd.conf file for Apache for the directory where BB is located.

Options FollowSymLinks

The http server then must be stopped and restarted for changes in httpd.conf to take effect.


The CGI permissions problem


Here's how to debug the problem

  • First check your webserver's error log, it can provide clues
  • Second, check the permissions on the file you're trying to execute
  • Finally, try running that command under the userid of your webserver

The first point is pretty straightforward.

The second point is equally obvious. You need to have execute permissions on the files in your cgi directory.

The final point is one that catches people most often. In order to be able to execute a file, you essentially need to be able to access the cgi directory itself. If for some reason any of the directories between the root directory (/) and the cgi-bin directory don't allow access to the uid your webserver is running as (usually 'nobody'), then the webserver won't be able to execute anything.

A simple way to test this is to 'su' to the userid of your webserver. In most cases, this would be a command like 'su nobody'. Now try to change directories to your cgi-directory. If you can't, then you've found the problem and will have to adjust permissions on a directory somewhere.

If you can cd to your cgi-directory, then try to manually execute the command. It should fail, just like it did for the webserver. Again check the permissions on the web file itself. You may have to issue the command 'chmod 755 program-name' as root to correct the problem.

Finally, check that every subdirectory that make up the full path of the cgi, has at least read/execute for permissions.

If all of the above fails, as the BB mailing list for help. More info at http://bb4.com/support.html


Report directory problems


If when you try to run an availability report, you get the error message "bb-histlog.sh lacks permissions to access Report directory", it is because the webserver can't write in the $BBHOME/www/rep directory.

The actual report output is a dynamically created web page that lives in that directory, therefore the user your webserver is running as needs permission to write in that directory.

chown nobody $BBHOME/www/rep usually does the trick.





© Copyright Quest Software, Inc. 1997-2003 All rights reserved.