Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-25 Thread Stephen J. Turnbull
Andrew Stuart writes:

 > Right now I’m aiming for super simple.

This worries me.  Nothing in security is simple (except for the
"Orange Book" and "RMS" models: the former being "it can't be attacked
if you don't plug it in" and the latter being "password communism" a
la Stallman).

At present, we just don't much care because historically the
subscriber database and archives rarely required much if any security,
and when such security was needed we simply did a "deny all" except
for root on the server, which of course was a single host.

But with the advent of DMARC (and the "4/14 Debacle" at Yahoo! and
AOL), I suspect that the price of "known good" address lists is rising
in the underworld, and there will be attacks on Mailman security just
to get addresses.  We're also trying to make it easier to access and
mutate enterprise databases through the Mailman APIs.  That could make
Mailman a vector for attacks on those databases.

 > As it turns out, the core doesn't have a lot of need for this,
 > which is another reason I've so far resisted tightly integrating it
 > with the core.

I'm afraid that is changing, Mr. General FLUFL Sir.  The core is
concerned with mail distribution, which historically has been the
no-security SMTP protocol.  If your core product *can't* be secure, I
would expect that you have little need for security, and what security
you do need can be implemented simply by hiding everything else in a
server on a single host with only root access to anything.  Especially
with the various expanded roles that are already appearing in
Postorius and HyperKitty, is that going to be true going forward?

Of course in current Mailman practice, all this is FUD.  But the fear
is real, even if the threats are (so far) unrealized.  And of course
the cost of a flexible and tight security model is high, both in
design effort and in complexity of the resulting system.

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9

Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-25 Thread Andrew Stuart
OK.

How about I make a standalone User Authorisation based server that has a user 
data store with additional arbitrary user keys in it? It would also allow role 
information to be assigned to those users via it’s own REST API (which I would 
have to think about and make up).

Thus my API proxy (I’m calling it CrowdWave) will be a public front end that 
looks like this:

public HTTP request <==> CrowdWave API proxy <==> Mailman REST API
public HTTP request <==> CrowdWave API proxy <==> CrowdWave User Authorisation 
server

The CrowdWave User Authorisation server will use Falcon and Sqlalchemy with a 
default sqlite database.

I’ll just do it to meet my need for resolution of question of how to give 
public access to higher than list level functions.  I’m not going to overthink 
it because I just want a way to give public access to all Mailman REST API 
functions. Consistent with earlier discussion, the CrowdWave User Authorisation 
server would not in the short term be part of the Mailman project and would be 
a third party project.

After this is built it might be an effective thinking point for working out the 
official mechanism for authorisation. 

Barry - if you want me to implement a specific approach now would be a good 
time to say - I’m happy to do anything as long as I feel up to it from a coding 
perspective.  Right now I’m aiming for super simple.

What do you think?

as



On 26 Jan 2015, at 4:44 am, Barry Warsaw  wrote:

On Jan 24, 2015, at 04:05 PM, Andrew Stuart wrote:

> The main thing I’m looking for is whether there is an authorisation concept
> that operates at a higher level than the list.

No, there isn't[*].

> I wonder is there the concept of some sort of “special” mailing list that is
> different or hidden or privileged in some way? There is a reference in the
> documentation to a “site list” but I coudn’t find much more about it. If
> there is a “special” list then maybe site wide user priveleges can be stored
> against it.

There is no site list in Mailman 3.

> I can see there is a site_owner in the Mailman config file although this just
> seems to be an email address to get bounces in certain circumstances, is it
> used for anything?

Just for bounces, as you've discovered.

> Well I read the discussion thread.  I had no idea so much previous thinking
> had gone into this.  Funny that there was so much discussion but no-one has
> really chimed in with an opinion about how I’ve built the authentication
> proxy - maybe everyone’s gun-shy. :-)

I haven't yet had time to dig into your work - apologies for that!

