Linux User Creation: Difference between revisions
Jump to navigation
Jump to search
(15 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cat << EXE | sudo bash | cat << EXE | sudo bash | ||
SYSTEM_SYS_USERS='activemq artemis hadoop spark keycloak minikube minio wildfly' | |||
for | for SYS_USER in \${SYSTEM_SYS_USERS};do | ||
if ! id -g \${ | if ! id -g \${SYS_USER} &>/dev/null;then addgroup --quiet --system \${SYS_USER};fi | ||
if ! id -u \${ | if ! id -u \${SYS_USER} &>/dev/null;then | ||
adduser --quiet --system --ingroup \${ | adduser --quiet --system --ingroup \${SYS_USER} --home /nonexistent --shell /usr/sbin/nologin --disabled-password \${SYS_USER} | ||
fi | fi | ||
done | done | ||
cat /etc/passwd|awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h && | echo && cat /etc/passwd|awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h | ||
cat /etc/group |awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h | echo && cat /etc/group |awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h && echo | ||
EXE | EXE | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 21: | Line 21: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cat << EXE | sudo bash | cat << EXE | sudo bash | ||
mkdir -p /home/system/ | |||
for | SYSTEM_SYS_USERS='activemq artemis hadoop spark keycloak minikube minio wildfly' | ||
if ! id -g \${ | for SYS_USER in \${SYSTEM_SYS_USERS};do | ||
if ! id -u \${ | if ! id -g \${SYS_USER} &>/dev/null;then addgroup --quiet --system \${SYS_USER};fi | ||
adduser --quiet --system --ingroup \${ | if ! id -u \${SYS_USER} &>/dev/null;then | ||
adduser --quiet --system --ingroup \${SYS_USER} --home /home/system/\${SYS_USER} --shell /bin/bash --disabled-password \${SYS_USER} | |||
chage -m 99999 -M 99999 -E -1 -I -1 \${SYS_USER} | |||
mkdir /home/system/\${SYS_USER}/.ssh | |||
touch /home/system/\${SYS_USER}/.ssh/config | |||
chmod 600 /home/system/\${ | touch /home/system/\${SYS_USER}/.ssh/authorized_keys | ||
chmod 600 /home/system/\${ | |||
chmod 700 /home/system/\${ | chown -R \${SYS_USER}:\${SYS_USER} /home/system/\${SYS_USER}/ | ||
chmod 600 /home/system/\${SYS_USER}/.ssh/authorized_keys | |||
chmod 600 /home/system/\${SYS_USER}/.ssh/config | |||
chmod 700 /home/system/\${SYS_USER}/.ssh | |||
fi | fi | ||
done | done | ||
ls -alh /home/system/*/.ssh/* && | echo && ls -alh /home/system/*/.ssh/* | ||
cat /etc/passwd|awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h && | echo && cat /etc/passwd|awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h | ||
cat /etc/group |awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h | echo && cat /etc/group |awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h && echo | ||
EXE | EXE | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | ==DevOps » User== | ||
=== | ===DevOps » User » Resident=== | ||
---- | ---- | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cat << EXE | sudo bash | cat << EXE | sudo bash | ||
mkdir -p /home/ | mkdir -p /home/devops/ | ||
DEVOPS_EXT_USERS='argo.cd drone.ci tool.tech raiyan.shahed shahed.hossain' | |||
for | for EXT_USER in \${DEVOPS_EXT_USERS};do | ||
if ! id -u \${ | if ! id -u \${EXT_USER} &>/dev/null;then | ||
useradd --create-home --home-dir /home/ | useradd --create-home --home-dir /home/devops/\${EXT_USER} --shell /bin/bash \${EXT_USER} | ||
mkdir /home/ | chage -m 99999 -M 99999 -E -1 -I -1 \${EXT_USER} | ||
touch /home/ | mkdir /home/devops/\${EXT_USER}/.ssh | ||
touch /home/devops/\${EXT_USER}/.ssh/config | |||
touch /home/devops/\${EXT_USER}/.ssh/authorized_keys | |||
chown -R \${ | chown -R \${EXT_USER}:\${EXT_USER} /home/devops/\${EXT_USER}/ | ||
chmod 600 /home/ | chmod 600 /home/devops/\${EXT_USER}/.ssh/authorized_keys | ||
chmod 600 /home/ | chmod 600 /home/devops/\${EXT_USER}/.ssh/config | ||
chmod 700 /home/ | chmod 700 /home/devops/\${EXT_USER}/.ssh | ||
fi | fi | ||
done | done | ||
ls -alh /home/ | echo && ls -alh /home/devops/*/.ssh/* | ||
cat /etc/passwd|awk -F : '\$3 >= 1000 && \$3 < 65500 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h && | echo && cat /etc/passwd|awk -F : '\$3 >= 1000 && \$3 < 65500 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h | ||
cat /etc/group |awk -F : '\$3 >= 1000 && \$3 < 65500 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h | echo && cat /etc/group |awk -F : '\$3 >= 1000 && \$3 < 65500 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h && echo | ||
EXE | |||
</syntaxhighlight> | |||
===DevOps » User » EdDSA Key=== | |||
---- | |||
<syntaxhighlight lang="bash"> | |||
cat <<'EXT'| sudo bash | |||
DEVOPS_EXT_USERS='argo.cd drone.ci tool.tech raiyan.shahed shahed.hossain' | |||
for EXT_USER in ${DEVOPS_EXT_USERS};do | |||
if id -u ${EXT_USER} &>/dev/null;then | |||
cat <<'EXE'| sudo -i -u ${EXT_USER} bash | |||
if [ ! -e "${HOME}/.ssh/id_ed25519" ] && [ ! -e "${HOME}/.ssh/id_ed25519.pub" ];then | |||
ssh-keygen -t ed25519 -C "${USER}@shahed.biz" -N "" -q -f ${HOME}/.ssh/id_ed25519 | |||
fi | |||
cat ${HOME}/.ssh/id_ed25519.pub | |||
EXE | |||
fi | |||
done | |||
EXT | |||
</syntaxhighlight> | |||
===DevOps » User » Delete=== | |||
---- | |||
<syntaxhighlight lang="bash"> | |||
cat << EXE | sudo bash | |||
DEVOPS_EXT_USERS='ibrahim.sardar abdul.hakim shalina.begum' | |||
for EXT_USER in \${DEVOPS_EXT_USERS};do | |||
if id -u \${EXT_USER} &>/dev/null;then | |||
userdel \${EXT_USER} | |||
rm -r /home/devops/\${EXT_USER} | |||
fi | |||
done | |||
echo && ls -alh /home/devops/ | |||
echo && cat /etc/passwd|awk -F : '\$3 >= 1000 && \$3 < 65500 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h | |||
echo && cat /etc/group |awk -F : '\$3 >= 1000 && \$3 < 65500 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h && echo | |||
EXE | EXE | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 72: | Line 113: | ||
==Playground== | ==Playground== | ||
{| | {| | ||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
lxc image list images:ubuntu/noble/desktop | |||
lxc launch --vm images:ffa5fc9dfb84 cloudflare | |||
lxc launch --vm images:ubuntu/noble/desktop cloudflare | |||
</syntaxhighlight> | |||
| colspan="2" | | |||
<syntaxhighlight lang="bash"> | |||
lxc list status=running name=cloudflare --format=json |jq -r '.[].state.network.[].addresses' | |||
lxc list status=running name=cloudflare --format=yaml |yq -r '.[].state.network.[].addresses' | |||
lxc info cloudflare|yq '.Resources.["Network usage"][]["IP addresses"].inet' | |||
</syntaxhighlight> | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| valign="top" | | |||
<syntaxhighlight lang="bash"> | |||
ls -lah /usr/local/etc/cloudflared/ | |||
ls -lah /etc/cloudflared/ | |||
ls -lah ~/.cloudflared/ | |||
</syntaxhighlight> | |||
| colspan="2" | | |||
<syntaxhighlight lang="bash"> | |||
lxc snapshot cloudflare argo:24.04 | |||
lxc publish cloudflare/argo:24.04 --alias cloudflare/argo:24.04 | |||
lxc restore cloudflare argo:24.04 | |||
</syntaxhighlight> | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| valign="top" | | | valign="top" | | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 171: | Line 248: | ||
* [https://unix.stackexchange.com/questions/533663/ Linux » Get users with UID >= 1000] | * [https://unix.stackexchange.com/questions/533663/ Linux » Get users with UID >= 1000] | ||
* [https://manpages.debian.org/bookworm/adduser/adduser.conf.5.en.html Linux » Add User] | * [https://manpages.debian.org/bookworm/adduser/adduser.conf.5.en.html Linux » Add User] | ||
| valign="top" | | |||
| valign="top" | | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| valign="top" | | |||
* [[Ubuntu/Raspberry Pi]] | |||
* [[Ubuntu Upgrade]] | |||
* [[ActiveMQ]] | |||
* [[Minikube]] | |||
* [[Keycloak]] | |||
* [[Hadoop]] | |||
* [[Jenkins]] | |||
* [[WildFly]] | |||
* [[Spark]] | |||
* [[MinIO]] | |||
| valign="top" | | | valign="top" | |
Latest revision as of 13:42, 9 March 2025
System » User
System » User » Homeless
cat << EXE | sudo bash
SYSTEM_SYS_USERS='activemq artemis hadoop spark keycloak minikube minio wildfly'
for SYS_USER in \${SYSTEM_SYS_USERS};do
if ! id -g \${SYS_USER} &>/dev/null;then addgroup --quiet --system \${SYS_USER};fi
if ! id -u \${SYS_USER} &>/dev/null;then
adduser --quiet --system --ingroup \${SYS_USER} --home /nonexistent --shell /usr/sbin/nologin --disabled-password \${SYS_USER}
fi
done
echo && cat /etc/passwd|awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h
echo && cat /etc/group |awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h && echo
EXE
System » User » Resident
cat << EXE | sudo bash
mkdir -p /home/system/
SYSTEM_SYS_USERS='activemq artemis hadoop spark keycloak minikube minio wildfly'
for SYS_USER in \${SYSTEM_SYS_USERS};do
if ! id -g \${SYS_USER} &>/dev/null;then addgroup --quiet --system \${SYS_USER};fi
if ! id -u \${SYS_USER} &>/dev/null;then
adduser --quiet --system --ingroup \${SYS_USER} --home /home/system/\${SYS_USER} --shell /bin/bash --disabled-password \${SYS_USER}
chage -m 99999 -M 99999 -E -1 -I -1 \${SYS_USER}
mkdir /home/system/\${SYS_USER}/.ssh
touch /home/system/\${SYS_USER}/.ssh/config
touch /home/system/\${SYS_USER}/.ssh/authorized_keys
chown -R \${SYS_USER}:\${SYS_USER} /home/system/\${SYS_USER}/
chmod 600 /home/system/\${SYS_USER}/.ssh/authorized_keys
chmod 600 /home/system/\${SYS_USER}/.ssh/config
chmod 700 /home/system/\${SYS_USER}/.ssh
fi
done
echo && ls -alh /home/system/*/.ssh/*
echo && cat /etc/passwd|awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h
echo && cat /etc/group |awk -F : '\$3 >= 120 && \$3 < 900 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h && echo
EXE
DevOps » User
DevOps » User » Resident
cat << EXE | sudo bash
mkdir -p /home/devops/
DEVOPS_EXT_USERS='argo.cd drone.ci tool.tech raiyan.shahed shahed.hossain'
for EXT_USER in \${DEVOPS_EXT_USERS};do
if ! id -u \${EXT_USER} &>/dev/null;then
useradd --create-home --home-dir /home/devops/\${EXT_USER} --shell /bin/bash \${EXT_USER}
chage -m 99999 -M 99999 -E -1 -I -1 \${EXT_USER}
mkdir /home/devops/\${EXT_USER}/.ssh
touch /home/devops/\${EXT_USER}/.ssh/config
touch /home/devops/\${EXT_USER}/.ssh/authorized_keys
chown -R \${EXT_USER}:\${EXT_USER} /home/devops/\${EXT_USER}/
chmod 600 /home/devops/\${EXT_USER}/.ssh/authorized_keys
chmod 600 /home/devops/\${EXT_USER}/.ssh/config
chmod 700 /home/devops/\${EXT_USER}/.ssh
fi
done
echo && ls -alh /home/devops/*/.ssh/*
echo && cat /etc/passwd|awk -F : '\$3 >= 1000 && \$3 < 65500 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h
echo && cat /etc/group |awk -F : '\$3 >= 1000 && \$3 < 65500 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h && echo
EXE
DevOps » User » EdDSA Key
cat <<'EXT'| sudo bash
DEVOPS_EXT_USERS='argo.cd drone.ci tool.tech raiyan.shahed shahed.hossain'
for EXT_USER in ${DEVOPS_EXT_USERS};do
if id -u ${EXT_USER} &>/dev/null;then
cat <<'EXE'| sudo -i -u ${EXT_USER} bash
if [ ! -e "${HOME}/.ssh/id_ed25519" ] && [ ! -e "${HOME}/.ssh/id_ed25519.pub" ];then
ssh-keygen -t ed25519 -C "${USER}@shahed.biz" -N "" -q -f ${HOME}/.ssh/id_ed25519
fi
cat ${HOME}/.ssh/id_ed25519.pub
EXE
fi
done
EXT
DevOps » User » Delete
cat << EXE | sudo bash
DEVOPS_EXT_USERS='ibrahim.sardar abdul.hakim shalina.begum'
for EXT_USER in \${DEVOPS_EXT_USERS};do
if id -u \${EXT_USER} &>/dev/null;then
userdel \${EXT_USER}
rm -r /home/devops/\${EXT_USER}
fi
done
echo && ls -alh /home/devops/
echo && cat /etc/passwd|awk -F : '\$3 >= 1000 && \$3 < 65500 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h
echo && cat /etc/group |awk -F : '\$3 >= 1000 && \$3 < 65500 {printf("%-6s » %s\n", \$3, \$1)}'|sort -h && echo
EXE
Playground
lxc image list images:ubuntu/noble/desktop
lxc launch --vm images:ffa5fc9dfb84 cloudflare
lxc launch --vm images:ubuntu/noble/desktop cloudflare
|
lxc list status=running name=cloudflare --format=json |jq -r '.[].state.network.[].addresses'
lxc list status=running name=cloudflare --format=yaml |yq -r '.[].state.network.[].addresses'
lxc info cloudflare|yq '.Resources.["Network usage"][]["IP addresses"].inet'
| |
| ||
ls -lah /usr/local/etc/cloudflared/
ls -lah /etc/cloudflared/
ls -lah ~/.cloudflared/
|
lxc snapshot cloudflare argo:24.04
lxc publish cloudflare/argo:24.04 --alias cloudflare/argo:24.04
lxc restore cloudflare argo:24.04
| |
| ||
apt list --installed|grep linux-image
|
systemd-analyze blame
|
dpkg -l | grep "gnome-shell-extension" |
| ||
systemctl list-dependencies graphical.target
cat /proc/acpi/wakeup
|
sudo apt list --installed|grep desktop-icons
sudo dpkg-query -l|grep desktop-icons
|
sudo apt install gnome-shell-extension-manager
apt info gnome-shell-extension-manager -a
|
| ||
cat <<-'EXE'|sudo bash
umount /var/snap/firefox/common/host-hunspell
snap remove firefox
EXE
|
cat <<-'EXE'|sudo bash
snap disable remmina
snap remove --purge remmina
EXE
|
systemctl list-dependencies --type=service --state=running systemctl list-dependencies --type=service --state=active systemctl list-dependencies docker.service systemctl list-dependencies --all |
| ||
cat /etc/passwd
cat /etc/group
|
cat /etc/passwd|\
awk -F : '$3 >= 1000 {printf("%-6s » %s\n", $3, $1)}'|sort -h
|
useradd -m -d /home/chorke -s /bin/bash chorke useradd -m -d /home/chorke -s /bin/bash chorke |
| ||
adduser --quiet --system --ingroup chorke --no-create-home --shell /usr/sbin/nologin --disabled-password chorke
adduser --quiet --system --ingroup chorke --home /nonexistent --shell /usr/sbin/nologin --disabled-password chorke
|
References
| ||
| ||