Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
sb hermit
Dec 13, 2016





copy paste john galt ironically

Adbot
ADBOT LOVES YOU

VikingofRock
Aug 24, 2008




el dorito posted:

copy paste john galt ironically

got you fam

pram
Jun 10, 2001
I'd just like to interject for a moment. What you’re referring to as Linux, is in fact, systemd/Linux, or as I’ve recently taken to calling it, systemd plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning systemd system made useful by the systemd corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the systemd system every day, without realizing it. Through a peculiar turn of events, the version of systemd which is widely used today is often called “Linux”, and many of its users are not aware that it is basically the systemd system, developed by the systemd Project. There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the systemd operating system: the whole system is basically systemd with Linux added, or systemd/Linux. All the so-called “Linux” distributions are really distributions of systemd/Linux.

Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe
Edgy

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

Captain Foo posted:

I'd just like to interject for a moment. What you’re referring to as Linux, is in fact, GNU's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's Not Unix's ^C

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug
GNU's Not Useful

cinci zoo sniper
Mar 15, 2013




Cocoa Crispies posted:

GNU's, Not Useful

FlapYoJacks
Feb 12, 2009
I heard wine is not a emulator.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
RMS = RMS makes software

Soricidus
Oct 21, 2010
freedom-hating statist shill

Gazpacho posted:

RMS = RMS makes software

I guess he’s made more software than esr but that’s really not a very high bar

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?
similarly to ESR, many of the things RMS takes credit for were originally made by other people

makes you think

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?
wasn’t GCC based on code for some other project too?

oh yeah, here it is:

quote:

Stallman's initial plan was to rewrite an existing compiler from Lawrence Livermore Laboratory from Pastel to C with some help from Len Tower and others. Stallman wrote a new C front end for the Livermore compiler, but then realized that it required megabytes of stack space, an impossibility on a 68000 Unix system with only 64 KB, and concluded he would have to write a new compiler from scratch. None of the Pastel compiler code ended up in GCC, though Stallman did use the C front end he had written.

so GCC might be the most original of his work: wrote a C front-end for an existing back-end, then had to replace the back-end because it gobbled memory

much better than just slapping his own copyright on the existing back-end and shipping it as part of his project

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
= esr shoots rifles

cinci zoo sniper
Mar 15, 2013




what are some "must have"/quality of life non-greybeard tools that may come in handy managing a centos 7 server? im basically responsible for our prod environment so i feel like i should at least start getting things like groups, permissions, folders, etc right and not have it be a streaming pile of piss with chmod -R 777 in every other folder. the big boogieman for me is actually making rear end from head in cases where i have say


a scheduling service running on user fartman69
that calls a python script xyz (?who runs python?)
that outputs bunch of files
into folders of a git repo (?who runs git?)
which are used by web service running on user internetnumber219

or things like that, e.g. do i now like make a user groups idiots and chgrp -R / or something?

e: to clarify, this is a one-off deployment (hopefully), so im probably not after ansible or chef or whatever is the config management/automated deployment tool of the year

Poopernickel
Oct 28, 2005

electricity bad
Fun Shoe
vim

Schadenboner
Aug 15, 2011

by Shine
I'd just like to interject for a moment. What you’re referring to as Linux is not Unix, is in fact, GNU's Not Unix/GNU's Not Unix/Linux is not Unix, or as I’ve recently taken to calling it, GNU's Not Unix plus GNU's Not Unix plus Linux is not Unix. Linux is not Unix is not an operating system unto itself, but rather another free component of a fully functioning GNU's Not Unix Plus GNU's Not Unix system made useful by the GNU's Not Unix Plus GNU's Not Unix corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. Many computer users run a modified version of the GNU's Not Unix Plus GNU's Not Unix system every day, without realizing it. Through a peculiar turn of events, the version of GNU's Not Unix which is widely used today is often called “GNU's Not Unix Plus Linux is not Unix”, and many of its users are not aware that it is basically the GNU's Not Unix Plus GNU's Not Unix system, developed by the GNU's Not Unix Plus GNU's Not Unix Project. There really is a GNU's Not Unix Plus Linux is not Unix, and these people are using it, but it is just a part of the system they use. GNU's Not Unix Plus Linux is not Unix is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. GNU's Not Unix Plus Linux is not Unix is normally used in combination with the GNU's Not Unix Plus GNU's Not Unix operating system: the whole system is basically GNU's Not Unix Plus GNU's Not Unix with GNU's Not Unix Plus Linux is not Unix added, or GNU's Not Unix Plus GNU's Not Unix/GNU's Not Unix Plus Linux is not Unix. All the so-called “GNU's Not Unix Plus Linux is not Unix” distributions are really distributions of GNU's Not Unix Plus GNU's Not Unix/GNU's Not Unix Plus Linux is not Unix.