> The only unresolved question for me coming out of all that is “where is it
> specified which users have access rights to carry out functions at a higher
> level than the list?”
> 
> It appears that such information is not part of the Mailman core user data
> model and needs to be handled outside Mailman core i.e. at the application
> level.

This is correct.  It's the big reason why currently the API is an all-access
administrative API.  If the core was explicit in the roles an access right,
then an authenticating proxy wouldn't be necessary.

Sumana's summary is essentially correct.  There seems to be 6 (-ish) natural
roles that actors can play.  We can disregard the site administrator as that's
the person with shell access and the necessary permissions to "pop the hood"
and do anything.

Given that we have mailing lists organized into domains, it makes sense that
each mailing list have its owner, each domain have its manager, and the system
as a whole has a manager as well.  The system manager can do things like
create new domains, install global bans, and can delegate responsibility for
domains and mailing lists to others.

For a site with multiple domains, a domain manager can create lists within
that domain and delegate management of mailing lists to the owners of those
lists.  List owners can change any setting, and can delegate moderation
privileges to list moderators.

Users can manage their own subscriptions, and the various settings associated
with their memberships.

In Mailman 3, this breakdown is purely conceptual, and as you've seen there
has been heated discussion in the past.  I'm open to rebooting that.  I have
strong opinions but am willing to be persuaded, especially if there is code to
back it up. :)

> Personally I’d store such user information inside the Mailman core data
> model. Things start to look weird when application X has a different
> mechanism for deciding who can do admin tasks to application Y.  Maintaining
> such info outside the core also calls for user database synchronisation which
> would be good to avoid. But I don’t really mind I’m just trying to get a
> secure way of deciding which users to allow to do higher-than-list-level
> functions.

Alternatively, once the core bakes in these assumptions, then it becomes very
difficult for other tools to experiment with other ways of doing it, or
integrating the decision making with other e

Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-25 Thread Barry Warsaw
On Jan 24, 2015, at 04:05 PM, Andrew Stuart wrote:

>The main thing I’m looking for is whether there is an authorisation concept
>that operates at a higher level than the list.

No, there isn't[*].

>I wonder is there the concept of some sort of “special” mailing list that is
>different or hidden or privileged in some way? There is a reference in the
>documentation to a “site list” but I coudn’t find much more about it. If
>there is a “special” list then maybe site wide user priveleges can be stored
>against it.

There is no site list in Mailman 3.

>I can see there is a site_owner in the Mailman config file although this just
>seems to be an email address to get bounces in certain circumstances, is it
>used for anything?

Just for bounces, as you've discovered.

>Well I read the discussion thread.  I had no idea so much previous thinking
>had gone into this.  Funny that there was so much discussion but no-one has
>really chimed in with an opinion about how I’ve built the authentication
>proxy - maybe everyone’s gun-shy. :-)

I haven't yet had time to dig into your work - apologies for that!

>The only unresolved question for me coming out of all that is “where is it
>specified which users have access rights to carry out functions at a higher
>level than the list?”
>
>It appears that such information is not part of the Mailman core user data
>model and needs to be handled outside Mailman core i.e. at the application
>level.

This is correct.  It's the big reason why currently the API is an all-access
administrative API.  If the core was explicit in the roles an access right,
then an authenticating proxy wouldn't be necessary.

Sumana's summary is essentially correct.  There seems to be 6 (-ish) natural
roles that actors can play.  We can disregard the site administrator as that's
the person with shell access and the necessary permissions to "pop the hood"
and do anything.

Given that we have mailing lists organized into domains, it makes sense that
each mailing list have its owner, each domain have its manager, and the system
as a whole has a manager as well.  The system manager can do things like
create new domains, install global bans, and can delegate responsibility for
domains and mailing lists to others.

For a site with multiple domains, a domain manager can create lists within
that domain and delegate management of mailing lists to the owners of those
lists.  List owners can change any setting, and can delegate moderation
privileges to list moderators.

Users can manage their own subscriptions, and the various settings associated
with their memberships.

