On Thu, Mar 24, 2016 at 1:51 AM, David G <[email protected]> wrote:

> Hi All,
>
> There has been some discussion on IRC today regarding options for running
> LedgerSMB (httpd) and how/what System User to run as.
>
> The long and the short of it is the following proposal.
> If you have any thoughts or suggestions could you please comment before we
> start implementing the changes.
>
> We believe items 1-3 NEED to happen, the remaining items SHOULD happen
> depending on your responses
>
>    1. Only ever run LedgerSMB using Starman (High-performance preforking
>    PSGI/Plack web server)
>    2. Only ever bind Starman to localhost
>    3. Always reverse proxy Starman port with either NGINX (preferred) or
>    Apache
>
> One concern I have is that I am not entirely sure that we can effectively
test well in this sort of environment.  We've had bugs in this corner, so I
think in terms of a roadmap forward, it would be good to keep this
experimental for a little bit.

>
>    1. At installation create a system user "*ledgersmb*"
>    2. At installation create a system group "*ledgersmb-admin*"
>    3. all LedgerSMB files should be installed in a single versioned
>    directory (eg: /usr/share/ledgersmb-1.4.26 or /opt/ledgersmb-1.4.26)
>    4. the install directory and contents should be owned by user
>    *ledgersmb* and group *ledgersmb-admin*
>    5. the install directory and contents should have the following
>    permissions
>    For Executable files  (s--r-xrw---- | 4560)
>    - r - x for owner
>       - r w - for group
>       - - - - for other
>
>    For Non Executable files (r--rw---- | 460)
>    - r - - for owner
>       - r w - for group
>       - - - - for other
>
>    For Directories (-s-r-xrw---- |2560)
>    - r - x for owner
>       - r w - for group
>       - - - - for other
>
>       6. The temp dir configured in ledgersmb.conf will need to be owned
>    by user *ledgersmb* and group *ledgersmb-admin*
>    7. The temp dir would need these permissions (sstrwxrwx--- | 7777)
>    - - - s for flags
>       - r w x for owner
>       - r w x for group
>       - - - - for other
>    8. Any system users that need to be able to modify files in the
>    LedgerSMB dir's would need to have *ledgersmb-admin* added to their
>    groups.
>
>
> Information on the permissions can be found in the following man pages and
> links
>
>    - CHMOD(1)
>    - CHMOD(2)
>    - UNLINK(2)
>    - how-do-directory-permissions-in-linux-work
>    
> <http://unix.stackexchange.com/questions/21251/how-do-directory-permissions-in-linux-work>
>    Look at Baldrick's answer it is the best summary
>
>
> Running LedgerSMB using Starman and a reverse caching proxy like nginx has
> significant performance benefits due to both the way Starman preforks and
> handles Perl assets, and the static asset caching offered by the proxy.
> There is an additional benefit to running via Starman, it is less likely
> that an error in a latex template (for example) will cause a hard failure.
> This has recently been shown to be an issue with the current debian
> package for 1.4.25 available from our repository http://apt.ledgersmb.org
>
> Running as a specific system user improves security, and assists with
> running multiple instances on the same system.
> The restricted permissions take this a step further to make it harder for
> things to be broken or attacked by other processes on the system.
>
> Keeping everything from the LedgerSMB tree in a single folder instead of
> splitting amoung multiple system dir locations is necessary for running
> multiple instances on a system, especially if there will be more than one
> version of the code.
> I am certain there are ways to work around that, but simplicity is often
> the best solution.
> Things like the docs dir can have a symlink
> /usr/share/doc/ledgersmb-1.4.25 that point to the real dir
> The same goes for manpages if we want to.
> NOTE: for an official debian package (in the debian.org archives) we may
> have to split things up to comply with their policy, but there is precedent
> not to.
> Also as debian doesn't allow version updates to packages for the life of a
> release Official Packages for LedgerSMB are of minimal benefit.
> We are better to point people at our own repository.
>
>
> Regards
> David G
>
>
>
>
>
> ------------------------------------------------------------------------------
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
> _______________________________________________
> Ledger-smb-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
>
>


-- 
Best Wishes,
Chris Travers

Efficito:  Hosted Accounting and ERP.  Robust and Flexible.  No vendor
lock-in.
http://www.efficito.com/learn_more
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
_______________________________________________
Ledger-smb-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel

Reply via email to