cinci zoo sniper
Mar 15, 2013




cinci zoo sniper posted:

what was the richard copypasta

found it -

No, Richard, it's 'Linux', not 'GNU/Linux'. The most important contributions that the FSF made to Linux were the creation of the GPL and the GCC compiler. Those are fine and inspired products. GCC is a monumental achievement and has earned you, RMS, and the Free Software Foundation countless kudos and much appreciation.

Following are some reasons for you to mull over, including some already answered in your FAQ.

One guy, Linus Torvalds, used GCC to make his operating system (yes, Linux is an OS -- more on this later). He named it 'Linux' with a little help from his friends. Why doesn't he call it GNU/Linux? Because he wrote it, with more help from his friends, not you. You named your stuff, I named my stuff -- including the software I wrote using GCC -- and Linus named his stuff. The proper name is Linux because Linus Torvalds says so. Linus has spoken. Accept his authority. To do otherwise is to become a nag. You don't want to be known as a nag, do you?

(An operating system) != (a distribution). Linux is an operating system. By my definition, an operating system is that software which provides and limits access to hardware resources on a computer. That definition applies whereever you see Linux in use. However, Linux is usually distributed with a collection of utilities and applications to make it easily configurable as a desktop system, a server, a development box, or a graphics workstation, or whatever the user needs. In such a configuration, we have a Linux (based) distribution. Therein lies your strongest argument for the unwieldy title 'GNU/Linux' (when said bundled software is largely from the FSF). Go bug the distribution makers on that one. Take your beef to Red Hat, Mandrake, and Slackware. At least there you have an argument. Linux alone is an operating system that can be used in various applications without any GNU software whatsoever. Embedded applications come to mind as an obvious example.

Next, even if we limit the GNU/Linux title to the GNU-based Linux distributions, we run into another obvious problem. XFree86 may well be more important to a particular Linux installation than the sum of all the GNU contributions. More properly, shouldn't the distribution be called XFree86/Linux? Or, at a minimum, XFree86/GNU/Linux? Of course, it would be rather arbitrary to draw the line there when many other fine contributions go unlisted. Yes, I know you've heard this one before. Get used to it. You'll keep hearing it until you can cleanly counter it.

You seem to like the lines-of-code metric. There are many lines of GNU code in a typical Linux distribution. You seem to suggest that (more LOC) == (more important). However, I submit to you that raw LOC numbers do not directly correlate with importance. I would suggest that clock cycles spent on code is a better metric. For example, if my system spends 90% of its time executing XFree86 code, XFree86 is probably the single most important collection of code on my system. Even if I loaded ten times as many lines of useless bloatware on my system and I never excuted that bloatware, it certainly isn't more important code than XFree86. Obviously, this metric isn't perfect either, but LOC really, really sucks. Please refrain from using it ever again in supporting any argument.

Last, I'd like to point out that we Linux and GNU users shouldn't be fighting among ourselves over naming other people's software. But what the heck, I'm in a bad mood now. I think I'm feeling sufficiently obnoxious to make the point that GCC is so very famous and, yes, so very useful only because Linux was developed. In a show of proper respect and gratitude, shouldn't you and everyone refer to GCC as 'the Linux compiler'? Or at least, 'Linux GCC'? Seriously, where would your masterpiece be without Linux? Languishing with the HURD?

