https://www.geeksforgeeks.org/id-command-in-linux-with-examples/
Wednesday, August 4, 2021
Linux: List of all Users and All Groups
- less /etc/passwd
- getent passwd
- getent passwd | cut -d: -f1
- less /etc/group
- getent group
- getent group | cut -d: -f1
Linux : /etc/passwd vs /usr/bin/passwd (passwd Utility) vs /etc/shadow vs /etc/group
https://stackoverflow.com/questions/50904342/etc-passwd-vs-usr-bin-passwd
The two files are different, and serve different purpose.
/etc/passwdis user database (fun fact: contrary to its name, it doesn't store passwords - those are stored (possibly in hashed form) in/etc/shadow) - seeman 5 passwd(i.e. passwd(5)),man 5 shadow(i.e. shadow(5)).
/usr/bin/passwdis utility that is supposed to modify user records stored in/etc/passwdand/etc/shadow. Seeman 1 passwd(i.e. passwd(1))
Linux : File Hierarchy Standard : /bin vs /usr/bin vs usr/local/bin
https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
https://unix.stackexchange.com/questions/5915/difference-between-bin-and-usr-bin
/sbin - Binaries needed for booting, low-level system repair, or maintenance (run level 1 or S)
/bin - Binaries needed for normal/standard system functioning at any run level.
/usr/bin - Application/distribution binaries meant to be accessed by locally logged in users
/usr/sbin - Application/distribution binaries that support or configure stuff in /sbin.
/usr/share/bin - Application/distribution binaries or scripts meant to be accesed via the web, i.e. Apache web applications
*local* - Binaries not part of a distribution; locally compiled or manually installed. There's usually never a /local/bin but always a /usr/local/bin and /usr/local/share/bin.
/bin: For binaries usable before the/usrpartition is mounted. This is used for trivial binaries used in the very early boot stage or ones that you need to have available in booting single-user mode. Think of binaries likecat,ls, etc./sbin: Same, but for binaries with superuser (root) privileges required./usr/bin: Same as first, but for general system-wide binaries./usr/sbin: Same as above, but for binaries with superuser (root) privileges required.
Linux : PAM : Pluggable Authentication Module
https://www.tecmint.com/use-pam_tally2-to-lock-and-unlock-ssh-failed-login-attempts/
sudo pam_tally2 -u 703247699 --reset
/etc/pam.d
/etc/security
---------------------------------------------------------
Login Failures Latest failure From
userID123 0
Linux - Special Dollar Sign Variables - $0, S1
https://stackoverflow.com/questions/5163144/what-are-the-special-dollar-sign-shell-variables
$1,$2,$3, ... are the positional parameters."$@"is an array-like construct of all positional parameters,{$1, $2, $3 ...}."$*"is the IFS expansion of all positional parameters,$1 $2 $3 ....$#is the number of positional parameters.$-current options set for the shell.$$pid of the current shell (not subshell).$_most recent parameter (or the abs path of the command to start the current shell immediately after startup).$IFSis the (input) field separator.$?is the most recent foreground pipeline exit status.$!is the PID of the most recent background command.$0is the name of the shell or shell script.
Most of the above can be found under Special Parameters in the Bash Reference Manual. There are all the environment variables set by the shell.
For a comprehensive index, please see the Reference Manual Variable Index.
Tuesday, August 3, 2021
Linux : "sudo su userid" vs sudo "su userid -" ? What does dash mean - Login Shell vs Non Login Shell
sudo suinteractive non-login shell.sudo su -It is a login shell
To explain this you need to know what the programs do:
su- The commandsuis used to switch to another user (s witch u ser), but you can also switch to the root user by invoking the command with no parameter.suasks you for the password of the user to switch, after typing the password you switched to the user's environment.sudo-sudois meant to run a single command with root privileges. But unlikesuit prompts you for the password of the current user. This user must be in the sudoers file (or a group that is in the sudoers file). By default, Ubuntu "remembers" your password for 15 minutes, so that you don't have to type your password every time.bash- A text-interface to interact with the computer. It's important to understand the difference between login, non-login, interactive and non-interactive shells:
Types of shells:
- login shell: A login shell logs you into the system as a specified user, necessary for this is a username and password. When you hit ctrl+alt+F1 to login into a virtual terminal you get after successful login a login shell.
- non-login shell: A shell that is executed without logging in, necessary for this is a currently logged-in user. When you open a graphic terminal in gnome it is a non-login shell.
- interactive shell: A shell (login or non-login) where you can interactively type or interrupt commands. For example a gnome terminal.
- non-interactive shell: A (sub)shell that is probably run from an automated process. You will see neither input nor output.
So the cases are:
sudo suCallssudowith the commandsu. Bash is called as interactive non-login shell. So bash only executes.bashrc. You can see that after switching to root you are still in the same directory:user@host:~$ sudo su root@host:/home/user#sudo su -This time it is a login shell, so/etc/profile,.profileand.bashrcare executed and you will find yourself in root's home directory with root's environment.sudo -iIt is nearly the same assudo su -The -i (simulate initial login) option runs the shell specified by the password database entry of the target user as a login shell. This means that login-specific resource files such as.profile,.bashrcor.loginwill be read and executed by the shell.sudo /bin/bashThis means that you callsudowith the command/bin/bash./bin/bashis started as non-login shell so all the dot-files are not executed, but bash itself reads.bashrcof the calling user. Your environment stays the same. Your home will not be root's home. So you are root, but in the environment of the calling user.sudo -sreads the$SHELLvariable and executes the content. If$SHELLcontains/bin/bashit invokessudo /bin/bash(see above).
Azure - Pipeline - Add Approver for Stage
https://learn.microsoft.com/en-us/azure/devops/pipelines/process/approvals?view=azure-devops&tabs=check-pass
-
https://www.baeldung.com/spring-properties-file-outside-jar https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-featu...
-
getent command in Linux with examples getent is a Linux command that helps the user to get the entries in a number of important text files ...
-
The decision was made to block such external HTTP repositories by default https://stackoverflow.com/questions/66980047/maven-build-failure-d...