In Mailman 3, this breakdown is purely conceptual, and as you've seen there
has been heated discussion in the past.  I'm open to rebooting that.  I have
strong opinions but am willing to be persuaded, especially if there is code to
back it up. :)

>Personally I’d store such user information inside the Mailman core data
>model. Things start to look weird when application X has a different
>mechanism for deciding who can do admin tasks to application Y.  Maintaining
>such info outside the core also calls for user database synchronisation which
>would be good to avoid. But I don’t really mind I’m just trying to get a
>secure way of deciding which users to allow to do higher-than-list-level
>functions.

Alternatively, once the core bakes in these assumptions, then it becomes very
difficult for other tools to experiment with other ways of doing it, or
integrating the decision making with other external systems.

I've been of the mind that we should define a service that defines this
breakdown as interfaces and APIs.  Then we would be free to implement this as
a third party tool that peer with the core, Postorious, HK, the API proxy, and
others.  We could provide a reference implementation for those who want a
simple turnkey solution, but integrators would also be free to back those APIs
up with alternative implementations based on their specific needs.

As it turns out, the core doesn't have a lot of need for this, which is
another reason I've so far resisted tightly integrating it with the core.
Maybe we'll find some interesting uses once such a service is available
though.

>1: eliminate public access to all functions that operate higher than list
>level

>2: bake my own additional level of user authentication that defines which
>users have higher level access rights.

>3: find a cheat/workaround to store arbitrary keys against users (this my
>preferred solution)

>4: something else
>
>Option 1 drastically reduces the usefulness of the interface if only list
>level functions can be executed. Not ideal.

Agreed.

>Option 2 I would prefer to avoid - my authentication proxy doesn’t actually
>know much about Mailman at an application level - all it does is authorise
>and authenticate and pass through requests to Mailman if the user is allowed
>to do it, and reject them if not.

>Option 3: find some sort of cheat/workaround - preferablyt a way to store
>add

Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-24 Thread Andrew Stuart
Well I read the discussion thread.  I had no idea so much previous thinking had 
gone into this.  Funny that there was so much discussion but no-one has really 
chimed in with an opinion about how I’ve built the authentication proxy - maybe 
everyone’s gun-shy. :-)

The only unresolved question for me coming out of all that is “where is it 
specified which users have access rights to carry out functions at a higher 
level than the list?”

It appears that such information is not part of the Mailman core user data 
model and needs to be handled outside Mailman core i.e. at the application 
level.

Personally I’d store such user information inside the Mailman core data model. 
Things start to look weird when application X has a different mechanism for 
deciding who can do admin tasks to application Y.  Maintaining such info 
outside the core also calls for user database synchronisation which would be 
good to avoid. But I don’t really mind I’m just trying to get a secure way of 
deciding which users to allow to do higher-than-list-level functions.

My options are:

1: eliminate public access to all functions that operate higher than list level
2: bake my own additional level of user authentication that defines which users 
have higher level access rights.
3: find a cheat/workaround to store arbitrary keys against users (this my 
preferred solution)
4: something else

Option 1 drastically reduces the usefulness of the interface if only list level 
functions can be executed. Not ideal.
Option 2 I would prefer to avoid - my authentication proxy doesn’t actually 
know much about Mailman at an application level - all it does is authorise and 
authenticate and pass through requests to Mailman if the user is allowed to do 
it, and reject them if not.
Option 3: find some sort of cheat/workaround - preferablyt a way to store 
additional user information in a user profile field which allows storage of 
arbitrary keys.  Then I could stash some access control information in there 
that tells me that user X or user Y has some higher level access control. This 
would have to be do-able via the Mailman REST interface cause it’s the only way 
that I talk to the system. The ability to store arbitrary key/value information 
against a user would be the ideal outcome at this stage.
Option 4: - other ideas?

Does anyone know if there is a way to do Option 3 currently?

as


On 25 Jan 2015, at 7:37 am, Terri Oda  wrote:


