chrooted ssh Nutzer anlegen

Chroot-Verzeichnis mit allen Unterverzeichnissen anlegen:

mkdir /home/chroot/
mkdir /home/chroot/home/
cd /home/chroot
mkdir etc
mkdir bin
mkdir lib
mkdir usr
mkdir usr/bin
mkdir dev
mknod dev/null c 1 3
mknod dev/zero c 1 5

Alle nötigen Befehle für den Nutzer anlegen

APPS="/bin/bash /bin/ls /bin/mkdir /bin/mv /bin/pwd /bin/rm /usr/bin/id /usr/bin/ssh /bin/ping /usr/bin/dircolors"
for prog in $APPS;  do
        cp $prog ./$prog

        # obtain a list of related libraries
        ldd $prog > /dev/null
        if [ "$?" = 0 ] ; then
                LIBS=`ldd $prog | awk '{ print $3 }'`
                for l in $LIBS; do
                        mkdir ./`dirname $l` > /dev/null 2>&1
                        cp $l ./$l
                done
        fi
done

Passwd für Nutzer anlegen:

cp /lib/libnss_compat.so.2 /lib/libnsl.so.1 /lib/libnss_files.so.2 ./lib/
 echo '#!/bin/bash' > usr/bin/groups
 echo "id -Gn" >> usr/bin/groups
 touch etc/passwd
 grep /etc/passwd -e "^root" > etc/passwd

Gruppenrechte anlegen:

grep /etc/group -e "^root" -e "^users" > etc/group

Chroot-Nutzer anlegen:

useradd -s /bin/bash -m -d /home/chroot/./home/testuser -c "testuser" -g users testuser

Passwort für Nutzer hinterlegen:

passwd testuser

Angelegten Nutzer in chroot-Umgebung kopieren:

grep /etc/passwd -e "^testuser" >> /home/chroot/etc/passwd

Fertig!

Quelle

Umstellen auf Key-Authentifizierung

Als der User, über welchen man sich später anmelden möchte einloggen.
Dann mit

ssh-keygen

jeweils einen public und private Key erzeugen.

Den privaten Key id_rsa runterladen.

Den public key mit

mv id_rsa.pub authorized_keys

in die authorisierten Schlüssel aufnehmen.

Aus Sicherheitsgründen die Rechte des Publickeys anpassen mit

chmod 0700 ~/.ssh -R

Dann den Login mit dem private key testen

ssh -i id_rsa xxx.xxx.xxx.xxx

Wenn alles funktioniert die Methode für Passwortauthentication deaktivieren in der /etc/ssh/sshd_config

PasswordAuthentication no

Jetzt noch den SSH-Service neustarten

service ssh restart

Voila!

Quelle

Propel ORM Version 1.6 unter Yosemite installieren

  1. Propel Version 1.6 runterladen von https://github.com/propelorm/Propel/tree/1.6
  2. Phing, welches zum Build benötigt wird installieren
    sudo pear config-set preferred_state stable # oder beta, alpha, devel
    
    sudo pear channel-discover pear.phing.info
    
    sudo pear install phing/phing
    
    find / -name "phing"
    
    echo "export PATH=/usr/local/Cellar/php55/5.5.10/bin/:$PATH" >> ~/.bash_profile
  3. Dateistruktur:Bildschirmfoto 2014-11-27 um 20.51.53
  4. runtime-conf.xml
    
    
    
    
    	
    		
    			
    					
    					mysql
    					
    					
    						mysql:host=127.0.0.1;dbname=antk
    						
    						[USER]
    						[PASSWORD]
    						
    							
    						
    						
    						
    							
    						
    						
    						
    							utf8
    							
    							
    							
    							
    								SET NAMES utf8 COLLATE utf8_unicode_ci
    								SET CHARACTER SET utf8
    							
    							
    						
    					.
    				
    		
    	
    
  5. schema.xml
    
    
    
    	
    
    	
    		
    		
    		
    		
    		
    		
    
    		
    			
    		
    	
    ...
  6. Models, SQL und Conf generieren aus dem Verzeichnis, wo die schema.xml liegt
    sudo ../generator/bin/propel-gen om
    sudo ../generator/bin/propel-gen sql
    sudo ../generator/bin/propel-gen convert-conf

Raspberry Pi MusicBox – Fehlende Playlists

Nachdem man bei Spotify neue Playlists hinzugefügt hatte, waren nach einem Neustart der MusicBox sämtliche Playlists verschwunden.
Workaround ist, in der

vi /usr/local/lib/python2.7/dist-packages/mopidy_spotify/session_manager.py

folgende Zeilen auszukommentieren:

def refresh_playlists(self):
    """Refresh the playlists in the backend with data from Spotify"""
    # if not self._initial_data_receive_completed:
    #     logger.debug('Still getting data; skipped refresh of playlists')
    #     return

Quelle: Github Mopidy
Quelle: Mopidy Forum

Raspberry in mehreren WLANs betreiben

Zum einen muss die Datei für die Netzwerkinterfaces angepasst werden:

sudo nano /etc/network/interfaces

Der Inhalt sollte folgendermaßen aussehen

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -Dwext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B

Außerdem muss die Konfiguration für die Wlans hinterlegt werden

nano /etc/wpa_supplicant/wpa_supplicant.conf

mit folgenden Inhalt

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid=”SSID 1″
scan_ssid=1
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk=”Die Verschlüsselung Key für dieses Netzwerk geht hier”
}

network={
ssid=”SSID 2″
scan_ssid=1
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk=”Der Schlüssel für dieses Netzwerk geht hier”
}

Ein Refresh erfolgt über

ifdown wlan0
ifup wlan0

Ob die neue Konfig greift sieht man mit

ifconfig

Quelle