[Comm] Куда делся rsh?

Michael Shigorin mike на osdn.org.ua
Вт Июл 17 15:30:17 MSK 2012


On Mon, Jul 16, 2012 at 02:32:31AM +0400, Dmitry V. Levin wrote:
> > Дим, есть ещё и доверенные окружения,
> Доверенные окружения бывают только в упрощенных моделях угроз. :)

Причём упрощение порой производится физически. :)

> > где ssh имели в виду крупным планом по причине неприемлемой
> > производительности и/или латентности установления соединения.
> Если использовать connection sharing, то никакой латентности не будет.

Есть ещё http://www.psc.edu/index.php/hpn-ssh/640 и резоны для него
-- но всё равно спасибо, не знал.

> > Если считаешь, что этот пакет настолько вреден -- удали.
> > Мне же было бы интересно узнать, почему именно "не нужен".
> Его наличие в репозитории создает ложное ощущение пригодности
> для использования.  Квалификация, требуемая для осознанного
> решения использовать rsh вместо ssh, сравнима с квалификацией,
> необходимой для грамотной кастомизации кода ssh по месту.

Случаи бывают разные, в т.ч. необходимость взаимодействия
с legacy equipment.


On Tue, Jul 17, 2012 at 09:54:08AM +0900, Alexei Takaseev wrote:
> > > Погодите, погодите. Чем наличие клиента rsh несет угрозу?
> > И это тоже -- может, тогда сделать что-нить с серверной частью,
> > чтоб пользование подразумевало сознание (например, control,
> > переключающий права на бинарник с 644 на 755)?
> Дык, как раз серверную часть можно вообще не пакетить,
> оставить только клиента.

Он suid-ный, а я это благополучно проморгал при работе над спеком.
Подумал и решил сделать из коробки соответственно control netadmin
-- несетевым неадминистраторам эта функциональность вряд ли нужна,
а таковым пригодятся и другие утилиты в этом режиме.

Не'control'ируемыми остались rexec и in.rdisc, если стоит тоже
засунуть (только без SUID) -- просьба сообщить.

BTW попутно усовершенствован механизм управления правами на
несколько бинарников одновременно, изначально подсмотренный
в /etc/control.d/facilities/mount.

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/
----------- следующая часть -----------
#!/bin/sh

. /etc/control.d/functions

BINARY_RSH=/usr/bin/rsh
BINARY_RCP=/usr/bin/rcp
BINARY_RLOGIN=/usr/bin/rlogin
BINARIES="$BINARY_RSH $BINARY_RCP $BINARY_RLOGIN"

new_fmode public 4711 root root
new_fmode netadmin 4710 root netadmin
new_fmode restricted 700 root root

new_help public "Any user can execute $BINARIES"
new_help netadmin "Only \"netadmin\" group members can execute $BINARIES"
new_help restricted "Only root can execute $BINARIES"

if is_builtin_mode "$*"; then
	case "$*" in
	status|'')	# if there's more than a line it's a question...
		for f in $BINARIES; do
			control_fmode "$f" status || exit 1
		done | sort -u | sed 'N; { s/.*\n.*/unknown/; }'
		;;
	*)
		control_fmode "$BINARY_RSH" "$*"
		;;
	esac
else
	for f in $BINARIES; do
		control_fmode "$f" "$*" || exit 1
	done
fi


Подробная информация о списке рассылки community