====== Трюки в консоли: Пользователи ======
===== Показать пользователей с shell доступом /bin/sh или /bin/bash =====
via http://www.shkodenko.com/get-list-of-linux-users-with-shell-access/
# cat /etc/passwd |egrep "/bin/.*sh" |cut -f1 -d':' |sort
===== Показать cron задания всех пользователей =====
via http://stackoverflow.com/questions/134906/how-do-i-list-all-cron-jobs-for-all-users
for user in $(cut -f1 -d: /etc/passwd); do crontab -u $user -l; done
for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done
Бонус - посмореть crontab пользователя, переключиться на редактор nano, отредактировать crontab
# crontab -u username -l
# export EDITOR=nano
Затем отредактируем задачи cron, которые запускаются под пользователем "userLogin":
# crontab -u username -e
===== Удалить пользователя из группы =====
Утилита **gpasswd**
$ sudo gpasswd -d dx nginx
Removing user dx from group nginx
$ id dx
uid=1000(dx) gid=1000(dx) groups=1000(dx)
Удалить все secondary группы юзера и оставить primary
$ sudo usermod -G "" user_name
===== Изменить оболочку пользователя =====
Смотрим доступные в системе шеллы
# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
Или так
chsh -l
В CentOS 7 можно поменять через **chsh**
# chsh -s /bin/bash dx
В CentOS 8 можно поменять через **usermod**
usermod --shell /bin/bash dx
Проверяем
# cat /etc/passwd | grep dx
dx:x:1000:1000:dx:/home/dx:/bin/bash
и
# echo $SHELL
/bin/bash
===== Отключить шелл для пользователя =====
# usermod -s /sbin/nologin dx
# usermod -s /usr/sbin/nologin dx
# usermod -s /bin/false dx