On 2015-01-24, 5:08 AM, Andrew Stuart wrote:
 you can look back in the archives to the huge discussion we had about 
 unifying the user data store..
> 
> Is there search to find that discussion or do I have to manually review all 
> the threads? Any idea what year it was in?

The data store discussion was I think two years ago around the time of pycon.  
I started it with a thread entitled "Architecture for extra profile info"

https://mail.python.org/pipermail/mailman-developers/2013-April/022852.html

(As Sumana says, mail-archive is usually the best bet for searching the mailman 
archives.  I searched locally, though.)

But I'm serious that it's only worth reading if you're incredibly bored.  It 
became a huge architecture discussion that only ended on the lists with an 
"agree to disagree." (and I got bombarded with further comments about it on IRC 
for months after the list discussion ended, so I'm actually kind of still 
cranky about it.)

I think it's still a thing we need to look in to more seriously, but be warned 
that it's a topic folk have been passionate about in the past, to the point 
where progress was not made.  On the other hand, one of the people involved in 
that discussion has moved on to other things and the rest of us do 
collaborative work together more frequently, so it might be easier to reach a 
solution now.

Terri

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/andrew.stuart%40supercoders.com.au

Security Policy: http://wiki.list.org/x/QIA9

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9

Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-24 Thread Terri Oda


On 2015-01-24, 5:08 AM, Andrew Stuart wrote:

you can look back in the archives to the huge discussion we had about unifying 
the user data store..


Is there search to find that discussion or do I have to manually review all the 
threads? Any idea what year it was in?


The data store discussion was I think two years ago around the time of 
pycon.  I started it with a thread entitled "Architecture for extra 
profile info"


https://mail.python.org/pipermail/mailman-developers/2013-April/022852.html

(As Sumana says, mail-archive is usually the best bet for searching the 
mailman archives.  I searched locally, though.)


But I'm serious that it's only worth reading if you're incredibly bored. 
 It became a huge architecture discussion that only ended on the lists 
with an "agree to disagree." (and I got bombarded with further comments 
about it on IRC for months after the list discussion ended, so I'm 
actually kind of still cranky about it.)


I think it's still a thing we need to look in to more seriously, but be 
warned that it's a topic folk have been passionate about in the past, to 
the point where progress was not made.  On the other hand, one of the 
people involved in that discussion has moved on to other things and the 
rest of us do collaborative work together more frequently, so it might 
be easier to reach a solution now.


 Terri

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9


Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-24 Thread Sumana Harihareswara
The searchable archives are at
http://www.mail-archive.com/mailman-developers%40python.org/ . (Linked
to from https://mail.python.org/mailman/listinfo/mailman-developers but
I know that's a big chunk of text.) (Have I mentioned I cannot wait for
HyperKitty and its built-in search?)
-Sumana

On 01/24/2015 08:08 AM, Andrew Stuart wrote:
 you can look back in the archives to the huge discussion we had about 
 unifying the user data store..
> 
> Is there search to find that discussion or do I have to manually review all 
> the threads? Any idea what year it was in?
> 
> thanks
> 
> 
> 
> On 24 Jan 2015, at 4:16 pm, Terri Oda  wrote:
> 
> On 2015-01-23, 9:05 PM, Andrew Stuart wrote:
 you can have users with site privileges
>>
>> I had a look at the data model but couldn’t see this. Would you mind please 
>> pointing me in the direction of where user site privilege information is 
>> stored?
> 
> I'm not sure the concept is visible in Mailman Core, but I'm pretty sure it's 
> in Postorius.
> 
> (And if you're bored, you can look back in the archives to the huge 
> discussion we had about unifying the user data store... ;)  )
> 
> ___
> Mailman-Developers mailing list
> Mailman-Developers@python.org
> https://mail.python.org/mailman/listinfo/mailman-developers
> Mailman FAQ: http://wiki.list.org/x/AgA3
> Searchable Archives: 
> http://www.mail-archive.com/mailman-developers%40python.org/
> Unsubscribe: 
> https://mail.python.org/mailman/options/mailman-developers/sumanah%40panix.com
> 
> Security Policy: http://wiki.list.org/x/QIA9
> 

