Systemd grants root privileges to user accounts that start with a number

github.com/systemd/systemd/issues/6237

Lennart does it again!

systemd grants root privileges to user accounts whose name starts with a number. Lennart says it's not a systemd problem and it won't be fixed.

Also, just 4 days ago systemd-resolved had a serious remote vulnerability (CVE-2017-9445) that allowed code execution. For those who don't know, systemd-resolved is the nonstandard, vulnerable-by-design DNS resolver that they're trying to push (more details: lists.dns-oarc.net/pipermail/dns-operations/2016-June/014964.html).

How does he keep getting away with it?

Other urls found in this thread:

pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_276
systemd-free.org/
github.com/systemd/systemd/issues/6237
whatanime.ga/?auto&url=https://i.4cdn.org/g/1499002220121.jpg
twitter.com/SFWRedditVideos

still ranting against systemd? move with your times, gramp.

Assassination when, I wonder.

Poettering did nothing wrong

>How does he keep getting away with it?
Because major distros already use systemd.
Also dumb people think that all linux distros having the same init system some how decreases fragmentation even though init system should be just service start, service stop and service restart.

Post rare lennarts itt

then dont create invalid users you faggot

>it's not broken! You are just using it wrong!

Systemd is a very active project and vulnerabilities like this is unavoidable. They'll patch it and release it soon

pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_276

>3.276 Portable Filename Character Set
>The set of characters from which portable filenames are constructed.
>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
>a b c d e f g h i j k l m n o p q r s t u v w x y z
>0 1 2 3 4 5 6 7 8 9 . _ -

>3.426 User Name
>A string that is used to identify a user; see also User Database. To be portable across systems conforming to IEEE Std 1003.1-2001, the value is composed of characters from the portable filename character set. The hyphen should not be used as the first character of a portable user name.

It is a valid user according to the POSIX standard. useradd lets you add it, too.

But they have closed the issue and said they won't fix it.

>said they won't fix it.
?

...

B-but I thought systemd was perfect, not a backdoor, had no bugs ever and was fixing all the problems with other init systems???
STOP LYING YOU FUDDING OP WHY DO YOU HATE PROGRESS????

Microsoft just migrated our shit from our infrastructure to theirs (using winbind to get AD on linux servers). All the usernames are numbers by default. Sounds fun.

This madman needs to be stopped
systemd-free.org/

>40 (!) thumbs down
MY FUCKING SIDES

Give me one good reason for still using a distro with systemd in 2017.
Install GuixSD. Install Void. Install Gentoo. Remove systemd. Purge cancerd.

Hmm. This does look unimpressive

The fact that you don't agree with attackers is no reason not to defend against them.

>guixsd
no packages and many breakage. I like the idea and would love to be able to use it, though.
>void
no packages and slight breakage. almost a viable option.
>gentoo
unironically the best linux distro in 2017. either the package compiles or it's broken, you never get to try to use a package that both compiles and is broken. updating and dependency updating work significantly better than in any other distro since you can recompile dependents against the new dependencies instead of having to upgrades, too.
this property also means you can keep a stable system with only the minimal required unstable programs, something no other os managed to pull off yet.
finally, its repos are huge, only rivaled by arch.
however, compiling can get really annoying sometimes and there are no good comprehensive binhosts. additionally, they have nowhere near enough maintainers so many packages aren't maintained correctly, such as old-stable version of software being marked as unstable and requiring the -9999 branch to get the current unstable, not live/devel/nightly, version. Other examples, the texlive maintainers are clinically retarded and remove important texlive tools because "I don't use it so nobody does!" and there's literally no way to get such tools back.

he saved gnu+linux for desktop

systemd is the new Internet Explorer. Widely used at one point of time, integrated in applications, and insecure.

Supporting GNOME and KDE on FreeBSD in 2017 is like supporting IE optimized webpages on Mozilla and Opera in 2002.

systemd is worse than ISIS.

>we'll hence enforce something that resembles more the universally accepted set, rather than accept the most liberal set possible.
>letters and text
>the most liberal possible username characters
How is the retard in charge of anything?

you guys are so fucking retarded. systemd is great. if it was this bad, not everyone would have suddenly adopted it.

You're the retard. It's been widely adopted not because it's good, but because corporate money and influence (Red Hat) is backing it.

Right, it does seem suspicious doesn't it.

Biting it; Most of the people believe there is an old man with grey beard in the sky watching you masturbate.

thank god we turned over init to the pulseaudio guy.

what could even possibly go wrong desu

Erry tiem.
To this day it still bothers me to no end that not a single adopter, be it an OS maintainers or a developer, dared to give a single hint of an explanation as to why they went systemd that was even remotely realistic. The best we got was KDE's "we supported 10 systems, now we support 2 (the ones that work with systemd) which means less lines of code, therefore systemd is great because dropping support for 8 systems totally couldn't' have been done without systemd for the exact same benefits".

Some of the responses are great github.com/systemd/systemd/issues/6237

Wonder how hard it would be to make a minimal alternate implementation of systemd (I mean just the init component, not all that other shit). Maybe something that can parse systemd service files and translate them to runit service scripts. Aside from the weird baked-in udev integration, I bet 90%+ of services don't actually need most of systemd's weird obscure options.

>but because corporate money and influence (Red Hat) is backing it.
yeah red hat influenced archlinux, mageia, suse, ubuntu, ...

>How does he keep getting away with it?
He works for Red Hat a wholly subsidiary company of the USA military establishment.

Systemd wasn't adopted because it's good, it was adopted because it's slightly better than all the alternatives. And the main way in which it's better is that it satisfies the GNOME -> logind -> systemd dependency chain (thanks, Red Hat)

>PID 1 handles network components

The faster boot was pitched as a big plus. The built in container support is what got it most of its support though.

... That's not funny!

Arch's init script maintainer gave a write up over why they decided to switch.

Red Hat is developing systemd, and Red Hat-paid developers are some of the main contributors to GNOME and other projects who now depend on systemd. Ubuntu and many other distributions that use those projects and thus had to adopt systemd. It also benefitted them because it makes the maintainers' work a bit easier, but clearly there are many people who thought the overall balance was overwhelmingly bad (see the Debian vote).

>The faster boot was pitched as a big plus
Which isn't a good enough reason. Every distro would use runit if that was the case. Also openRC is often just as fast as systemd.

yeah it's the big linux __conspiracy__, we know.

Container support didn't exist until very long after it was adopted everywhere, though, and boot time are actually false (they compare serial sysvinit vs parallel systemd, never parallel sysvinit nor serial systemd, and systemd's parallelism actually has proven to be a massive source of bugs, while other systems don't have that issue).

>Also openRC is often just as fast as systemd.
not gpl licensed.

What conspiracy? It's just Red Hat pushing their interests, which is to be expected. But don't pretend systemd was adopted because of technical merits.

You're right, it's BSD which is even better.

And that explanation was 100% bullshit and might as well sum up to "we chose it because we were paid to choose it". There wasn't even a single hint of reality in the writeup. And in this case it's worse than in all other cases except debian's because it flies straight in the face of arch philosophy.

>poettering added the not-a-bug label

every.
single.
time.

how is this not a meme yet? I knew it was going to be closed, not a bug before I even clicked the link that's all he does "ur shit is broke fgt" "stfu *blocks*"

>it's slightly better than all the alternatives.
How come nobody is able to provide even one (1) actual argument to support this, then? "i-if you don't like s-systemd you're.... you're a bigot who hate women!!!1" is not an argument, no matter how much lennart wishes it was.

Official systemd flag

yeah dude, redhat is controlling every gnu+linux distribution. they are so powerful.

Weasel does it again...

>Sigh,

> ignoring the evidence

It is comforting to see people ignoring the not-a-bug and trying to pinpoint the bug and how to fix it.
Poettering has zero credibility even among the systemd contributors.

Dunno, these sound like some reasonable technical concerns to me

...

>not a bug
So is this guy the Stephen Molyneux of /g?

>How come nobody is able to provide even one (1) actual argument to support this
Try reading the other half of the post before you fire off an angry shitpost in reply

Paid shill detected. Even a child would have no problem understanding why every single word in this entire dissertation is complete and utter bullshit. Any kind of googling at all will further demonstrate this.

>every distro uses gnome
lol

Point 2 is news to me.
Never hear it before.
Me thinks he pulled it out of his ass.

Those are reasonable excuses. The mistake is thinking that the unproven systemd would live up to its promise and not looking at the downsides.

>Me thinks he pulled it out of his ass.
He struggles with admitting he dun niggered, saying sorry and just fixing the problem

today on "what happens when you program everything in low-level terms in languages like c instead of using higher level concepts"

that the textual content of a username can introduce bugs of any kind is proof of seriously shitty programming and suggests all sorts of nasty mixing of data with logic where it shoild be kept separate. why do people keep doing this to themselves?

yes if only our operating system's init were written in java enterprise edition. thanks for your valuable contribution to the thread.

You can program in c and still validate your input. Isn't qmail written in c? The problem isn't the technology.

As suspected it is bollock.

>User=, Group=

