Getting started

During installation of the main server a first user account was created. In the following text this account will be referenced as "first user". This account is special, as the home directory permission is set to 700 (so chmod o+x ~ is needed to make personal web pages accessible), and the first user can use sudo to become root.

See the information about Debian Edu specific file system access configuration before adding users; adjust to your site's policy if needed.

After the installation, the first things you need to do as first user are:

  1. Log into the server.

  2. Add users with GOsa².

  3. Add workstations with GOsa².

Adding users and workstations is described in detail below, so please read this chapter completely. It covers how to perform these minimum steps correctly as well as other stuff that everybody will probably need to do.

There is additional information available elsewhere in this manual: the New features in Bookworm chapter should be read by everyone who is familiar with previous releases. And for those upgrading from a previous release, make sure to read the Upgrades chapter.

Minimum steps to get started If generic DNS traffic is blocked out of your network and you need to use some specific DNS server to look up internet hosts, you need to tell the DNS server to use this server as its "forwarder". Update /etc/bind/named.conf.options and specify the IP address of the DNS server to use.

The HowTo chapter covers more tips and tricks and some frequently asked questions.

GOsa² is a web based management tool that helps to manage some important parts of your Debian Edu setup. With GOsa² you can manage (add, modify, or delete) these main groups:

For GOsa² access you need the Skolelinux main server and a (client) system with a web browser installed which can be the main server itself if it was installed as a so called combined server (Main Server + LTSP Server + Workstation profiles).

If you (probably accidentally) installed a pure Main Server profile and don't have a client with a web-browser handy, it's easy to install a minimal desktop on the main server using this command sequence in a (non-graphical) shell as the user you created during the main server's installation (first user):

  $ sudo apt update
  $ sudo apt install task-desktop-xfce lightdm education-menus
  $ sudo service lightdm start

From a web browser use the URL https://www/gosa for GOsa² access, and log in as the first user.

  • If you are using a new Debian Edu Bookworm machine, the site certificate will be known by the browser.

  • Otherwise, you will get an error message about the SSL certificate being wrong. If you know you are alone on your network, just tell the browser to accept it and ignore that.

GOsa² overview page after login as the first user

After logging in to GOsa² you will see the overview page of GOsa².

Next, you can choose a task in the menu or click any of the task icons on the overview page. For navigation, we recommend using the menu on the left side of the screen, as it will stay visible there on all administration pages offered by GOsa².

In Debian Edu, account, group, and system information is stored in an LDAP directory. This data is used not only by the main server, but also by the (diskless) workstations, the LTSP servers and other machines on the network. With LDAP, account information about students, teachers, etc. only needs to be entered once. After information has been provided in LDAP, the information will be available to all systems on the whole Skolelinux network.

GOsa² is an administration tool that uses LDAP to store its information and provide a hierarchical department structure. To each "department" you can add user accounts, groups, systems, netgroups, etc. Depending on the structure of your institution, you can use the department structure in GOsa²/LDAP to transfer your organisational structure into the LDAP data tree of the Debian Edu main server.

A default Debian Edu main server installation currently provides two "departments": Teachers and Students, plus the base level of the LDAP tree. Student accounts are intended to be added to the "Students" department, teachers to the "Teachers" department; systems (servers, workstations, printers etc.) are currently added to the base level. Find your own scheme for customising this structure. (You can find an example how to create users in year groups, with common home directories for each group in the HowTo/AdvancedAdministration chapter of this manual.)

Depending on the task that you want to work on (manage users, manage groups, manage systems, etc.) GOsa² presents you with a different view on the selected department (or the base level).

First, click on "Users" in the left navigation menu. The right side of the screen will change to show a table with department folders for "Students" and "Teachers" and the account of the GOsa² Administrator (the first created user). Above this table you can see a field called Base that allows you to navigate through your tree structure (move your mouse over that area and a drop-down menu will appear) and to select a base folder for your intended operations (e.g. adding a new user).

Next to that tree navigation item you can see the "Actions" menu. Move your mouse over this item and a submenu appears on screen; choose "Create" here, and then "User". You will be guided by the user creation wizard.

After you have created the user (no need to customise fields the wizard has left empty for now), click on the "Ok" button in the bottom-right corner.

As the last step GOsa² will ask for a password for the new user. Type that in twice and then click "Set password" in the bottom-right corner. Adding users Some characters may not be allowed as part of the password.

If all went well, you can now see the new user in the user list table. You should now be able to log in with that username on any Skolelinux machine within your network.