-- 
Sumana Harihareswara
http://brainwane.net
___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9

Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-24 Thread Andrew Stuart
>>>you can look back in the archives to the huge discussion we had about 
>>>unifying the user data store..

Is there search to find that discussion or do I have to manually review all the 
threads? Any idea what year it was in?

thanks



On 24 Jan 2015, at 4:16 pm, Terri Oda  wrote:

On 2015-01-23, 9:05 PM, Andrew Stuart wrote:
>>> you can have users with site privileges
> 
> I had a look at the data model but couldn’t see this. Would you mind please 
> pointing me in the direction of where user site privilege information is 
> stored?

I'm not sure the concept is visible in Mailman Core, but I'm pretty sure it's 
in Postorius.

(And if you're bored, you can look back in the archives to the huge discussion 
we had about unifying the user data store... ;)  )

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9

Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-24 Thread Andrew Stuart
Having dug around the models and data structures a bit I am wondering if some 
of some of these constructs are not Mailman constructs but Postorius 
constructs, which is to say, third party application level contstructs rather 
than Mailman core constructs.

Specifically the ones you refer to “domain administrator” and “mailman 
administrator” don’t seem to be represented in the Mailman core code. Perhaps 
I’m wrong of course, I’ve just done a little ham fisted glancing over the code 
but so far I can’t see how a user would get to become “domain administrator” or 
“mailman administrator”.

Which is fine of course - no problem with these being application level 
constructs - I’m just trying to understand because I’m writing some 
authorisation code and I need to know how to authorise a user to the correct 
level of their privilege.

thanks

as




On 24 Jan 2015, at 11:31 pm, Sumana Harihareswara  wrote:

On 01/24/2015 12:05 AM, Andrew Stuart wrote:
>>> you can have users with site privileges
> 
> I had a look at the data model but couldn’t see this. Would you mind please 
> pointing me in the direction of where user site privilege information is 
> stored?
> 
> I can see that there is the concept of “Rosters” but rosters seem to apply to 
> lists and not at a higher level i.e. as far as I can see there’s no way to 
> apply a roster to the system rather than to a list.
> 
> The main thing I’m looking for is whether there is an authorisation concept 
> that operates at a higher level than the list.
> 
> I wonder is there the concept of some sort of “special” mailing list that is 
> different or hidden or privileged in some way? There is a reference in the 
> documentation to a “site list” but I coudn’t find much more about it. If 
> there is a “special” list then maybe site wide user priveleges can be stored 
> against it.
> 
> I can see there is a site_owner in the Mailman config file although this just 
> seems to be an email address to get bounces in certain circumstances, is it 
> used for anything?
> 
> 
> 
> as
> 
> 
> 
> On 24 Jan 2015, at 3:13 pm, Terri Oda  wrote:
> 
> On 2015-01-23, 7:12 PM, Andrew Stuart wrote:
>> Is this defined in any way?
>> 
>> Is there any concept that a given Mailman user has “site admin rights”?
>> 
>> Or is the concept of the “site administrator” not realised in the 
>> application and just considered to be someone with operating system level 
>> access to the system that Mailman is running on?
> 
> In Mailman 2, there's no admin "users" in a typical sense but the site 
> administrator is someone who knows the global password for a site and/or has 
> shell access. The global password lets you log in as an admin to any list, 
> and depending on your settings may let you do things like create and delete 
> lists.  And yes, it's really just one shared password
> 
> In Mailman 3 there's a much more nuanced user system and you can have users 
> with site privileges (and there's no longer a need to share passwords).
> 
> Terri


Just yesterday I spoke with Barry and straightened out my own
understanding of the privilege levels within Mailman. Here's the
hierarchy as I understand it (the first level has the most power and
each successive level has less power):

1) site administrator - has command-line (shell) access to the machine.
(The website's system administrator, usually.) Has ultimate power! Can
invoke "mailman stop", for instance, to stop mailman services.

2) Mailman administrator - does not have command line access to the
machine, but can use the web interface to change everything within the
Mailman installation on that site (that is, can do anything Postorius
lets you!). Can create, change, and delete domains, lists, users, and so on.

