De NAS-apparaten van Synology draaien op een Linux versie die veel gebruikelijke Linux-commando’s mist. Een enthousiaste ontwikkelaarsgemeenschap dicht veel van de gaten, maar voordat je hun hulpmiddelen op een zinvolle manier kunt gebruiken moet je de Synologyconfiguratie nog wat aanpassen. In deze workshop vertellen we je hoe extra Linux tools kan installeren en gebruiken op je Synology NAS.
Krijg gratis info over alles wat met netwerken te maken heeft, schrijf je in voor de nieuwsbrief
De ontbrekende hulpmiddelen in het DSM-platform van Synology
Af en toe kan het voorkomen dat je dingen wilt controleren of gewoon wilt weten hoe het Synology besturingssysteem Disk Station Manager (DSM) georganiseerd is en daarvoor overschakelt naar de commandline. Linux-gebruikers kunnen daar makkelijk mee overweg, maar Synology heeft tal van gangbare hulpmiddelen weggerationaliseerd. Zo ontbreken bijvoorbeeld less (paginagewijze weergave van tekstbestanden), lsof (list open files, monitoring van open bestanden), nano (eenvoudige teksteditor), tmux(terminal-multiplexer) en whois(domeininformatie).
Diverse pakketrepository’s voor het DSM-platform
Niettemin bieden verscheidene actieve ontwikkelaarsgemeenschappen diverse pakketrepository’s voor het DSM-platform aan, die een aantal ontbrekende tools bevatten. De NAS-fabrikant helpt externe ontwikkelaars met een developers-guide en publiceert de voor de verschillende modellen benodigde toolchains en kernelbronnen. Een goed overzicht van repository’s wordt gegeven door het Duitstalige project SynologyWiki.
Van de repository’s hebben bijvoorbeeld Entware en Optware enige bekendheid verworven, maar het installeren en beheren daarvan is enigszins gecompliceerd, zodat veel belangstellenden die weg liever niet bewandelen. SynoCommunity is handiger. Dat project bestaat al meer dan tien jaar en heeft steeds een levendige activiteit gekend. De ontwikkelaars vertrouwen op hun eigen opensourceframework spksrc en een op GitHub gedocumenteerde toolchain om opensourceprogramma’s te compileren voor het Synology-besturingssysteem DSM.
Repository van SynoCommunity
Op het moment van schrijven bevat de repository van SynoCommunity 56 pakketten, die allemaal met een muisklik geïnstalleerd kunnen worden. Dit gebeurd gewoon via het pakketcentrum van de webinterface. Het grappige is dat de geïnstalleerde pakketten ook kunnen worden verwijderd via het Package Center. Typische Linux-commando’s zijn samengevat in de SynoCli-tools.
Hoewel het in het algemeen klopt dat niemand de veiligheid van programma’s van derden kan garanderen, en de software in principe veiligheidslekken en malware kan bevatten, zijn de SynoCli-tools alleen bedoeld voor monitoringdoeleinden en brengen ze geen extra veiligheidsrisico’s met zich mee. Bovendien zijn ze alleen toegankelijk via de commandline, zodat ongewenste derden er geen toegang toe hebben en het risico dus beheersbaar lijkt. Er blijft echter een restrisico bestaan, zodat je de ontwikkelaars ervan volledig moet vertrouwen.
In principe zou je de NAS-apparaten van Synology onversleuteld kunnen benaderen via Telnet. Dat is echter in strijd met de gangbare veiligheidseisen, zodat je terug moet vallen op de eveneens beschikbare, versleutelde SSH-toegang. Daartoe wordt authenticatie met behulp van cryptografische sleutels aanbevolen. Het bespaart het invoeren van een wachtwoord en is tegelijkertijd veiliger. In tegenstelling tot sommige andere NAS- en routerfabrikanten biedt Synology het importeren van sleutels niet aan, dus moet je dat handmatig doen.
Geen home-directory’s voor gebruikers in Synology NAS systemen
Het correct instellen van SSH-toegang is nog gecompliceerder dan verwacht omdat Synology in de standaardinstelling geen home-directory’s voor gebruikers aanmaakt. Die wil je echter wel hebben, zodat iedere geïnteresseerde gebruiker zijn sleutels kan opslaan in de gebruikelijke privémap ~/.ssh.
De home-directory toevoegen aan de Synology NAS
Het toevoegen van de home-directy kan eenvoudig via de webinterface:
- Open het Configuratiescherm
- Klik vervolgens op ‘Gebruiker en groep’
- Klik op het tabblad Geavanceerd
- Klik vervolgens op ‘Gebruiker basismap’
- Vink het vakje ‘Gebruiker basismapservice inschakelen’ aan
- Selecteer het doelvolume
- Klik als laatste op toepassen
Als het goed is, is de SSH-service ingeschakeld nu. Mocht dat niet het geval zijn, onderneem dan de volgende stappen:
- Open Configuratiescherm
- Ga naar Terminal en SNMP
- Zet vervolgens ”SSH-service inschakelen” aan
Sleutel genereren voor je Synology NAS
Om de openbare sleutel op de NAS te krijgen, open je eerst een lokale terminal op de Linux- of Unix-pc van waaruit je via SSH toegang tot de NAS wilt. Als je nog geen sleutel hebt, maak er dan een aan en kopieer die naar het klembord. Met het volgende commando genereer je eerst een sleutel volgens de moderne elliptic-curve-methode. Die methode genereert kortere, maar toch veiligere sleutels dan de lange gebruikelijke RSA-methode. Geef in plaats van cttest-synology hieronder een naam op waaraan je de herkomst van de sleutel makkelijk kunt herkennen:
ssh-keygen -t ed25519 -C “cttest-synology”
cat ~/.ssh/id_ed25519.pub
Kopieer de volledige outputregel van ssh-ed25519 tot en met de sleutelnaam (in het voorbeeld cttest-synology) naar het klembord. Maak via SSH verbinding met de NAS:
In het bovenstaande voorbeeld heet de gebruiker die op de NAS is ingesteld ct en is de NAS op ctnas.local bereikbaar – je kunt daar ook het ip-adres voor gebruiken. Na het inloggen komt de gebruiker ct terecht in de directory /var/services/homes/ct. De sleutel die zojuist naar het klembord is gekopieerd moet zich op de Synology-NAS in het bestand ~/.ssh/authorised_keys gaan bevinden. Om dat te doen, kopieer je de inhoud van het klembord naar de echo-invoer, zoals in de tweede regel van dit voorbeeld:
mkdir .ssh
cho “ssh-ed25519 AAAAC3NzaC1lDZI1ENTEABCDIF6i5pFo7vPT42Sr4NwHGqqKQvUy1LeAF42oCX/PC3oL cttest-synology” >> ~/. ssh/authorized_keys
Controleer of de sleutel correct is ingevoerd:
cat ~/.ssh/authorized_keys
Als dat het geval is, zou je je vanaf dan moeten kunnen aanmelden op je NAS met het desbetreffende gebruikersaccount zonder een wachtwoord in te voeren.
Beginnen met Linux Tools installeren op je Synology NAS
Om de ontbrekende Linux tools te installeren op je Synology NAS, moet je deze stappen volgen:
- Open het Package Center in de webinterface van het NAS-apparaat
- Klik vervolgens op ‘Instellingen / Pakketbronnen’ om bronnen toe te voegen
Om SynoCommunity toe te voegen moet je dit doen:
- Voer SynoCommunity in bij het veld ”Naam”
- Voer https://packages.synocommunity.com/ in het veld ”Locatie”
- Klik vervolgens in de linkerkolom van het Package Center op Gemeenschap klikt,
Als het goed is, wordt nu de lijst met beschikbare SynoCommunity-packages geladen.
Ontbrekende shell-commando’s in SynoCli-packages
Veel van de ontbrekende shell-commando’s zijn te vinden in de SynoCli-packages. De ontwikkelaars hebben ze in vijf secties verdeeld: Disk, File, Kernel, Monitor en Network Tools. Klik op het pictogram van een van die pakketten om een korte beschrijving van de inhoud te zien.
De editor Nano is bijvoorbeeld te vinden in het pakket SynoCli File Tools, samen met enkele andere commando’s. Vóór het installeren geeft de NAS algemene informatie over het risico van het installeren van niet-geverifieerde software en biedt, indien nodig, een selectiedialoog voor het doel als er meer dan één volume op de NAS ingesteld is.
Synology Linux tools commando’s vinden
De commando’s zijn na het installeren meteen beschikbaar. Als je verbonden bent via SSH, kun je nagaan met which <commandonaam> in welke directory de commando’s zich bevinden.
De meeste staan in /usr/local/bin, zoals de terminal-multiplexer tmux:
which tmux
/usr/local/bin/tmux
Als je met de commandline af en toe naar besturingssysteembestanden zoekt en het duo locateen updatedb mist: fd is een eenvoudig en tegelijk bruikbaar alternatief, fzf in combinatie met find is een geavanceerde bestandszoeker.
Conclusie – Synology: Linux tools installeren en gebruiken op de NAS
Na het volgen van al deze stappen zou je extra Linux tools op je Synology NAS moeten hebben geïnstalleerd die je nu kunt gaan gebruiken. Wij van c’t wensen je in ieder geval veel plezier!
(Deze informatie is afkomstig uit het artikel van Dušan Živadinović en Noud van Kruysbergen uit c’t magazine 08/09 2022, p. 120-123)
Nice article Noud, thanks!
You can also use the
ssh-copy-id
command to install your public key in a remote machine’sauthorized_keys
. It does all the copying automatically, so no need for the manual copy-paste through a clipboard.