Posts Tagged Linux

Using Access Control Lists (ACL)

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 »

Tags: , , , ,

No Comments

Securely Accessing a Computer With VNC and SHH Tunnels

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 »

Tags: , , , , , , ,

No Comments

How to Get a Directory Listing in C (POSIX)

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 »

Tags: , , , , , , , , ,

No Comments