>Set the UNIX user or group that the processes are executed as, respectively. Takes a single user or group name, or numeric ID as argument. For system services (services run by the system service manager, i.e. managed by PID 1) and for user services of the root user (services managed by root's instance of systemd --user), the default is "root", but User= may be used to specify a different user. For user services of any other user, switching user identity is not permitted, hence the only valid setting is the same user the user's service manager is running as. If no group is set, the default group of the user is used. This setting does not affect commands whose command line is prefixed with "+".

This. It doesn't matter if you program in Rust, Haskell, Python, or plain old C, no language can save you from these sorts of logic errors.

it's Stefan not Stephen my friend

What the fuck happened?
Back in 2005 (that's 12 years ago!), we had 2 great DEs: KDE 3.5 and gnome 2, both extremely stable, fast, light and featureful.
Now we have the choice between the buggiest, slowest, least featured piece of garbage to come out in the past 12 years, or nothing. How the fuck did that happen?
Then there's the whole systemd fiasco and every maintainer and developer showing their true colors.
Then there's the lgbtqbbqlmao+ bullcrap. Yes, let's spend 90% of the budget trying to attract the 0.000000001% (unsuccessfully, too) instead of actually improving the product. Also let's shoot ourselves in the foot until we are literally not allowed to do any software development because we don't have enough incompetent special snowflakes on staff.
Meanwhile have the BSDs improved? Not even a bit. Wangblows? A billion times worse than ever before. Other OSs? There's redox or whatever, and fuck CIA, but they're just starting development and will no doubt be just as shit as everything else.
And let's not forget Sup Forums. Whereas it used to be a great place to mess around as well as discuss serious topics with people who actually cared about their hobbies, now it's purely about consumerism. Absolutely abhorrent. And not a single alternative imageboard worth a damn appeared, ever. They either devolve to the same or worse as modern Sup Forums or they get murdered by reddit-tier admins.
How the fuck is the entire world so impossibly shit now? What the FUCK happened?

He's not making any claim about the current behavior. He's saying that it's reasonable to put additional restrictions on system user names (can't start with digits, for example), even if you allow the full flexibility of POSIX for normal users.

It has nothing to do with C, in fact, 70 replies in and nobody has corrected the OP. It doesn't "grant root privileges to user accounts that start with a number", that's wrong.

What happens is that unit files ignore invalid options (in this case User=) and since the default user is root the unit is executed as root but you have to be root to create the unit anyway, it is a bug and it should be fixed but it's not what you faggots think it is. It really is amazing how little Sup Forums knows about anything.

Technology became adopted by normies and now caters to them.

if you understood grammar, you'd see that i meant writing in high level languages is optional, using high level abstractions was the essence of my point

>we'll hence enforce something that resembles more the universally accepted set, rather than accept the most liberal set possible.

Embrace Extend Extinguish

Please explain what kind of abstraction you would use to prevent this problem.

He claims the User= setting is only for "system users" and not "regular users" which is complete bollocks and no such thing is mentioned as you can see on the man pages.

i like this picture. where does it come from? what's the name of that cake again? it has to do with that blue cat, no? doremon or something like that.

Some ubuntu guys discovered this, patched it, then released the news that they had.
That's right. It's nothing.

not making any sort of logic depend on the characters in a username string would be a start. it's a username, not a bitmasked variable holding flags, how did anyone fuck up badly enough to make the chars of a fucking username determine behavior?

it was the Jews. They made them do it

whatanime.ga/?auto&url=https://i.4cdn.org/g/1499002220121.jpg

because it takes integer uid or a username, which are probably treated differently

That kind of is what it's for, though. The purpose of User= is to let you run a daemon under a dedicated, unprivileged user account. It would be very unusual to run a system-level daemon under the account of a real (human) user.

ok... thanks... actually wanted to talk a little... (╯︵╰ )

What are you on about? The only "behavior" affected by the user field is which user it runs the daemon as.

Reddit.

No-one cares about OSs because the web is where it is at. But no-one takes the web seriously because of the irresponsible memers at Reddit user cute kittens as vectors to infiltrate people's attention spans.

well theres the bad design then: parsing a single piece of data as 1 of 2 possible things based on its apparent format, with the sets of possible values partially overlapping and the format check not being wholistic. uid and username should not be interchangeably used in a single parameter unless uids are impossible to ever be acquired as usernames, which they are not because theyre text strings with a subset of the same characters

I agree but nevertheless it ain't explicitly prohibited either nor does it specify anywhere such user must be a system user. As always with anything Poettering everything is half ass baked. Open to interpretation "Only by him of course" and nonsensical.

Pretty fucking trivial and simple fix for anyone who's not clinically retarded (i.e. not lennart): quotes around the value means username, no quotes means uid. Or, you know, how about making uids and usernames work the same instead of being so different?

If the admin writes a service file with three expectation of it running as a user but it ends up running as root all kind of shit could happen depending on what it executes. You should assume that you program is going to be used by malicious incompetents, not just sane reasonable omniscient admins.

DEs are literally pointless, who cares

Wrong, usernames that start with numbers are valid. At least get the facts right before niggering on about everyone else being wrong.

Or you can just say if you try to parse it as an it and fail, print an error and bail instead of moving on with clearly unexpected privileges. Unexpected, that is, because someone put a fucking User directive there.

the devil is in the details of how that parameter is parsed. a string parameter being 1 of 2 possible types of data based on nothing but loosely validatable content like which characters are used is a rookie mistake. this is javascript-level data fuckery with variables possibly being of any type in the world until you read them, like some sort of schrodinger's variable. Is this param a username or uid? who knows? we would if we didnt stuff them into a single variable, which not even people working in js are stupid enough to do.

Why don't you spend a bit of the time you take to tweak your wm to try to reduce your weight from your current 1000 lbs?

Sorry. Here have a hug.

this guy gets it and probably has an actual job in IT

Then provide counter arguments to his point. I'm not a systemd fan, but I'm not dense enough to call him a shill when there are clearly some benefits to systemd. Those benefits made maintainers jobs easier which is why they switched.

Sheesh, jobless children on Sup Forums are so petulant