3) domain administrator - Any given list belongs to 1 and only 1 domain,
which correlates to an actual internet domain name, such as mozilla.org.
A domain administrator can create, change/administer, and delete lists.
If you set up multiple domains, you can, e.g., have one domain
administrator who has power over the lists at the 70 lists at
example.com, and another domain administrator for the 40 lists at
example.org.

4) list administrator - can change list settings such as preferred
language, digest threshold, footer, etc., and moderate messages, manage
users, etc.

5) list moderator - cannot change the list's settings as a list
administrator could, but can allow/reject messages on moderated lists or
that trip certain rules, approve subscriptions, ban users, etc.

6) user - can change their own user preferences


I do not know where all this is laid out in the code, though. And I am
totally willing to be told I have gotten the nomenclature wrong!
-- 
Sumana Harihareswara
http://brainwane.net

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail

Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-24 Thread Sumana Harihareswara
On 01/24/2015 12:05 AM, Andrew Stuart wrote:
>>> you can have users with site privileges
> 
> I had a look at the data model but couldn’t see this. Would you mind please 
> pointing me in the direction of where user site privilege information is 
> stored?
> 
> I can see that there is the concept of “Rosters” but rosters seem to apply to 
> lists and not at a higher level i.e. as far as I can see there’s no way to 
> apply a roster to the system rather than to a list.
> 
> The main thing I’m looking for is whether there is an authorisation concept 
> that operates at a higher level than the list.
> 
> I wonder is there the concept of some sort of “special” mailing list that is 
> different or hidden or privileged in some way? There is a reference in the 
> documentation to a “site list” but I coudn’t find much more about it. If 
> there is a “special” list then maybe site wide user priveleges can be stored 
> against it.
> 
> I can see there is a site_owner in the Mailman config file although this just 
> seems to be an email address to get bounces in certain circumstances, is it 
> used for anything?
> 
> 
> 
> as
> 
> 
> 
> On 24 Jan 2015, at 3:13 pm, Terri Oda  wrote:
> 
> On 2015-01-23, 7:12 PM, Andrew Stuart wrote:
>> Is this defined in any way?
>>
>> Is there any concept that a given Mailman user has “site admin rights”?
>>
>> Or is the concept of the “site administrator” not realised in the 
>> application and just considered to be someone with operating system level 
>> access to the system that Mailman is running on?
> 
> In Mailman 2, there's no admin "users" in a typical sense but the site 
> administrator is someone who knows the global password for a site and/or has 
> shell access. The global password lets you log in as an admin to any list, 
> and depending on your settings may let you do things like create and delete 
> lists.  And yes, it's really just one shared password
> 
> In Mailman 3 there's a much more nuanced user system and you can have users 
> with site privileges (and there's no longer a need to share passwords).
> 
> Terri


Just yesterday I spoke with Barry and straightened out my own
understanding of the privilege levels within Mailman. Here's the
hierarchy as I understand it (the first level has the most power and
each successive level has less power):

1) site administrator - has command-line (shell) access to the machine.
(The website's system administrator, usually.) Has ultimate power! Can
invoke "mailman stop", for instance, to stop mailman services.

2) Mailman administrator - does not have command line access to the
machine, but can use the web interface to change everything within the
Mailman installation on that site (that is, can do anything Postorius
lets you!). Can create, change, and delete domains, lists, users, and so on.

3) domain administrator - Any given list belongs to 1 and only 1 domain,
which correlates to an actual internet domain name, such as mozilla.org.
A domain administrator can create, change/administer, and delete lists.
If you set up multiple domains, you can, e.g., have one domain
administrator who has power over the lists at the 70 lists at
example.com, and another domain administrator for the 40 lists at
example.org.