It is possible to mass-create users with GOsa² by using a CSV file, which can be created with any good spreadsheet software (for example localc). At least, entries for the following fields have to be provided: uid, last name (sn), first name (givenName) and password. Make sure that there are no duplicate entries in the uid field. Please note that the check for duplicates must include already existing uid entries in LDAP (which could be obtained by executing getent passwd | grep tjener/home | cut -d":" -f1 on the command line).

These are the format guidelines for such a CSV file (GOsa² is quite intolerant about them):

The mass import steps are:

It's a good idea to do some tests first, preferably using a CSV file with a few fictional users, which can be deleted later.

Same applies to the password management module, which allows one to reset a lot of passwords using a CSV file or to re-generate new passwords for users belonging to a special LDAP subtree.

Reset passwords

create group

create group

The management of groups is very similar to the management of users.

You can enter a name and a description per group. Make sure that you choose the right level in the LDAP tree when creating a new group.

Adding users to a newly created group takes you back to the user list, where you most probably would like to use the filter box to find users. Check the LDAP tree level, too.

The groups entered in the group management are also regular unix groups, so you can use them for file permissions too.

Machine management basically allows you to manage all networked devices in your Debian Edu network. Every machine added to the LDAP directory using GOsa² has a hostname, an IP address, a MAC address and a domain name (which is usually "intern"). For a fuller description of the Debian Edu architecture see the architecture chapter of this manual.

Diskless workstations and thin clients work out-of-the-box in case of a combined main server.

Workstations with disks (including separate LTSP servers) have to be added with GOsa². Behind the scenes, both a machine specific Kerberos Principal (sort of account) and a related keytab file (containing a key used as password) are generated; the keytab file needs to be present on the workstation to be able to mount users' home directories. Once the added system has been rebooted, log into it as root and run /usr/share/debian-edu-config/tools/copy-host-keytab.

To create Principal and keytab file for a system already configured with GOsa², log in on the main server as root and run

/usr/share/debian-edu-config/tools/gosa-modify-host <hostname> <IP>

Please note: host keytab creation is possible for systems of type workstations, servers and terminals but not for those of type netdevices. See the Network clients HowTo chapter for NFS configuration options.

To add a machine, use the GOsa² main menu, systems, add. The name of the machine is expected to be a valid unqualified hostname, do not add the domain name here. You can use an IP address/hostname from the preconfigured address space 10.0.0.0/8. Currently there are only two predefined fixed addresses: 10.0.2.2 (tjener) and 10.0.0.1 (gateway). The addresses from 10.0.16.20 to 10.0.31.254 (roughly 10.0.16.0/20 or 4000 hosts) are reserved for DHCP and are assigned dynamically.

To assign a host with the MAC address 52:54:00:12:34:10 a static IP address in GOsa² you have to enter the MAC address, the hostname and the IP; alternatively you might click the Propose ip button which will show the first free fixed address in 10.0.0.0/8, most probably something like 10.0.0.2 if you add the first machine this way. It may be better to first think about your network: for example you could use 10.0.0.x with x>10 and x<50 for servers, and x>100 for workstations. Don't forget to activate the just added system. With the exception of the main server all systems will then have a matching icon.

If the machines have booted as thin clients/diskless workstations or have been installed using any of the networked profiles, the sitesummary2ldapdhcp script can be used to automatically add machines to GOsa². For simple machines it will work out of the box, for machines with more than one mac address the actually used one has to be chosen, sitesummary2ldapdhcp -h shows usage information. Please note, that the IP addresses shown after usage of sitesummary2ldapdhcp belong to the dynamic IP range. These systems can then be modified to suit your network: rename each new system, activate DHCP and DNS, add it to netgroups (see screenshot below for recommended netgroups), reboot the system afterwards. The following screenshots show how this looks in practice:

root@tjener:~# sitesummary2ldapdhcp -a -i ether-22:11:33:44:55:ff
info: Create GOsa machine for am-2211334455ff.intern [10.0.16.21] id ether-22:11:33:44:55:ff.
 
Enter password if you want to activate these changes, and ^c to abort.
 
Connecting to LDAP as cn=admin,ou=ldap-access,dc=skole,dc=skolelinux,dc=no
enter password: ********
root@tjener:~#

GOsa² systems listing

Host details

Modify host

Add netgroup

A cronjob updating DNS runs every hour; su -c ldap2bind can be used to trigger the update manually.

After adding a machine to the LDAP tree using GOsa², you can modify its properties using the search functionality and clicking on the machine name (as you would with users).

The format of these system entries is similar to the one you already know from modifying user entries, but the fields mean different things in this context.

For example, adding a machine to a NetGroup does not modify the file access or command execution permissions for that machine or the users logged in to that machine; instead it restricts the services that machine can use on your main server.

The default installation provides the NetGroups

Currently the NetGroup functionality is used for: