Project Description:
Develop a simple client-server system of remote backup
Client is made of command rcopy
Syntax to copy local file “file1.txt” to remote server “path” is
rcopy file1.txt server:path
where server is the name or the IP address of the server
file can be accesses via absolute or relative path
if in the specified path already exsists a file with the same name, the system must request if the user wants to overwrite it (like option -i of the cp command)
command rcopy accept the following parameters:
-r: recursive copy of the path specified as first argument (like -r of cp command)
-v: print on screen the file names while copying
-f: force the overrwrite if the destination file already exsists
--exclude=file1.txt, file2.txt...exclude from the copy the file file1.txt, file2.txt...
The request must run with credentials of the user who runs the server
Server must accept multiple connection with thread, and wait for incoming connection on TCP port 1234
File transfer must be on the TCP port 1235 or on the port 1234
On a single system must run multiple client
File access must be controlled by a lock system. A single thread at one time can access a file to write, multiple to read
System must work both under Linux and Windows
Linux server ask to client the authentication of the remote user
Linux server executes operation with the credentials of the client user
Software must be written in C
It consists of a single Client and server, compiled with conditional compiling
Additional Project Description:
03/01/2006 at 13:00 EST
an example on the linux authentication.
I have a linux pc, with the following user setted up (in the system)
user: root pw:pwroot
user: trial01 pw:aatrial01
user: trial02 pw:abc
the server, when a client try to connect, send a request of authentication to the client.
The client send username and password (i.s. trial01, aatrial01)
Under windows no authentication required
Then the server execute the command of backup with the credential of the user trial01.