Here’s how to run a script with another user privilege. You can run this user with root.
su -c "/usr/bin/executable" -s /bin/sh username
Where the “username” is the username whom privilege you want to execute
Free and Open Source blogger with an attitude
Would it be nice to be able to receive notification from your Linux system in Telegram?
I’ve come up with a rudimentary bash script which lets you integrate the telegram-cli into your own script which is useful for sending messages or notification within automated process to your Telegram account.
The bash script is very useful when you want to send notification to your Telegram account. Example usage: notifying you instantly whenever a backup has been completed or whenever somebody logged into your system or if there’s a brute-force attempt to log into your SSH. Basically anything that you can imagine!
The first step is to install the telegram-cli client on your Linux system. You may choose to:
IMPORTANT: Please read on how to initialize and sign-in the telegram-cli and key in the required telegram “CODE” in your phone.
You may copy this telegram bash script and chmod it to be executed from command line (up to you).
Download the script at: https://blog.mypapit.net/upload/files/send-telegram.sh.txt
#!/bin/bash ###### ### # telegram-cli bash script r0.1 # change 'to' to your own Telegram account name # by = Mohammad Hafiz bin Ismail [mypapit@gmail.com] # url= https://blog.mypapit.net/ ### ###### ## Replace 'to' with your account name to=Replace_this_with_your-Telegram_account_name ## function show_usage { echo "Usage $0 [message]" exit } if [ $# -lt 1 ] then show_usage fi telegram-cli -W -e "msg $to $1"
IMPORTANT: Do not forget to “chmod a+x” the “send-telegram.sh” script.
IMPORTANT: Change the “to” variable in the script to match your own Telegram username.
Using the send-telegram.sh is easy!
Once you’ve logged in and initialized your telegram-cli application. You only need to execute the “send-telegram.sh” to send instant messages to your Telegram account!
Just do this
wget -c https://blog.mypapit.net/upload/files/send-telegram.sh.txt cp send-telegram.sh.txt /usr/local/bin/send-telegram.sh
Then chmod it, to make it executable,
sudo chmod a+x /usr/local/bin/send-telegram.sh
IMPORTANT: Change the “to” variable in the send-telegram.sh script to match your own Telegram username.
sudo nano /usr/local/bin/send-telegram.sh
To test your telegram script, just make sure you’ve logged into Telegram and telegram-cli, and have entered the correct activation “CODE”. Read Step 1, if you are unsure.
Then you may try out the send-telegram.sh script
send-telegram.sh "this is my message"
To send telegram message with timestamp type:
send-telegram.sh "`date -I` : this is a message with timestamp"
Use your imagination! You can integrate this script in crontab, or put it inside another another bash script or conditional operation, or even launch it from a web application, the potential is limitless.
Happy trying!
You can actually send Telegram message from command-line interface / bash in Linux using an unofficial “telegram-cli“ client by Vitali Valtman (vysheng)
But first, before sending telegram messages, you need to build the client. You may start by installing its dependencies
sudo git apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make
Then, you can get the latest telegram-cli client from vysheng GitHub
git clone --recursive https://github.com/vysheng/tg.git && cd tg
Afterwards, you may configure ‘telegram-cli’ and compile it
./configure make
Alternative Download
Alternatively, you can download Telegram source code from my server:
After finished compiling telegram-cli, you may try and start using telegram.
bin/telegram-cli -k tg-server.pub
For first time use, you may need to key in the authorization code, the code will be sent to your mobile device to allow ‘telegram-cli’ to log as your username.
bin/telegram-cli -u -k tg-server.pub
In my experience you may need to replace the +[country_code] phone-number with ’00’. so if your phone number includes country code is +60123456789, then you must replace it with 0060123456789 (however, your mileage may vary.
bin/telegram-cli -u 00123456789 -k tg-server.pub
Once the authorization CODE has been entered, you are free to use telegram. Telegram use the concept of ‘peer’ (contact) to send messages instead of phone number. So in order to get a list of your peer, you need to run “contact_list” command.
> contact_list John_T_Doe Jane_doe_2 Warrick_Brown Mark_Nelson
To send message to a peer/contact (for example to Warrick Brown), just type
> msg Warrick_Brown "wassup, dude? want to hang out today?"
To quit, you can type
#telegram-client > safe_quit
NOTE: IF YOU FAIL TO COMPILE TELEGRAM FROM GITHUB
If you find it difficult or failed to compile telegram-cli from GitHub, then you can download this telegram-cli source code from my server which is tested to compile under Raspbian Jessie, Debian Jessie, Ubuntu 14.04 LTS and Ubuntu 16.04 LTS.
Alternative Telegram source code:
iotop is a small and handy tool to monitor processes that hogs I/O resources. iotop outputs is similar to ‘top’ except it lists the hard disk read/write activity as well as swap writes.
You can use the left and write key to sort the heading according to your preference and the R key can be used to reverse the sort. The ‘O’ key is used when you only wants it to display processes that are currently utilizing the disk I/O. While the ‘P’ key can be used to display accumulated IO disk read/write for all the processes (which can be sorted with the arrow keys).
sudo is probably the most used command in Ubuntu.
In this post, I will show you how to make ‘sudo’ display funny and humorous error messages in Ubuntu Linux.
To do that, you would only need to edit the /etc/sudoers :
sudo nano /etc/sudoers
Then find the line that starts with Defaults env_reset, add insults at the end of the line so it would look like this:
# See the man page for details on how to write a sudoers file
#
Defaults env_reset, insults
Save the file, and you are done! You can test the results by running the sudo command and entering the wrong password.
Screenshot Demo
Guake is a fancy Quake-like terminal which lets you access it by using a hotkey (user-customizable). Unobtrusive, Guake slides down from the top of the screen, and can be used while running other desktop applications, providing you with a quick access to the console.
Guake is available from Debian, Ubuntu and Fedora repository or can be downloaded from Guake’s Official Website