Linux

How to add a static IP in Ubuntu 18x

First things first, as sudo run ifconfig and get the ethernet adapter name.  Some are eth0, eth1, ect ect.

Then add a file in /etc/netplan and call it 01-netcfg.yaml

(Make it look something like this:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
 version: 2
 renderer: networkd
 ethernets:
   ens33:
     dhcp4: no
     dhcp6: no
     addresses: [192.168.1.2/24]
     gateway4: 192.168.1.1
     nameservers:
       addresses: [8.8.8.8,8.8.4.4]

Save that file and then type netplan apply.

That will do it!

How to log all ssh commands on a linux box

For BASH shells, edit the system-wide BASH runtime config file:

sudo -e /etc/bash.bashrc

Append to the end of that file:

export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'

Set up logging for “local6” with a new file:

sudo -e /etc/rsyslog.d/bash.conf

And the contents…

local6.*    /var/log/commands.log

Restart rsyslog:

sudo service rsyslog restart

Log out. Log in. Voila!

But I forgot about log rotation:

sudo -e /etc/logrotate.d/rsyslog

There is a list of log files to rotate the same way…

/var/log/mail.warn
/var/log/mail.err
[...]
/var/log/message

So add the new bash-commands log file in that list:

/var/log/commands.log

How to log console commands in Ubuntu

If you need to see what and who is typing what in your linux box this is the procedure to make it happen.

Start by editing this.

sudo -e /etc/bash.bashrc

Append to the end of that file:
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'

Set up logging for “local6” with a new file:

sudo -e /etc/rsyslog.d/bash.conf

And the contents…

local6.*    /var/log/commands.log

Restart rsyslog:

sudo service rsyslog restart

Log out. Log in. Voila!

But I forgot about log rotation:

sudo -e /etc/logrotate.d/rsyslog

There is a list of log files to rotate the same way…

/var/log/mail.warn
/var/log/mail.err
[...]
/var/log/message

So add the new bash-commands log file in that list:

/var/log/commands.log

How to Install VirtualBox on Ubuntu

With your favorite text editor add one of these to your /etc/apt/sources.list

nano /etc/apt/sources.list or vi /etc/apt/sources.list

For Ubuntu 16.04 ("Xenial")
deb http://download.virtualbox.org/virtualbox/debian xenial contrib

For Ubuntu 15.10 ("Wily")
deb http://download.virtualbox.org/virtualbox/debian wily contrib

For Ubuntu 14.04 ("Trusty")
deb http://download.virtualbox.org/virtualbox/debian trusty contrib

For Ubuntu 12.04 LTS ("Precise Pangolin")
deb http://download.virtualbox.org/virtualbox/debian precise contrib

For Debian 8 ("Jessie") 
deb http://download.virtualbox.org/virtualbox/debian jessie contrib

For Debian 7 ("Wheezy")
deb http://download.virtualbox.org/virtualbox/debian wheezy contrib

Now add the public keys for Oracle:

$ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
$ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

 

Now install VirtualBox

$ sudo apt-get update
$ sudo apt-get install virtualbox-5.1

 

Now run VirtualBox

$ virtualbox

Ubuntu How To Install Samba (File Sharing) From The Command Line

 

  • Install Samba
    • sudo apt-get update
      sudo apt-get install samba
  • Set a password for your user in Samba
    • sudo smbpasswd -a <user_name>
      • Note: Samba uses a separate set of passwords than the standard Linux system accounts (stored in /etc/samba/smbpasswd), so you'll need to create a Samba password for yourself. This tutorial implies that you will use your own user and it does not cover situations involving other users passwords, groups, etc...

        Tip1: Use the password for your own user to facilitate.

        Tip2: Remember that your user must have permission to write and edit the folder you want to share.
        Eg.:
        sudo chown <user_name> /var/opt/blah/blahblah
        sudo chown :<user_name> /var/opt/blah/blahblah

        Tip3: If you're using another user than your own, it needs to exist in your system beforehand, you can create it without a shell access using the following command :
        sudo useradd USERNAME --shell /bin/false
        
        You can also hide the user on the login screen by adjusting lightdm's configuration, in /etc/lightdm/users.conf add the newly created user to the line :
        hidden-users=

  • Create a directory to be shared
    mkdir /home/<user_name>/<folder_name>
  • Make a safe backup copy of the original smb.conf file to your home folder, in case you make an error
    sudo cp /etc/samba/smb.conf ~
  • Edit the file “/etc/samba/smb.conf”
    sudo nano /etc/samba/smb.conf
    • Once "smb.conf" has loaded, add this to the very end of the file:
      
      [<folder_name>]
      path = /home/<user_name>/<folder_name>
      valid users = <user_name>
      read only = no

      Tip: There Should be in the spaces between the lines, and note que also there should be a single space both before and after each of the equal signs.

  • Restart the samba:
    sudo service smbd restart
  • Once Samba has restarted, use this command to check your smb.conf for any syntax errors
    testparm
  • To access your network share
          sudo apt-get install smbclient
          # List all shares:
          smbclient -L //<HOST_IP_OR_NAME>/<folder_name> -U <user>
          # connect:
          smbclient //<HOST_IP_OR_NAME>/<folder_name> -U <user>

    To access your network share use your username (<user_name>) and password through the path “smb://<HOST_IP_OR_NAME>/<folder_name>/” (Linux users) or “\\<HOST_IP_OR_NAME>\<folder_name>\” (Windows users). Note that “<folder_name>” value is passed in “[<folder_name>]”, in other words, the share name you entered in “/etc/samba/smb.conf”.

    • Note: The default user group of samba is "WORKGROUP".