Locking down SFTP

This is a small recipe to increase the security around a SFTP interface. In the /etc/ssh/sshd_config file include the following settings: Subsystem sftp internal-sftp This configures the sftp subsystem to use the internal sftp implementation. This is because inside the chroot, we usually will not have the normal ...

Python GUI

After looking a multiple options of GUI programming under python I eventually settled for tkinter. The main reason was that tkinter is very ubiquitous and initially though the learning curve wuld have shorter as I was very used to GUI programming using TCL/TK. Turned out that what I known TCL/TK did not translate ...

cisco bridging

This article is here as a reminder. So, for testing, I needed to configure a Cisco CSR1000V virtual router as a bridge. So I used a version 16 Cisco IOS XE image. To make my life easier I used the "wizard" that runs the first time to automatically configure bridgning. Ironically, this created an invalid ...

libnss-db HOWTO

This mini-howto illustrate how to use libnss-db on a Ubuntu Linux system. Other installations should work to after adjusting package names and directory paths. I myself use as a "serverless" lightweight user directory. Essentially, I mount the db directory and the home directory from an NFS server. Package installation ...

Alpine Linux Custom Interface names

This article is a copy of this article and shows how to rename/change name of a network interface. Alpine Linux uses busybox mdev to manage devices in /dev. mdev reads /etc/mdev.conf and according to mdev documentation one can define a command to be executed per device definition. The command which is going to be used to change network interface name is nameif. ...

Migrated to NacoWiki Albatros

This edition marks the migration of my Blog from Pelican to NacoWiki Albatros. This is a mostly transparent change. I wrote Albatros specifically to migrate this web site from Pelican to a php based markdown implementation. As such, it uses a slightly modified version of the Pelican theme. ...

Local Startup

This is a method to control start-up of applications in a Linux Desktop session that are run by a local default configuration, but can also be overriden by the user. This is unlike the /etc/xdg/autostart which is mostly under the control of the distro packager. Aslo unlike the /etc/X11/profile.d directory, this runs inside the Desktop Session. /etc/X11/profile.d gets started before the Desktop session is available. ...

Pulse Audio control in python

I have been using a shell script to toggle pulse audio sinks for some time. It worked well enough for switching output among several profiles on a single audio card. I recently upgraded my set-up to new hardware. This hardware for some reason, reported the analog stereo output and the digital HDMI output as different sound cards. So my patoggle script did not work well enough anymore. Since parsing the output of the pacmd in shell script was becoming a pain, I decided to re-write ...

Global hotkeys

To make it easier to switch desktop environment I am using a Desktop Environment independant hot keys configuration using xbindkeys. This lets me use the same keybindings on different Window managers and Desktop Environments. This code can be found in github. Included are the follwoing: ...

XPrinterMgr

This is a small utility to manage a local printer(s) in a home office setting. It will show the state of the printer: accepting or rejecting jobs enable or disabled printing ...