What Linux system files might need editing?

Whilst great strides have been made by the Linux community to provide GUI’s for many tasks, it is still a command line driven OS at it’s heart. This, of course, is one of its strengths as everything can be scripted too. However, for none IT techies, it is very daunting.

Here I’m listing some of the system files I’ve had (or at least wanted) to change by hand. It’s a very quick reference, largely for my own benefit should I need to rebuild my system.

  • /etc/X11/xorg.conf
    Even now you might need to hand crank this file to get all of the settings you need
  • /etc/bash.bashrc.local
    SUSE does not include /sbin in the default path
  • /etc/cups/cupsd.conf
    Printer server subsystem (CUPS) configuration – may need to tweak the access permissions
  • /etc/cups/mime.types
    Added some stuff to speed up printing from the FireFox web browser. See the article on Google Answers for details
  • /etc/fstab
    What and how disk partitions get mounted at boot time – may need to change permissions or may wish to remove certain entries
  • /etc/host.conf
    See nsswitch.conf
  • /etc/hosts
    Useful to override host name to address mappings for development and testing work
  • /etc/motd
    What people see if they log in to your system using a command line shell
  • /etc/nsswitch.conf
    Controls how network names are looked up. Tweaking this can make DNS lookups a lot faster
  • /etc/samba/smb.conf
    Configure access to Windows type resources on the host machine
  • /etc/samba/smbfstab
    Configure if/how the host system automatically mounts Windows resources from other machines so that they appear as Linux mounts. Use this rather than /etc/fstab if you want the embedded password only visible to the root user
  • /etc/sudoers
    Which users can sudo. You can also configure particular applications to automatically get sudo privaledges if you want to (hint: it is rather nice to set up a script that updates all installed software packages)
  • /etc/sysconfig/network/ifcfg-br0
    If you want to bridge two network interfaces (see the last post for information on why you would want to do this), you have to set things up by hand
  • /etc/sysconfig/network/ifcfg-eth1
    SUSE has an excellent GUI for managing network interfaces but just occasionally you might need to manually tweak one
  • /etc/sysconfig/network/routes
    The SUSE network configuration GUI seems to have a tendency to loose the default route
  • /etc/syslog-ng/syslog-ng.conf
    Configure logging levels
  • /etc/syslog.conf
    As above
  • /etc/udev/rules.d/50-udev-default.rules
    UDEV handles automatic creation of device files based on event rules. On my system I had to tweak the permissions on a USB scanner so that the scanning software VueScan could get access. You can also add rules to run scripts when certain hardware is detected.
  • /usr/NX/etc/node.cfg
    Configuration for the NX server. NX is a method of getting remote access to the screen of a machine.
  • /usr/NX/etc/server.cfg
    As above

This list applies to a desktop machine running OpenSUSE 10.3

It is quite likely that some of these files do have a GUI but sometimes it is just easier to get in there and edit.