Всем Здрасть)
как в Linux/FreeBSD/Solaris выяснить шелл пользователя, >существующего< в системе, командой, >если такая есь<... (!!!не залогиненого!!!)парсить файл с паролями не предлагать - это не спортивный вариант
точнее нужно выяснить разрешён ли вход в систему пользователю или это демон какой - там /sbin/empty или /sbin/nologin стоит
примеры, мысли, ссылки...
сенкс ин адванс))))
>Всем Здрасть)
>как в Linux/FreeBSD/Solaris выяснить шелл пользователя, >существующего< в системе, командой, >если такая есь<... (!!!не залогиненого!!!)
>сенкс ин адванс))))
chpass user
ежели очень хочется не попасть в vi(из боязни не суметь оттуда выйти) - EDITOR=cat ; export EDITOR ; chpass user (если sh подобный шелл)
>>Всем Здрасть)
>>как в Linux/FreeBSD/Solaris выяснить шелл пользователя, >существующего< в системе, командой, >если такая есь<... (!!!не залогиненого!!!)
>>сенкс ин адванс))))
>chpass user
>ежели очень хочется не попасть в vi(из боязни не суметь оттуда выйти)
> - EDITOR=cat ; export EDITOR ; chpass user (если sh
>подобный шелл)боязни выйти нет)))
не поверишь - я даже файлы в vi сохранять умею ;-)есть нужда делать вышеоспрошенное действо из не интерактивного скрипта
ПОД все перечисленные операционкиувы, в SUSE chpass нема... в солярке тож...
значит не катита вообще идея светлая...
>>>Всем Здрасть)
>>>как в Linux/FreeBSD/Solaris выяснить шелл пользователя, >существующего< в системе, командой, >если такая есь<... (!!!не залогиненого!!!)
>>>сенкс ин адванс))))
>>chpass user
>>ежели очень хочется не попасть в vi(из боязни не суметь оттуда выйти)
>> - EDITOR=cat ; export EDITOR ; chpass user (если sh
>>подобный шелл)
>
>боязни выйти нет)))
>не поверишь - я даже файлы в vi сохранять умею ;-)
>
>есть нужда делать вышеоспрошенное действо из не интерактивного скрипта
>ПОД все перечисленные операционки
>
>увы, в SUSE chpass нема... в солярке тож...
>значит не катит
>
>а вообще идея светлая...
man cat
man grep
man awk
man sed
man cut
...В общем, эти утилиты есть в любом *nix, так что парсить все равно придется. :-)
вопрос закрыткроссплатформенное решение, не зависит от того где эта инфа лежит
getent passwd | grep ЮЗЕР | awk -F : '{print $7}'
в линухе/соляре оно лежит в /etc/passwd а под фрёй в /etc/master.passwd, а хочется однако унифицированности. если на некоторых машинах будет и LDAP поднят, тогда это вообще единственный выход.
>вопрос закрыт
>
>кроссплатформенное решение, не зависит от того где эта инфа лежит
>
>getent passwd | grep ЮЗЕР | awk -F : '{print $7}'
>
>в линухе/соляре оно лежит в /etc/passwd а под фрёй в /etc/master.passwd,
>а хочется однако унифицированности. если на некоторых машинах будет и LDAP
>поднят, тогда это вообще единственный выход.а чем командочка finger не подходит, среди прочей инфы она показывает и шелл, грепнуть, думаю, труда не составит.
:~> man finger
NAME
finger -- user information lookup program
...
>>вопрос закрыт
>>
>>кроссплатформенное решение, не зависит от того где эта инфа лежит
>>
>>getent passwd | grep ЮЗЕР | awk -F : '{print $7}'
>>
>>в линухе/соляре оно лежит в /etc/passwd а под фрёй в /etc/master.passwd,
>>а хочется однако унифицированности. если на некоторых машинах будет и LDAP
>>поднят, тогда это вообще единственный выход.
>
>а чем командочка finger не подходит, среди прочей инфы она показывает и
>шелл, грепнуть, думаю, труда не составит.
>
>:~> man finger
>
>NAME
> finger -- user information lookup program
>...уже)))
http://forum.sysadmins.ru/2/138821/
честно говоря воспользоваться пришлось именно этой командой, т. к. оказалось что на фре 6.1 release и <= нету getent`а (... а как я говорил нужна унифицированность
(в 6.1 stable уже есь) )