4) list administrator - can change list settings such as preferred
language, digest threshold, footer, etc., and moderate messages, manage
users, etc.

5) list moderator - cannot change the list's settings as a list
administrator could, but can allow/reject messages on moderated lists or
that trip certain rules, approve subscriptions, ban users, etc.

6) user - can change their own user preferences


I do not know where all this is laid out in the code, though. And I am
totally willing to be told I have gotten the nomenclature wrong!
-- 
Sumana Harihareswara
http://brainwane.net
___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9

Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-23 Thread Terri Oda

On 2015-01-23, 9:05 PM, Andrew Stuart wrote:

you can have users with site privileges


I had a look at the data model but couldn’t see this. Would you mind please 
pointing me in the direction of where user site privilege information is stored?


I'm not sure the concept is visible in Mailman Core, but I'm pretty sure 
it's in Postorius.


(And if you're bored, you can look back in the archives to the huge 
discussion we had about unifying the user data store... ;)  )

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9

Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-23 Thread Andrew Stuart
>>you can have users with site privileges

I had a look at the data model but couldn’t see this. Would you mind please 
pointing me in the direction of where user site privilege information is stored?

I can see that there is the concept of “Rosters” but rosters seem to apply to 
lists and not at a higher level i.e. as far as I can see there’s no way to 
apply a roster to the system rather than to a list.

The main thing I’m looking for is whether there is an authorisation concept 
that operates at a higher level than the list.

I wonder is there the concept of some sort of “special” mailing list that is 
different or hidden or privileged in some way? There is a reference in the 
documentation to a “site list” but I coudn’t find much more about it. If there 
is a “special” list then maybe site wide user priveleges can be stored against 
it.

I can see there is a site_owner in the Mailman config file although this just 
seems to be an email address to get bounces in certain circumstances, is it 
used for anything?



as



On 24 Jan 2015, at 3:13 pm, Terri Oda  wrote:

On 2015-01-23, 7:12 PM, Andrew Stuart wrote:
> Is this defined in any way?
> 
> Is there any concept that a given Mailman user has “site admin rights”?
> 
> Or is the concept of the “site administrator” not realised in the application 
> and just considered to be someone with operating system level access to the 
> system that Mailman is running on?

In Mailman 2, there's no admin "users" in a typical sense but the site 
administrator is someone who knows the global password for a site and/or has 
shell access. The global password lets you log in as an admin to any list, and 
depending on your settings may let you do things like create and delete lists.  
And yes, it's really just one shared password

In Mailman 3 there's a much more nuanced user system and you can have users 
with site privileges (and there's no longer a need to share passwords).

Terri


___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/andrew.stuart%40supercoders.com.au

Security Policy: http://wiki.list.org/x/QIA9

___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9

Re: [Mailman-Developers] Who is the "site administrator"?

2015-01-23 Thread Terri Oda

On 2015-01-23, 7:12 PM, Andrew Stuart wrote:

Is this defined in any way?

Is there any concept that a given Mailman user has “site admin rights”?

Or is the concept of the “site administrator” not realised in the application 
and just considered to be someone with operating system level access to the 
system that Mailman is running on?


In Mailman 2, there's no admin "users" in a typical sense but the site 
administrator is someone who knows the global password for a site and/or 
has shell access. The global password lets you log in as an admin to any 
list, and depending on your settings may let you do things like create 
and delete lists.  And yes, it's really just one shared password


In Mailman 3 there's a much more nuanced user system and you can have 
users with site privileges (and there's no longer a need to share 
passwords).


 Terri


___
Mailman-Developers mailing list
Mailman-Developers@python.org
https://mail.python.org/mailman/listinfo/mailman-developers
Mailman FAQ: http://wiki.list.org/x/AgA3
Searchable Archives: 
http://www.mail-archive.com/mailman-developers%40python.org/
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-developers/archive%40jab.org

Security Policy: http://wiki.list.org/x/QIA9