Comments (9)
Edit: it's long past my bed time and I should know better. Apologies.
Yes, that's supposed to happen, only root should be messing around with your system clock and changing it.
from ntimed.
yea, i figured that.normal users shouldn't change clocks ;)
the error message has some room for improvement ... 'assertion i>=0' could be replaced by 'run as root,you idiot' :)
from ntimed.
See OpenNTPd as an existing, battle-tested, simple, secure, reference for proper privilege separation and handling of NTP. It is not broken and may help in your endeavors. This presentation is also interesting. Ntimed should not require root for 100% of its activity.
from ntimed.
See OpenNTPd as an existing, battle-tested, simple, secure, reference for proper privilege separation and handling of NTP.
Ouch!
from ntimed.
I don't mean to hurt. I mean to draw attention to what OpenNTPd is.. particularly within the context of this issue.
from ntimed.
If you don't mean to hurt, you might try assuming that commenters here are generally aware of common UNIX privilege separation techniques, and that this project is a development work in progress.
from ntimed.
Sorry if I did not have that assumption to begin with, I will apply that assumption here from now on. Still, I would not agree that the proper techniques are common knowlege. I'm not sure awareness of this issue is even common knowledge.
Either way, if this is already on the roadmap, where does privilege separation fit with respect to other items on the roadmap?
from ntimed.
ketzacoatl:
I am a big fan of privilege separation, which is why I invented jails 17 years ago :-)
I'm charitably going to assume that you know at least a little bit about what you are talking about, but I'm going to point out anyway that OpenNTPD is very far from "proper handling ... of NTP" in particular with respect to the timekeeping aspects.
That is a valid trade-off, in particular if the alternative is the full NTPD, and I have no issue with OpenBSD making that decision.
However, my ambitions for ntimed-client are somewhat higher than that, both in terms of time-keeping, but also with respect to portability etc.
To get to your question: Of course the ntimed family of programs will use priv-sep, that's one of the major design-goals, in particular with respect to the ntimed-master and refclock implementations.
For ntimed-client the calculus is more fuzzy.
If my ambitions carry, ntimed-client is going to run on millions of systems, and that means that any small increment of resource usage translates to a non-trivial energy-expenditure and carbon-footprint.
Considering that the relevant NTP packets are very small, contains no text and have a single fixed format, going the full monty to put the NTP packet in one lo-priv process and keep the kernel time-tweaking in a hi-priv process may not be warranted from a power/carbon point if view.
Fortunately my lab is kitted out pretty well to measuring such stuff, and once I have the overall shape of ntimed-client in place, those measurements will guide my decision.
Where lighter weight priv-mgt is availble (CAPSICUM and similar) that should and will obviously be used.
And yes, I'll make for a better diagnostic for the original issue.
from ntimed.
@bsdphk, Thank you for the details you have shared here. This is promising!
from ntimed.
Related Issues (15)
- Requires CFLAGS='-std=gnu99' to compile on at least CentOS 5.11 HOT 5
- Does not compile on Mac OS X 10.10.1 HOT 9
- Does not compile on Debian kFreebsd HOT 2
- Thanks for doing this!
- Peers returning IPV6 addresses fail HOT 2
- Return friendly (instead of assert failure) error for non-root invocation HOT 1
- assertation `i >= 0` failed when user is not root HOT 1
- Configuration file suggestion HOT 2
- NetBSD build issue HOT 1
- Build problems with default flags on NetBSD HOT 2
- plotgen.py doesn't run HOT 2
- suspicious re-assignment before old value has been read
- What is the supported precision? HOT 1
- Project Status: future plans & applicability to data-center use today
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ntimed.