How - given USER ID as parameter, find out what is his name? The problem is to write a Bash script, and somehow use etc/passwd file.
Bash Script - get User Name given UID
3.7k Views Asked by PaulW At
2
There are 2 best solutions below
0
Pedro Lobito
On
The uid is the 3rd field in /etc/passwd, based on that, you can use:
awk -v val=$1 -F ":" '$3==val{print $1}' /etc/passwd
4 ways to achieve what you need:
http://www.digitalinternals.com/unix/linux-get-username-from-uid/475/
Related Questions in BASH
- When does Bash read heredocs?
- Why `set -o pipefail` gives different output even though the pipe is not failing
- Run an external command within jq to manipulate each values of a particular key
- API key 401 error in .env.development file
- How to "Enable mobile data" on a Huawei E3372 4G USB dongle using a bash script in Windows
- ImageMagick / Bash : pipe ignored(?) when filename format variable used
- MacOS Bash-Script: while read p and echo
- Parse command line arguments and write useful usage message without additional code
- JQ JSON - Values to Array
- why variable substitution is so different?
- postbank_pdf2csv: how to setup with Cygwin in Windows?
- Custom Bash functions & custom statements - Need some advice
- unexpected operator == in square brackets when trying to use gum lib
- How to disable a bash builtin inside a docker container
- Use sed or rename find series of alphabet then replace with with the same alphabet and a dash -
Related Questions in UNIX
- Reading & Writing to the same file from terminal
- `df` command not capturing entire output in perl
- Why is it that when I pass certain directory names to `ls`, sometimes it does not list their contents?
- Detect Mouse Clicks; Terminate Program on Scroll Wheel Movement
- grep expression behaving weird (unix/mac) while reading a conf file
- Unix sub path creation and copy files
- Ignoring folders in The Silver Searcher `ag`
- struct nameidata-Linux Kernel Module
- telegraf service not able to retrieve data using the journalctl commands
- Order of options in Unix sed for editing files in-place
- Trying to echo line variable along with another variable inside a while read loop
- failed to handshake with xxx: authentication error?
- UDP socket client not able to receive data
- Invalid SCA token in unix
- How can I keep randomized UNIX timestamp in specific hour range in SQL?
Related Questions in UID
- Create a folder in Plone and set uid
- Obtaining Client UID for login
- Bash Script - get User Name given UID
- How to get owner:group name of a file/directory with perl?
- what does it mean when uid equals to zero for Android system
- What is the GID/UID of the system on Android?
- firebase : unable to user authorization data is undefined, but uid is retrieving correctly Node.js
- generate a 5 char unqiue key for an iphone app
- Persistent UIDs for a mailbox
- sudo: effective uid is not 0, is sudo installed setuid root?
- setuid bit on, yet program can't open a superuser file
- How do I create a unique identifier that does not contain numbers?
- Making secure authentications in firebase
- Which is the data type to use for storing a firebase uid in postgresql
- Error while accessing current uid of firebase user in flutter
Related Questions in ETCPASSWD
- Bash Script - get User Name given UID
- I need to grep for an exact word in password file but I get two responses back
- Modifying correct group name and ID within /etc/group file
- How do I delete users that have uid 0?
- How do I extract the biggest UID value from /etc/passwd?
- How to read awk from one file and compare it with awk from another file
- ./script.sh: line 8: /etc/passwd: Permission denied
- Separate first name with middle name and last name with strtok_r
- Unix [Homework]: Get a list of /home/user/ directories in /etc/passwd
- If conditional using Awk to search for exact Bash variable string
- vulnerability check on Ubuntu 18.04 Bash Shell Script
- Open a terminal ends in an infinte loop
- Getting length of single string in two-dimensional dynamic allocated array of strings
- How do I find all "last names" which are shared by 5-10 users in an /etc/passwd file?
- Parsing /etc/passwd with regex_*, unstandard behavior C++
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Try this:
grep ":$1:" /etc/passwd | cut -f 1 -d ":"This greps for the UID within /etc/passwd.
Alternatively you can use the getent command:
getent passwd "$1" | cut -f 1 -d ":"It then does a cut and takes the first field, delimited by a colon. This first field is the username.
You might find the SS64 pages for cut and grep useful: http://ss64.com/bash/grep.html http://ss64.com/bash/cut.html