rcmd: socket: Permission denied
E. Robert Tisdale
yellowdog-general@lists.terrasoftsolutions.com
Thu Jan 15 22:55:59 2004
I wrote:
> > cat main.cc
> #include <iostream>
> #include <netdb.h> //rcmd
>
> /* main: syntax: main <cmd> */
> int main(int argc, char *argv[]) {
> short rshPort = 544;
> char* server = "rover3";
> char* rshLocalUser = "edwin";
> char* rshRemoteUser = "edwin";
> char* cmd = argv[1];
>
> std::cerr << server << "\t= server" << std::endl;
> std::cerr << rshLocalUser << "\t= rshLocalUser" << std::endl;
> std::cerr << rshRemoteUser << "\t= rshRemoteUser" << std::endl;
> std::cerr << rshPort << "\t= rshPort" << std::endl;
> std::cerr << cmd << "\t= cmd" << std::endl;
>
> int rcmdSocket = rcmd(&server, rshPort, rshLocalUser,
> rshRemoteUser, (char*)cmd, NULL);
>
> std::cerr << "rcmd returns." << std::endl;
>
> if (-1 != rcmdSocket) {
> std::cerr << "rcmd success." << std::endl;
> }
> else {
> std::cerr << "rcmd failure." << std::endl;
> }
> return 0;
> }
>
> > g++ -Wall -o main main.cc
> > ./main ls
> rover3 = server
> edwin = rshLocalUser
> edwin = rshRemoteUser
> 544 = rshPort
> ls = cmd
> rcmd: socket: Permission denied
> rcmd returns.
> rcmd failure.
> > ls -l /usr/bin/rsh
> -rwsr-xr-x 1 root root 7868 Jan 7 14:14 /usr/bin/rsh
> > g++ --version
> 2.95.4
> > uname -mprsv
> Linux 2.4.19-4a #2 Fri Aug 9 10:30:32 PDT 2002 ppc unknown
>
>
> Can anybody tell my why rcmd fails?
> su
Password:
# chown root main
# chgrp bin main
# chmod u+s main
# ls -l main
-rwsr-xr-x 1 root bin 16465 Jan 7 20:44 main
# exit
exit
> ./main ls
rover3 = server
edwin = rshLocalUser
edwin = rshRemoteUser
514 = rshPort
ls = cmd
rcmd returns.
44 = numRead
Desktop
bin
doc
etc
include
lib
src
tmp
usr
= buf
rcmd success.