LINUX.ORG.RU
Ответ на: комментарий от watashiwa_daredeska

Спасибо за совет но надо именно su не могу сообразить как передать пароль используя перенеправление. sudo на той машине не установлен.

tmp
() автор топика
Ответ на: комментарий от tmp

Врете вы все :)

su - -c "ls -la /root" < ./pass

в ./pass ложим пароль и наслаждаемся, правда дырень это в плане безопасности ... пароли открытым текстом хранить ... от админа по башке мона получить :)

stim
()
Ответ на: комментарий от stim

Ты сам-то пробовал?

И вообще, тут выше умные люди уже говорили, что так делать просто не надо. Это не недостаток su, это специально сделано, чтоб не позволить юзеру совсем уже глупость сделать.

Teak ★★★★★
()
Ответ на: комментарий от Teak

Конечно пробовал на SUSE и RHAS4 работает...

dimych@Dimych:~> su - -c "ls -la /root" < ./pass
Password: total 1494
drwx------ 9 root root 432 Sep 4 11:05 .
drwxr-xr-x 23 root root 544 Sep 3 12:13 ..
-rw------- 1 root root 0 Sep 3 11:29 .bash_history
-rw-r--r-- 1 root root 1332 Nov 23 2005 .exrc
...
-rw------- 1 root root 51 Sep 4 11:05 .xauthKt5aKe
-rw------- 1 root root 51 Sep 3 12:25 .xauthOGq6ej
-rw------- 1 root root 51 Sep 4 10:57 .xauthWpKT9M
-rw------- 1 root root 51 Sep 4 07:20 .xauthXhBI1G
drwxr-xr-x 2 root root 48 Apr 23 04:51 bin
dimych@Dimych:~>

Я и не говорю, что так надо делать. Просто хотел сказать, что это возможно.

stim
()

если ты изначально рут, то пароль не нужен.

а так можно настроить для пользователя ключ ssh и выполнять команду через ssh

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

а кто сказал что я рут

dimych@Dimych:~> whoami
dimych
dimych@Dimych:~> cd
dimych@Dimych:~> pwd
/home/dimych

stim
()
Ответ на: комментарий от dilmah

Debian:

su - -c "ls -la /root" < ./pass su: должен выполняться из терминала

RHEL AS 4:

$ su - -c "ls -la /root" < ./pass standard in must be a tty

hatefu1_dead
()
Ответ на: комментарий от dilmah

Сорри ... про RHAS4 наврал

[dimych@s3k ~]$ uname -a
Linux s3k 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:30:39 EST 2005 i686 i686 i386 GNU/Linux
[dimych@s3k ~]$ whoami
dimych
[dimych@s3k ~]$ su - -c "ls -la /root" < ./tst
standard in must be a tty
[dimych@s3k ~]$

на на SUSE 10.1 работает

stim
()
Ответ на: комментарий от watashiwa_daredeska

создай псевдотерминал и всунь пасворд в зубы через него вместо пайпа.

как побочный эффект: процедуру скорее всего придётся делать при помощи враппера на Perl/Python/C ибо как минимум я не знаю как это можно сотворить на чистом шелле

anonymous
()

1. Как выше правильно заметили - ставьте sudo.
2. Как вариант (работает в slackware!) man suauth (файлик создать /etc/suauth):
DENY The attempt to su is stopped before a password is even asked for.
NOPASS The attempt to su is automatically successful; no password is asked for.
OWNPASS For the su command to be successful, the user must enter his or her own password. They are told this.
3. expect возможно справится, но это отдельный пакет или в Perl ::Expect.

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