If there is a moral buried in this rant, maybe it is this:

Be grateful for your abilities and your incredible success and your considerable fame. Continue to use that success and fame for good, not evil. Also, be especially grateful for Linux' huge contribution to that success. You, RMS, the Free Software Foundation, and GNU software have reached their current high profiles largely on the back of Linux. You have changed the world. Now, go forth and don't be a nag.

Thanks for listening.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
you can use a group to share the directory between users but you also have to share the files and that may require modifying the python script to set the group on each new file

More generally I guess load up the coreurils manual and read the summary for every command?

cinci zoo sniper
Mar 15, 2013




Gazpacho posted:

you can use a group to share the directory between users but you also have to share the files and that may require modifying the python script to set the group on each new file

More generally I guess load up the coreurils manual and read the summary for every command?

it just seems annoying to crawl through the system and figure out what user do 50 things run under and then try to somehow manage permissions for all that

Sapozhnik
Jan 2, 2005

Nap Ghost
now add selinux

now realize that any actual attacker will not even care about any of this because they'll just use a local privilege escalation exploit to turn code execution into root

user-level security on linux is mostly pantomime. the stuff that's actually effective is namespacing and syscall restriction.

cinci zoo sniper
Mar 15, 2013




Sapozhnik posted:

now add selinux

now realize that any actual attacker will not even care about any of this because they'll just use a local privilege escalation exploit to turn code execution into root

eh its on local network only so liability for attackers is elsewhere. i just dont want something accidentally delete or the like, and pulling everything under a single user feels, idk, clunky?

Notorious b.s.d.
Jan 25, 2003

by Reene

Gazpacho posted:

you can use a group to share the directory between users but you also have to share the files and that may require modifying the python script to set the group on each new file

just set your effective gid before running the script

newgrp in shell, or setegid(3) from a real programming language

cinci zoo sniper
Mar 15, 2013




Notorious b.s.d. posted:

just set your effective gid before running the script

newgrp in shell, or setegid(3) from a real programming language

what's this in simple english?

Notorious b.s.d.
Jan 25, 2003

by Reene
when you create a new file, its user/group owner are set to your current user and group

newgrp / setegid(3) is how you choose what your current group is (since your user is usually a member of multiple groups)

Sapozhnik
Jan 2, 2005

Nap Ghost

cinci zoo sniper posted:

eh its on local network only so liability for attackers is elsewhere. i just dont want something accidentally delete or the like, and pulling everything under a single user feels, idk, clunky?

then yes, use groups. maybe posix acls if you need something more flexible (setfacl).

multiple non-administrator flesh-and-blood users interactively logging in to a linux system is a rather unusual use case these days.

Notorious b.s.d.
Jan 25, 2003

by Reene
fun trivia: 'newgrp' is what the password field is for in the groups database. you can actually set a password on a group and force the user to enter the password before setting that gid

i have never, ever seen this done in the wild

Notorious b.s.d.
Jan 25, 2003

by Reene

Sapozhnik posted:

multiple non-administrator flesh-and-blood users interactively logging in to a linux system is a rather unusual use case these days.

it's really not

Shaggar
Apr 26, 2006

Sapozhnik posted:

then yes, use groups. maybe posix acls if you need something more flexible (setfacl).

multiple non-administrator flesh-and-blood users interactively logging in to a linux system is a rather unusual use case these days.

its never been usual. that's why posix permissions are a nightmare

cinci zoo sniper
Mar 15, 2013




ah, alright. so, linux users can have multiple groups, and i can tell a process/command to act as as a specific group, do i get that right? if so, that's good enough for, to tick off mental checkboxes or whatever

ill just make various app folder in /etc/ or /srv/ or whatever, and build group-based permissions for them

