スポンサーサイト
一定期間更新がないため広告を表示しています
このブログのテーマ:
Linuxをいじる Windowsを飼い慣らす Solarisに悩む Firefoxを使い倒す Thunderbirdを使い倒す
W-ZERO3で仕事する Mindmap(マインドマップ)で仕事する
WRC(世界ラリー選手権)を観る 車を走らせる
日常の非日常を記録する
一定期間更新がないため広告を表示しています
rsshはOpenSSHと共に用いる制限付きシェルであり、scpと sftp のみ、またはこれらの片方のみを許可する。例えば、シェルでのアクセスを与えずにscp を使ったファイルのコピーをユーザーに許可したい場合にrsshを使えばよい。とあるとおり、このツールを使えばOpenSSHの機能をscpだけに絞ることが可能。
# IA32/IA64 上の各種 Linux ディストリビューションだし、chroot jailがSolaris9上でちゃんとできるかどうかがポイントだった。
# Compaq Tru64 Unix
# Solaris 2.x 〜 8(条件付き ---- セキュリティの項参照)
# AIX 5.1
# HP/UX 11.00 (PA-RISC)
# HP/UX 11.22 (IA64)
# Irix 6.5
PATH=/usr/local/bin:/usr/sfw/bin:/opt/sfw/bin
PATH=$PATH:/usr/bin:/usr/sbin:/usr/dt/bin:/usr/openwin/bin
PATH=$PATH:/usr/xpg4/bin:/usr/ccs/bin:/usr/ucb:/etc
export PATH
LD_LIBRARY_PATH=/usr/local/lib:/usr/sfw/lib:/opt/sfw/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/dt/lib:/usr/openwin/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/xpeg4/lib:/lib:/usr/ccs/lib
export LD_LIBRARY_PATH
$ gunzip -c rssh.tar.gz | tar xvf -
$ cd rssh-2.2.3
$ ./configure
$ make
gcc -c -DHAVE_CONFIG_H -DPATH_RSSH_CONFIG="/usr/local/etc/rssh.conf" -DPATH_CHROOT_HELPER="/usr/local/libexec/rssh_chroot_helper" -g -O2 rsshconf.c
gcc -c -DHAVE_CONFIG_H -DPATH_RSSH_CONFIG="/usr/local/etc/rssh.conf" -DPATH_CHROOT_HELPER="/usr/local/libexec/rssh_chroot_helper" -g -O2 log.c
gcc -c -DHAVE_CONFIG_H -DPATH_RSSH_CONFIG="/usr/local/etc/rssh.conf" -DPATH_CHROOT_HELPER="/usr/local/libexec/rssh_chroot_helper" -g -O2 util.c
gcc -c -DHAVE_CONFIG_H -DPATH_RSSH_CONFIG="/usr/local/etc/rssh.conf" -DPATH_CHROOT_HELPER="/usr/local/libexec/rssh_chroot_helper" -g -O2 argvec.c
gcc -c -DHAVE_CONFIG_H -DPATH_RSSH_CONFIG="/usr/local/etc/rssh.conf" -DPATH_CHROOT_HELPER="/usr/local/libexec/rssh_chroot_helper" -g -O2 main.c
gcc -g -O2 -o rssh rsshconf.o log.o util.o argvec.o main.o
gcc -c -DHAVE_CONFIG_H -DPATH_RSSH_CONFIG="/usr/local/etc/rssh.conf" -DPATH_CHROOT_HELPER="/usr/local/libexec/rssh_chroot_helper" -g -O2 rssh_chroot_helper.c
gcc -g -O2 -o rssh_chroot_helper rssh_chroot_helper.o log.o argvec.o
$ su root
# make install
test -z "/usr/local/bin" || /bin/bash ./mkinstalldirs "/usr/local/bin"
./install-sh -c 'rssh' '/usr/local/bin/rssh'
test -z "/usr/local/etc" || /bin/bash ./mkinstalldirs "/usr/local/etc"
./install-sh -c -m 644 'rssh.conf' '/usr/local/etc/rssh.conf'
test -z "/usr/local/libexec" || /bin/bash ./mkinstalldirs "/usr/local/libexec"
./install-sh -c 'rssh_chroot_helper' '/usr/local/libexec/rssh_chroot_helper'
/usr/ccs/bin/make install-exec-hook
chmod u+s /usr/local/libexec/rssh_chroot_helper
test -z "/usr/local/man/man1" || /bin/bash ./mkinstalldirs "/usr/local/man/man1"
./install-sh -c -m 644 './rssh.1' '/usr/local/man/man1/rssh.1'
test -z "/usr/local/man/man5" || /bin/bash ./mkinstalldirs "/usr/local/man/man5"
./install-sh -c -m 644 './rssh.conf.5' '/usr/local/man/man5/rssh.conf.5'
# vi /usr/local/etc/rssh.conf
allowscp ←scpだけallowとする。
user=scpuser:011:00001:"/export/home/scpuser" # scp with chrootuser ←最終行に追加。
# useradd -d /export/home/scpuser -m scpuser
# passwd scpuser
# su - scpuser
$ cp 展開パス/rssh-2.2.3/mkschroot.sh .
mkchroot.shはLinux用のようで、usr/localが作成されない。先にmkdirしておく。$ mkdir -p ./usr/local/bin/rssh
$ ./mkchroot.sh .
$ grep scpuser /etc/passwd > ./etc/passwd
$ cp /etc/group ./etc
$ mkdir bin
$ cp -i /bin/ksh ./bin
$ cp -i A .
.login
.profile
.ssh/authorized_keys
.ssh/known_hosts
bin/ksh
bin/sh
dev
etc/nsswitch.conf
etc/passwd
etc/group
usr/local/bin/rssh
usr/local/libexec/rssh_chroot_helper
usr/local/etc
usr/bin/scp
usr/lib/ssh/sftp-server
usr/lib/libc.so.1
usr/lib/libdl.so.1
usr/lib/libgen.so.1
usr/lib/libsecdb.so.1
usr/lib/libnsl.so.1
usr/lib/libcmd.so.1
usr/lib/libmp.so.2
usr/lib/ld.so.1
usr/lib/libsocket.so.1
usr/lib/nss_files.so.1
以下は各プラットフォームによって違うので適当に。usr/platform/SUNW,Sun-Fire-V210/lib/libc_psr.so.1
$ su -としてscpuserのシェルがrsshに変更され、suが失敗することを確認。
# usermod -s /usr/local/bin/rssh scpuser
# su - scpuser
$ ssh -i identity scpuser@localhost
Last login: Tue Aug 9 18:36:26 2005 from localhostと出たり、ファイルが適切なところに置けたり、適切なファイルが取れるのであれば完了。
This account is restricted by rssh.
Allowed commands: scp
If you believe this is in error, please contact your system administrator.
Connection to localhost closed.
⇒ KOHEI (02/01)
⇒ momoch (01/28)
⇒ ドリフト (01/27)
⇒ sac (12/13)
⇒ 風水太郎 (11/27)
⇒ momoch (09/20)
⇒ sac (09/19)
⇒ momoch (08/29)
⇒ longkey1 (08/28)
⇒ momoch (08/27)