Sencha Touch erkennt Android 5 Tablet nicht als Profil

Im touch-Framework-Ordner die env/OS.js anpassen:

if (!osEnv.is.Android && !osEnv.is.iOS && !osEnv.is.WindowsPhone && /Windows|Linux|MacOS/.test(osName)) {
            deviceType = 'Desktop';

            // always set it to false when you are on a desktop not using Ripple Emulation
            Ext.browser.is.WebView = Ext.browser.is.Ripple ? true : false;
        }
        else if (osEnv.is.iPad || osEnv.is.RIMTablet || osEnv.is.Android3 || Ext.browser.is.Silk || (osEnv.is.Android4 && userAgent.search(/mobile/i) == -1)) {
            deviceType = 'Tablet';
        }
        else {
            deviceType = 'Phone';
        }

Quelle

Cordova Dateien aller Verzeichnisse anzeigen lassen

var localURLs    = [
    cordova.file.dataDirectory,
    cordova.file.documentsDirectory,
    cordova.file.externalApplicationStorageDirectory,
    cordova.file.externalCacheDirectory,
    cordova.file.externalRootDirectory,
    cordova.file.externalDataDirectory,
    cordova.file.sharedDirectory,
    cordova.file.syncedDataDirectory
];
var index = 0;
var i;
var statusStr = "";
var addFileEntry = function (entry) {
    var dirReader = entry.createReader();
    dirReader.readEntries(
        function (entries) {
            var fileStr = "";
            var i;
            for (i = 0; i < entries.length; i++) {
                if (entries[i].isDirectory === true) {
                    // Recursive -- call back into this subdirectory
                    addFileEntry(entries[i]);
                } else {
                   fileStr += (entries[i].fullPath + "
"); // << replace with something useful index++; } } // add this directory's contents to the status statusStr += fileStr; // display the file list in #results if (statusStr.length > 0) { $("#results").html(statusStr); } }, function (error) { console.log("readEntries error: " + error.code); statusStr += "

readEntries error: " + error.code + "

"; } ); }; var addError = function (error) { console.log("getDirectory error: " + error.code); statusStr += "

getDirectory error: " + error.code + ", " + error.message + "

"; }; for (i = 0; i < localURLs.length; i++) { if (localURLs[i] === null || localURLs[i].length === 0) { continue; // skip blank / non-existent paths for this platform } window.resolveLocalFileSystemURL(localURLs[i], addFileEntry, addError); }

Quelle

Auf dem Mac Homebrew neu installieren

Erst den alten Stand entfernen

$ cd `brew --prefix`
$ rm -rf Cellar
$ brew prune
$ rm -rf Library .git .gitignore bin/brew README.md share/man/man1/brew
$ rm -rf ~/Library/Caches/Homebrew

Dann Homebrew installieren

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Quelle

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