LINUX.ORG.RU
ФорумAdmin

Какой файл исполняеться при логине пользователя( только 1 раз)?


0

0
Какой файл исполняеться при логине пользователя(1 раз)? Интересует вот что: в принципе можно было бы воспользоваться .bashrc, но: во-первых, если пользователь запустит Иксы и будет открывать xterm-ы(или их аналоги) то этот файл будет каждый раз повторно запускаться. Мне же нужно исполнять его лишь 1 раз; во-вторых, если юзер использует другую shell, это не сработает.
anonymous
Тот, который прописан у него в последнем междуточии (:) файла /etc/passwd. По умолчанию, ........:/bin/bash или ..:/bin/false

Азы надо знать.

stark_lnx
()
вряд ли такое можно сотворить разве что скриптом каким нибудь. это может даже придеться к функция PAMа обратиться. хотя если работают только в иксах можно в ~/.initrc что нибудь прописать.

а если в консоли то может быть в .bashrc надо выяснять ppid и если он нулевой т.е прочесс запустивший его скорее всего процесс login. то выполнять то что нужно.

x86 ★★
()
Всю жизнь это был ".login". Еще есть /etc/login - один для всех. По крайней мере их должен читать и выполнять тот шелл, который берется за работу логин-шелла. Соответственно это должно работать при входе через локальную консоль, ssh и прочие тельнеты/getty. Ясень пень, что все это не будет фурычить при входе через xdm.
LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk
.login не запускаеться. (пробовал записать туда что-то вроде "echo Yes >> ~/login-1") Файл не появляеться/строка не записываеться... :-(
anonymous
()
Ответ на: комментарий от anonymous
>> x86 (*) (02.11.2004 7:56:26) А как выяснить этот ppid?
anonymous
()
Ответ на: комментарий от anonymous
> .login не запускаеться. (пробовал записать туда что-то вроде "echo Yes >> ~/login-1") Файл не появляеться/строка не записываеться... :-(

man bash (секция FILES):

/etc/profile: The systemwide initialization file, executed for login shells.

~/.bash_profile: The personal initialization file, executed for login shells.

nobody ★★
()
Ответ на: комментарий от nobody
Кстати, .login тоже не срабатывает. А /etc/login у меня нет... Так что... Относительно .bash/man bash прблема вот в чем: мне нужно сделать автозапускающийся скрипт не для всех пользователей(/etc/profile), кроме того, хотелось бы сделать его независимым от используемой им shell. :-( P.S. У меня Mandrake 9.2
anonymous
()
Ответ на: комментарий от anonymous
> мне нужно сделать автозапускающийся скрипт не для всех пользователей

man whoami ?

> хотелось бы сделать его независимым от используемой им shell

cat /etc/shells | while read sh ; do man $sh ; done

nobody ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.