unison (or alternative). limiting the remote usage.

Posted on 2007-08-01
Last Modified: 2008-01-09

I have a server and several users who need to synchronize from the server. The purpose of the sever is *only* to allow them to synchronize their files; nothing else should be permitted.

My first guess is to use "unison". There are two options for this: using the "remote shell" method or the "socket" method. However, with both options, the users have too much "freedom".

With the "remote shell" option, it means that users can connect to the server and do other stuff other than syncrhonize files. For instance, they can run programs there. I really need to limit the server to synchronize files, nothing else. That's why I say that, in this set-up, the "remote shell" with the users too much "freedom".

The "socket" method removes the previous type of freedom. However, there are two things to solve:
1- user authentication. How to restrict malicious users to use it?

2- restrict operation. Depending on the user, I would like to restrict the paths that he can synchronize; maybe restrict whether they can update files from and to the client and the server, or only from the server to the client (-force rootPath). Maybe this could be achieved by having the unison profiles defined in the server, rather than in the client (the server administrator would be the one defining the unison profiles, and not the users)

What do you think?
Do you know how to achieve this set-up?
Otherwise, do you know an alternative to unison to get this?
Question by:dportabella
    1 Comment
    LVL 7

    Accepted Solution

    Do you need it to be a bi-directional update? If not, rsync has several advantages there. However, it is a single-directional operation, and not a bi-directional one.

    It allows you to set, using socket, a server-side root path, however, it will not allow you user management.

    If you're considering using SSH, you can use restricted shell or chroot ssh, which can solve your issues.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Suggested Solutions

    Let’s list some of the technologies that enable smooth teleworking. 
    Meet the world's only “Transparent Cloud™” from Superb Internet Corporation. Now, you can experience firsthand a cloud platform that consistently outperforms Amazon Web Services (AWS), IBM’s Softlayer, and Microsoft’s Azure when it comes to CPU and …
    This tutorial will show how to configure a single USB drive with a separate folder for each day of the week. This will allow each of the backups to be kept separate preventing the previous day’s backup from being overwritten. The USB drive must be s…
    Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

    760 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    15 Experts available now in Live!

    Get 1:1 Help Now