If you’ve been using unix or linux long enough, you’ve probably found yourself wishing for more powerful permissions management. For example, if your web development group has been cooperating with another group on a somewhat sensitive project, you’ve probably wished you could easily set it so that those two groups – and only those two groups – could read and write to certain files. Or, as in my case, wished that you could allow the web server user to read and write to files without having to mess with any group permissions. ACLs are the tool that lets you do that.
Read the rest of this entry »Posts Tagged Linux
Ordinarily, when bash (or any other shell) starts up on a linux machine, all the user gets is a single prompt. If the user wants information about the status of his account, like how many mail messages he has, the user has to specifically ask for that information. Instead, you might want to set it up so that when a user logs in, he sees a message across the top of the screen, displaying that sort of information. Using a dynamically generated banner instead of just a static motd has the advantage that it can display this sort of information. Read the rest of this entry »
VNC, “Virtual Network Computing”, allows you to remotely access another computer’s graphical user interface. For most people, this is better than ssh, which is only a terminal (albeit sometimes a colorful one). I’m going to assume that everybody reading this has some Linux/unix experience, and knows how to use ssh.
The first step to using VNC is to ensure that there is something to view – you need to set up a desktop environment. Good candidates are xfce, gnome, and kde (I use gnome). If you have a slow computer with rendering problems, these might not work well (all of them can be kind of hard for a slow computer), so you might look into TWM. Read the rest of this entry »
For the minification scripts mentioned here, I had to write a program that would go through every file of a certain type in a directory and process (in this case, minify) that file. At the heart of this problem was the need to get a directory listing.
The obvious way to get a directory listing in C is to use the system call, as in system("ls");. But this is not only lame, it does not work on all systems, and the result cannot be used very easily. The better way to get a directory listing is to use system calls to the filesystem. A complete example is shown at the bottom of this post, as usual.
The functions used in getting a directory listing are opendir and readdir (note: these functions also exist in php, and the code to get a directory listing is in fact nearly the same in php and c). opendir() can be seen as kind of like a fopen() for directories. Following this analogy, readdir() is like a fgetc() for directories. To get a directory listing, we first open the directory with opendir("/dir/name/here"), and then read the name of each file in the directory with a loop of readdir(directory_handle)s. Read the rest of this entry »