Назад | Перейти на главную страницу

печать пользователя подоболочки, получающего root через su -

Могу ли я распечатать имя пользователя, которое получает root-доступ через su - на корневой консоли при получении root?

user1$ su -
password:

obtained root via user1
#

Раньше я рекомендовал сценарий ниже ... Я нашел способ получше! :) Просто выполните:

logname

Также вы можете использовать $SUDO_USER, но не работает, если вы используете sudo su -
Кстати, who am i как who -m

Этот скрипт также выполняет свою работу:

#!/bin/bash
curpid=`awk '/^PPid:/{print $2}' /proc/$BASHPID/status`
ppui=`awk '/^PPid:/{print $2}' /proc/$curpid/status`
ppui=`awk '/^PPid:/{print $2}' /proc/$ppui/status`
uid=`awk '/^Uid:/{print $2}' /proc/$ppui/status`
name=`cat /etc/passwd | grep $uid | awk -F: '{print $1}'`
echo $name

Позвони через .bash_profile если вы используете оболочки входа или .bashrc при использовании интерактивных оболочек без входа в систему.

who am i|awk '{print "Obtained root via "$1}'

Добавьте его в root .bashrc казнить, когда ты su.

Вы также можете попробовать

pstree -p -u |grep "$$"

чтобы увидеть всю цепочку процессов с именами пользователей. Это может быть полезно, если вы вложили su с несколькими пользователями.