is it possible to define, for instance, /etc/foo/ have chmod for 744 for group bar but 777 for group baz (bad example, i know, just curious if that's a thing at all)

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

cinci zoo sniper posted:

it just seems annoying to crawl through the system and figure out what user do 50 things run under and then try to somehow manage permissions for all that
messes don't clean themselves, but if this is all part of one system you can just put all the processes on the same user account, or as many as possible, and thereby limit the need for groups

cinci zoo sniper
Mar 15, 2013




Gazpacho posted:

messes don't clean themselves, but if this is all part of one system you can just put all the processes on the same user account, or as many as possible, and thereby limit the need for groups

im setting a new server from a clean slate so it should be nicer - i wouldnt even try to bother with this on the old one, there i just resigned and have a root cronjob for python script that shits out everything in one operation

atomicthumbs
Dec 26, 2010


We're in the business of extending man's senses.
have you tried capability-based security? iAPX 432 is the future and i will never shut up about this

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

Sapozhnik posted:

user-level security on linux is mostly pantomime. the stuff that's actually effective is namespacing and syscall restriction.

Notorious b.s.d.
Jan 25, 2003

by Reene

cinci zoo sniper posted:

is it possible to define, for instance, /etc/foo/ have chmod for 744 for group bar but 777 for group baz (bad example, i know, just curious if that's a thing at all)

that is possible via ACLs, but people don't use ACLs very often

the problem with ACLs is that there are three mutually incompatible systems: Linux/POSIX ACLs, Windows ACLs, and NFSv4 ACLs.

on your local filesystem, you define permissions in terms of linux/posix, but when you export that filesystem over a network, those perms now have to be converted on the fly to one of the other two systems. and that process sucks.

so people avoid ACLs despite how useful they are :(

cinci zoo sniper
Mar 15, 2013




Notorious b.s.d. posted:

that is possible via ACLs, but people don't use ACLs very often

the problem with ACLs is that there are three mutually incompatible systems: Linux/POSIX ACLs, Windows ACLs, and NFSv4 ACLs.

on your local filesystem, you define permissions in terms of linux/posix, but when you export that filesystem over a network, those perms now have to be converted on the fly to one of the other two systems. and that process sucks.

so people avoid ACLs despite how useful they are :(

sounds like i can use those then, this is a glorified web server that isn't exporting filesystem anywhere in my understanding of what you are saying. worst case scenario i imagine is having a separate script that wraps around update from git to set these things right for new files

RFC2324
Jun 7, 2012

http 418

cinci zoo sniper posted:

ah, alright. so, linux users can have multiple groups, and i can tell a process/command to act as as a specific group, do i get that right? if so, that's good enough for, to tick off mental checkboxes or whatever

ill just make various app folder in /etc/ or /srv/ or whatever, and build group-based permissions for them

is it possible to define, for instance, /etc/foo/ have chmod for 744 for group bar but 777 for group baz (bad example, i know, just curious if that's a thing at all)

Each file/folder can have one group, and permissions are what that user/group/everyone can do to it.

Each user can have multiple groups, however, and thats how you control access.

pram
Jun 10, 2001

Sapozhnik posted:

now add selinux

now realize that any actual attacker will not even care about any of this because they'll just use a local privilege escalation exploit to turn code execution into root

user-level security on linux is mostly pantomime. the stuff that's actually effective is namespacing and syscall restriction.

the term is security theatre and its an art

SamDabbers
May 26, 2003



Sapozhnik posted:

user-level security on linux is mostly pantomime. the stuff that's actually effective is namespacing and syscall restriction.

freebsd jails and solarish zones are a way better container model than namespaces+cgroups+apparmor/selinux that you have to wrangle separately. ffs, with 'jails' the name says it all: incarcerate your processes

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

SamDabbers posted:

solarish zones

code:
$ whoami
zardoz
$

Adbot
ADBOT LOVES YOU

Coffee Jones
Jul 4, 2004

16 bit? Back when we was kids we only got a single bit on Christmas, as a treat
And we had to share it!
as a user of GNU/Windows the distinction from GNU/Linux is important to me :colbert:

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply