You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.1 KiB
88 lines
2.1 KiB
13 years ago
|
Commands needed:
|
||
|
conf/cmd/remote_exec
|
||
|
conf/cmd/copy
|
||
|
|
||
|
If ! conf/cmd/remote_exec:
|
||
|
use builtin
|
||
|
If ! conf/cmd/copy:
|
||
|
use builtin
|
||
|
|
||
13 years ago
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
--cmd-dir?
|
||
|
$__cdist_cmd_dir
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
13 years ago
|
-> Depend on session!
|
||
|
|
||
|
Builtin:
|
||
|
cdist.exec.run_or_fail(["scp", "-qr", source,
|
||
|
self.remote_user + "@" +
|
||
|
self.target_host + ":" +
|
||
|
destination])
|
||
|
|
||
|
self.remote_prefix = ["ssh", self.remote_user + "@" + self.target_host]
|
||
|
|
||
|
self.remote_user = remote_user
|
||
|
self.remote_prefix = remote_prefix
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
What is in a session?
|
||
|
|
||
|
base_dir
|
||
|
target_host
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
remote_user
|
||
|
pseudo-static, can be hardcoded again
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
Result:
|
||
|
|
||
|
os.environ['__remote_exec'] = ["ssh", "-l", "root" ]
|
||
13 years ago
|
|
||
|
os.environ['__remote_exec'] = ["ssh", "-o", "User=root" ]
|
||
|
os.environ['__remote_copy'] = ["scp", "-o", "User=root" ]
|
||
13 years ago
|
|
||
13 years ago
|
|
||
|
__remote_exec=~/sudossh __remote_copy=... cdist config localhost
|
||
|
|
||
|
~/sudossh hostname $@...
|
||
|
~/sudocopy a hostname:b
|
||
|
|
||
|
~/chrootssh
|
||
|
~/chrootcopy
|
||
|
|
||
|
|
||
|
|
||
|
a)
|
||
|
3 cmd verzeichnnise: cdist, sudo, chroot
|
||
|
pro aufruf variable ändern
|
||
|
|
||
|
b)
|
||
|
1 dir, mit zeug
|
||
|
pro aufruf variablen ändern
|
||
|
|
||
|
|
||
|
conf/cmd/remote_exec
|
||
|
|
||
13 years ago
|
args for __remote_exec
|
||
|
$1 = hostname
|
||
|
$2 - ... = stuff to be executed in /bin/sh on remote side
|
||
13 years ago
|
$2 - $7 = env
|
||
|
$7 - 12 = cmd
|
||
|
|
||
13 years ago
|
|
||
|
args for __remote_copy
|
||
|
$1 = file here
|
||
|
$2 = hostname:destination
|
||
13 years ago
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
There needs to be an easy way to change those cmds!
|
||
|
--------------------------------------------------------------------------------
|
||
|
Env-Passing:
|
||
|
_a=b test -> test can access $_a
|
||
|
_a=b test $_a -> $1 = "", because _a is *not* set within the shell
|
||
|
_a=b; test -> can access $_a
|
||
|
_a=b; test $_a -> $1 == "b"
|