LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Security
User Name
Password
Linux - Security This forum is for all security related questions.
Questions, tips, system compromises, firewalls, etc. are all included here.

Notices


Reply
  Search this Thread
Old 07-17-2007, 06:06 PM   #1
jcubed
LQ Newbie
 
Registered: Apr 2004
Location: Minneapolis, MN
Posts: 18

Rep: Reputation: 0
ACL vs. Roles confusion


I have been looking through some security papers and have run into a bit of a quandry concerning the difference between role-based or capabilities-based (are they the same) access vs. ACL-based access. I'm sure this question has been asked many times. I've looked at a few sites and papers brought up when I Google "ACL vs roles", but I don't see anything specifically addressing my point of confusion. Searching LinuxQuestions.org does not bring up anything useful to me. So, please forgive me for asking what's probably an age-old question. . .

Isn't roles-based access just another way of using ACLs, or can't roles-based access be effectively implemented by using ACLs?

According to one site, "Groups are used for object permissions; roles are used for application or function permissions." OK, but if we are talking permissions in the Linux file system, then I contend that applications and functions and files and directories are essentially all objects. In a role-based permission setup, one might assert that you have to have the role FILE_OWNER or SYS_FS_ADMIN to run chmod. However, using ACLs, one might create groups of similar names, "chmod 500 chmod" (I assume chmod's owner and group = root) to restrict general access to chmod, and then "setfacl -m group:FILE_OWNER:rw-,group:SYS_FS_ADMIN:rw- chmod" to get the same affect, yes? What would be the difference in setting up permissions in these ways?

Thank you in advance for enlightening me!
 
Old 07-17-2007, 07:27 PM   #2
jschiwal
LQ Guru
 
Registered: Aug 2001
Location: Fargo, ND
Distribution: SuSE AMD64
Posts: 15,733

Rep: Reputation: 682Reputation: 682Reputation: 682Reputation: 682Reputation: 682Reputation: 682
This document might help explain things in an selinux context.
http://www.redhat.com/f/pdf/sec/WHP001USselinux.pdf
 
Old 07-20-2007, 08:12 AM   #3
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 10,659
Blog Entries: 4

Rep: Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941Reputation: 3941
Essentially you are correct: they are (somewhat) the same.

Maybe ...

As the (very good!) paper cited above points out, there are two general ways in which the security of a system can be viewed:
  • "Discretionary" Access Control is the familiar <user|group|anyone> model that Unix has always had. An object "belongs to" some user, and either that object's "owner" or the all-powerful root user can establish or change the prevailing access-rights "at his or her discretion." Furthermore, any object owned-by a user can, through the setuid mechanism, execute with all of (but nothing less than "all of") that owning-user's rights and abilities.
  • "Mandatory" Access Controls, or the Principle of Least Privilege, seek to remove not only that element of discretion and ownership, but also the "all or nothing" aspects of granting execution rights. The notion of "all-powerful" is gone. Processes and users are to be afforded the least number of privileges and permissions necessary to get their job done.
Where things get interesting, in the Unix/Linux world, is that Access Control Lists (ACLs) are available in both "worlds." Within a "discretionary access" system, ACLs offer much finer-grained controls of what remains a discretionary system. Per contra, in a "mandatory access" arrangement, ACLs reflect the point-of-view of that system.

Roles are a hallmark of a "Mandatory" system, reflecting the simple notion that "one man may wear many hats, and may choose to take them off and put them on according to what he is doing." That is to say, according to the role that he plays. Many different users, and many different programs, may be entitled to serve in a particular role.

A final point of confusion in the Linux world is that there is more than one way to do it. There is more than one way to "harden" a Linux system; to implement this notion of Mandatory Access Control. Your chosen "distro" probably implements one of these, and they're converging over time, but you might well encounter a system that uses a different implementation.

The best advice, then, is "seek the 'big picture' and, once you see 'it,' latch on to it and don't let go." Periodically haul yourself "up, up and away" from the pine-needles of endless detail: take a flight in the big-picture balloon until you can see the whole thing "in context" once again.

Last edited by sundialsvcs; 07-20-2007 at 08:18 AM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Linux thriving in critical roles LXer Syndicated Linux News 0 08-21-2006 01:03 PM
No assigned admin roles and tasks in iManager bship SUSE / openSUSE 3 10-14-2005 07:57 AM
ROLES /privilege problem PLZ HELP anirudh Programming 5 10-21-2004 04:07 PM
ACL Help theDrix Linux - General 0 07-22-2004 08:25 AM
PHP security, roles, rights logicdisaster Programming 3 06-21-2004 02:33 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Security

All times are GMT -5. The time now is 10:50 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration