User Accounts and Permissions


All Linux systems require one administrator, the Root, and at least one generic user, who can be the same person. The Root is, as noted often here, all powerful. Generic users can be restricted to the point of being able to read only a single file, or have full run of the system as the SuperUser (su). This section will help you better understand how the permissions system works, beyond what you learned in Chapter 5, "Getting Started with SUSE Linux."

Setting Up User Accounts in YaST

The first user account is set up during the SUSE Linux installation. Adding users is a simple task in YaST.

In YaST, go to Security and Users. Click Edit, Create Users. YaST will review the current user accounts and display them in the first screen (see Figure 19.1).

Figure 19.1. The YaST User and Group Administration tool.


Besides the standard operations of Adding and Deleting users, you can perform several user-related tasks from this screen:

  • Change passwords and access rights for existing users.

  • Allow some users to log in without a password.

  • View and edit system users (more about this in the next section).

  • Set default permissions and groups for new users.

  • Set password encryption standards.

  • Configure user-related information for Lightweight Directory Access Protocol (LDAP), Samba, Network Information Service (NIS), and Kerberos services.

You will explore some of these options later, but for now you'll create a new user. In this example, you're going to create a user called drone77. Click Add. Figure 19.2 will appear.

Figure 19.2. Set username and password in the first Add a New Local User screen.


YaST asks for the user's full name. This is not required, but YaST will use this information to provide a suggestion for the system username. Because we already have a username picked out, enter drone77 on the User Login line. Type an initial password for this user. The Help pane on the left offers some pointers. The password must be between 5 and 72 characters; it is case sensitive (so mix in some capital letters) and can include spaces and just about any character on the keyboard.

To give drone77 a chance to select his own password, you need to set the expiration date. Click Password Settings and Figure 19.3 opens.

Figure 19.3. Let the user set a password on first login with these settings.


The default settings are for a system in which passwords are set once and never changed. This is OK for a single-user system with a modem connection to the Internet, but it's a bad idea if you have an "always on" connection, such as a DSL or cable-modem connection.

Frequent changes of your users' passwords is another way of staying one step ahead of the attackers. A good rule is to reset passwords every 3 6 months. drone77 is set to change passwords every 90 days.

Tip

Setting the Minimum Number of Days for the Same Password item for greater than 0 prevents users from changing passwords when forced and then immediately changing them back.


To let drone77 choose a password on login, you must set the Expiration Date for today, and set the Days After Password Expires with Usable Login to 1 or 0. The Days Before Password Expiration to Issue Warning can stay at the default, but can be adjusted to your preference. The system will then prompt drone77 to change passwords. When that happens, you should return here to delete the Expiration Date.

Click Next when you complete this dialog box to return to the main Add User screen. Click Details to review the other defaults associated with this user. These default settings are generally OK, but there may be items to adjust. In this dialog box, you can set the following:

  • User ID (UID) Every user must have an ID number. Generic users must have UIDs greater than 499; YaST starts at UID 1000 to be safe. You can change this if you want, but do this only when you create the account. Ownership rights are associated with UID numbers, so changing the number will orphan any files outside of the user's home directory.

  • Home Directory By default, this is /home/<username>, but you can change this here. The best reason to change the home directory is if this user is really just a "persona" of another user (like you, for example), who wants to have a single /home directory to store data in.

  • Additional User Information This line is for finger information. For privacy's sake, leave this blank. (see "Changing User Information" in Chapter 5).

  • Login Shell This is the default shell for this user. By default, it's bash. Use the drop-down menu, which has the path to every installed shell on the system, to change shells.

  • Default Group and Additional Group Membership By default, YaST assigns users to the Users group and also to the Dialout and Video groups. You'll learn more about assigning groups in the next section.

When you're through adjusting these settings, click Next to return to the main Add User screen. You can now click Create to add this user to your system. drone77 should now appear on the list of Local Users. Click Finish to return to YaST.

System Users

Some applications need to own their files and processes to function securely. This is accomplished by creating system users. These are usually the daemons that always run in the background (man, lp/print, mail, news, and bin), but also include a few other applications, such as MySQL and the Games user. System users do not log in or have home directories, but they have passwords. They also have control over files that other generic users do not have. System users belong to their own group; that is, bin belongs to the Bin group.

View the list of system users in the User Administration screen by clicking Set Filter and selecting System Users. You should never have to configure these yourself, even as Root.

RWX: Understanding Permissions

Most of the practicalities of setting permissions were covered in Chapter 5. The focus there is on the hows of permissions. It's just a question of assigning Read, Write, and eXecute permissions to the Owner, Group, and World groups. You can do this either from the shell, using the chmod command, or in a GUI file manager. From the shell you can use octals or letter switches.

In this section, the focus is on why you want to set permissions in a particular way. Consider that permissions are the heart of security, as previously mentioned, and start with trying to think like a black hat a would-be attacker. How can you use these three switches RWX to your advantage?

  • Read The safest permission to grant is Read. Giving Read access to a file allows viewing the contents of a file. Read access to a directory allows access to the list of files in that directory. In most cases, someone viewing a file (with bad intent or not) is harmless. But what if it's a critical document that needs to be kept from prying eyes? You probably want to encrypt the file as well, but removing the Read option is another step. What if an attacker wants to see if a file known to have a security hole is on your system? An attacker (or a software bot) can do that with World Read access to that directory.

  • Write Giving Write access to a file allows someone to change the content of a file. Write access to a directory means permitting renaming or deletion of existing files and creation of new files in that directory. It's a little easier to see the danger. Give World Write access to your web-server directory, and your site is a prime candidate for defacement. Give an attacker Write access to your .login file (even without Read access), and someday you won't be able to login because that filename will have been changed. These types of things probably don't happen often, but they are the kinds of mistakes that happen frequently enough to be troublesome.

  • Execute Theoretically, any file in Linux can be made executable by setting this permission. In practice, executable files are standard programs or files that can be used as scripts. In a directory, execute rights are also called search permission. It means you can use the directory's name when accessing its files.



SUSE Linux 10 Unleashed
SUSE Linux 10.0 Unleashed
ISBN: 0672327260
EAN: 2147483647
Year: 2003
Pages: 332

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net