Configure linux client to use LDAP

Description: Clients should use server.d4.sysinst.ida.liu.se for LDAP authentication Implementation: Login to computers as root Install package libnss-ldapd Set LDAP server URI: ldap://server.d4.sysinst.ida.liu.se Set LDAP server search base: dc=d4,dc=sysinst,dc=ida,dc=liu,dc=se Set LDAP server to use all services In /etc/nsswitch.conf, replace compat with files In /etc/pam.d/common-session, add line to end: session required pam_mkhomedir.so skel=/etc/skel umask=0022

LDAP Server installation

Description: Configure LDAP to the domain d4.sysinst.ida.liu.se Implementation: Login to server as root Install the packages slapd, ldap-utils and migrationtools Set /etc/ldap/ldap.conf so contain the following: # # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. BASE dc=d4,dc=sysinst,dc=ida,dc=liu,dc=se URI ldapi:/// In /etc/migrationtools/migrate_common.ph, locate and set the following: $DEFAULT_MAIL_DOMAIN = "d4.sysinst.ida.liu.se"; $DEFAULT_BASE = "dc=d4,dc=sysinst,dc=ida,dc=liu,dc=se"; cd /usr/share/migrationtools ./migrate_all_online.sh Install package libnss-ldapd through aptitude, use all services Edit /etc/nsswitch.conf, change all “compat” to “files” In /etc/pam.d/common-session, add line to end: session required pam_mkhomedir.so skel=/etc/skel umask=0022 Verification: Create /root/olle.ldif root@server:~# cat user.ldif dn: uid=olle,ou=People,dc=d4,dc=sysinst,dc=ida,dc=liu,dc=se objectClass: top objectClass: account objectClass: posixAccount objectClass: shadowAccount cn: olle uid: olle uidNumber: 10000 gidNumber: 100 homeDirectory: /home/olle loginShell: /bin/bash gecos: olle userPassword: {crypt}x shadowLastChange: 0 shadowMax: 99999 shadowWarning: 0 ldapadd -W -D "cn=admin,dc=d4,dc=sysinst,dc=ida,dc=liu,dc=se" -f olle.ldif ...

September 30, 2015  |  🏷️Ldap

DNS/Bind9 - Installation and configuration

Description: Need to install DNS on server with the following configuration: It must respond authoritatively to all non-recursive queries for names in the zones it is authoritative for. It must respond to all recursive queries from the hosts on its own network. It must not respond to any recursive queries from any outside host (i.e. host not on its own network). Apart from the queries in (1), it should not respond to any queries from any outside host. It must contain valid zone data for its zone(s). The cache parameters must be chosen sensibly It must not be susceptible to the standard cache poisoning attacks. See http://www.kb.cert.org/vuls/id/800113 for details. Test its DNS server using porttest.dns-oarc.net (see http://www.dns-oarc.net/oarc/services/porttest). It should have the following normal zone: ...

September 26, 2015  |  🏷️Dns 🏷️Bind

Install Quagga configure with RIP

Description: Install quagga on gw and configure it so traffic can be forwarded between internet and the virtual LAN Implementation: Enable ip-forwarding: In /etc/sysctl.conf: Uncomment net.ipv4.ip_forward=1 Restart gw Installation: Run aptitude Locate and install metapackage quagga Configuration: In /etc/quagga/daemons, set the following: zebra=yes ripd=yes Create /etc/quagga/zebra.conf (owned by quagga:quagga, mode 640): hostname gw.d4.sysinst.ida.liu.se password read_password enable password write_password log file /var/log/quagga/zebra.log ip forwarding ipv6 forwarding Create /etc/quagga/ripd.conf (owned by quagga:quagga, mode 640): hostname gw.d4.sysinst.ida.liu.se password read_password enable password write_password log file /var/log/quagga/ripd.conf router rip version 2 network eth1 route 130.236.179.88/29 ! Start: service quagga start ...

Example smb.conf

# This is the main Samba configuration file. You should read the # smb.conf(5) manual page in order to understand the options listed # here. Samba has a huge number of configurable options (perhaps too # many!) most of which are not shown in this example # # Any line which starts with a ; (semi-colon) or a # (hash) # is a comment and is ignored. In this example we will use a # # for commentry and a ; for parts of the config file that you # may wish to enable # # NOTE: Whenever you modify this file you should run the command "testparm" # to check that you have not made any basic syntactic errors. # #======================= Global Settings ===================================== [global] netbios name = David workgroup = WORKGROUP server string = David wins support = true dns proxy = no hosts allow = 192.168.1. security = user map to guest = Bad User default service = global #server signing = mandatory ; Doesn't seem to work on OSX #log level = 2 log file = /var/log/samba/%m.log max log size = 50 public = yes available = yes browseable = yes only guest = yes read only = yes ; Disable printers load printers = no printing = bsd printcap name = /dev/null show add printer wizard = no disable spoolss = yes #============================ Share Definitions ============================== [ftp] comment = Public Stuff path = /var/ftp/public read only = no directory mask = 5777 create mask = 5677

April 27, 2015  |  🏷️Samba 🏷️Cifs

Enabling read/write to USBHID

Add read/write for group plugdev echo 'KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0664", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/99-hidraw-permissions.rules # Check that you have the group plugdev groups # If you cannot see plugdev there, type this: sudo usermod -aG plugdev $USER # Now it should work (otherwise reboot or replug usbhid device)

Installing Teamspeak3 Server

Download tarball from www.teamspeak.com Untar to /home/teamspeak Add user/group teamspeak Run the init as teamspeak sudo su - teamspeak ./ts3server_minimal_runscript.sh createinifile=1 Configure ts3server.ini Make sure you can start it (then ^C to kill it) ./ts3server_startscript.sh start Create /etc/systemd/system/teamspeak.service [Unit] Description=Teamspeak server After=network.target [Service] User=teamspeak Group=teamspeak Type=forking PIDFile=/home/teamspeak/ts3server.pid ExecStart=/home/teamspeak/ts3server_startscript.sh start [Install] WantedBy=multi-user.target Test it through systemctl and then enable it sudo systemctl start teamspeak.service sudo systemctl enable teamspeak.service

March 21, 2015  |  🏷️Systemd

Git Cheatsheet

Things about git which I sometimes forget Recovering from a spaghetti branch Different ways of handling when you’ve branched from a branch, which later gets merged to a branch which you also want to merge to. rebase –onto You have created CURRENTBRANCH from OLDBRANCH which later got merged into NEWBRANCH. Now you want to clean up OLDBRANCH branch to reflect the real changes based on NEWBRANCH before a pull request. ...

March 19, 2015  |  🏷️Git

Archlinux: Installing from AUR

Links Official Guide Before you start Make sure you’ve configured /etc/makepkg.conf Download the package’s PKGBUILD-file from AUR (under View PKGBUILD under Package Actions on the right side) Making Put the PKGBUILD-file in a separate folder, maybe $HOME/tmp cd to the folder run makepkg -s a. Does it want you to install any application? Press yes b. Does it need some other package from AUR? Install that first You should now have a pkg.tar.xz-file. Run pacman -U that.file.name.pkg.tar.xz

Crazy Chameleons Game

About During the christmas of 2014 I was over at my in-laws’ place. There I found this game, where you have 9 tiles, organized in a 3x3 grid, and the goal was to swap or rotate the witches so that all witches have the correct color and orientation. At first I thought it would be really easy, but I never managed to solve it on my own, instead I wrote a small program brute-forcing the solution. ...