Setting UNIX file permissions can be a confusing task for newbies - here's the painless way:
I'm not a programmer, and in fact, I'm not even a particularly "technical" person - but like many other Webmasters, I sometimes need to perform "technical" tasks in order to accomplish a specific objective. Like many other folks in this business, I enjoy the enhanced functionality and ease of site maintenance and content management that scripting can provide; and I'm more than willing to crash my server in an attempt to install the latest bit of software to catch my attention.
While I enjoy the benefits as well as the challenges that CGI script installation can offer, I am quite often frustrated by the cryptic installation instructions the script authors provide. They seem to assume that you know as much as they do about the arcane procedures involved in getting the damn things to work, and sadly this is often not the case. For example, one of the earliest obstacles that I faced when I first started fiddling with CGI scripts was the setting of "file permissions."
Although many Webmasters might consider this to be child's play, my first experiences in this realm were baffling beyond belief. My install sheet said that I needed to set a certain file's permissions to "777," but provided no clue as to how I should go about doing so. I knew the process involved the use of my FTP program, but searching the software's "help" file proved futile, and I was unable to find a menu item that said "permissions" - since they (Cute FTP) decided to refer to these as "attributes" instead. Compounding my confusion was the fact that the "codes" which indicate WHAT the permissions should be can be stated in several different ways, such as "drwxr-xr-x" or "755" or "write."
Performing a web search on "UNIX file permissions" was also a senseless journey into the nether regions of geek-dom. While I was able to uncover vast stores of information about the topic, nothing I discovered actually helped me to set my file's permissions using the software I had available to me. Sure, I now knew how to set permissions through the command line using telnet, but I'm on a virtual host that doesn't offer telnet access:
So for those of you who don't know your CHMOD from a hole in the ground (and who don't really care to since you only want to install a script, not become a programmer), here's how to set permissions using two common FTP programs: CuteFTP and WS_FTP Pro.
Using WS-FTP Pro
Setting file permissions using WS-FTP Pro is easily done by clicking on a series of "checkboxes." Simply right click on the desired file (or directory), and select "chmod (UNIX)" then left click. A small dialog box should appear (fig. 1).
"Read" permission has a value of "4," "Write" permission has a value of "2," and "Executes" value is "1." When Read, Write, and Execute permissions are added together, they equal "7," (4+2+1). When these three numbers are added together, and then set for each of the three permission groups (Owner, Group, and Other), you will have a valid "CHMOD mask" and your permissions will be set. Easy, right? You'll do fine as long as you can count up to "7." CuteFTP is even easier than WS-FTP Pro for newbies to handle due in part to its "Manual" indicator that removes all the guesswork (and mathematics) out of setting file permissions.
CuteFTP is even easier than WS-FTP Pro for newbies to handle due in part to its "Manual" indicator that removes all the guesswork (and mathematics) out of setting file permissions. Simply "right click" the file whose permissions need modification and select "Change file attributes" from the pop-up menu. A dialog box (fig. 2) will appear, displaying Read, Write, and Execute "check boxes" for Owner, Group, and Public (Other). There is also a field labeled "Manual" on this dialog box.
Either type in the setting you need (777 for instance) into the "Manual" box, or click on the appropriate boxes to set your permissions. As you check off these boxes, the Manual box will change accordingly, updating the number inside and verifying that you have the permissions set right. When the number in the "manual" box equals the desired setting, click "OK." A confirmation dialog box should be displayed: click "OK" again - it's really that simple!
As you can see, actually setting your file permissions is a heck of a lot easier than trying to understand them, and a necessary evil in the world of CGI script installation. Good luck - and if at first you don't succeed, be thankful that you made backup copies...