Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Issue 2939263003: Add support for CRD user-session to operate setuid (Closed)

Created:
3 years, 6 months ago by rkjnsn
Modified:
3 years, 5 months ago
Reviewers:
Lambros, Jamie
CC:
chromium-reviews, chromoting-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Add support for CRD user-session to operate setuid This introduces the code changes necessary for CRD's user_session to operate as a setuid binary. Code is added to enforce that a user executing at setuid user_session binary can only use it to start a session for themselves. Additional refactoring reduces the amount of code that runs as root. This CL does not make user_session install setuid by default. Review-Url: https://codereview.chromium.org/2939263003 Cr-Commit-Position: refs/heads/master@{#489096} Committed: https://chromium.googlesource.com/chromium/src/+/2db73c0d825ec2dbcd8b2d3185df0dc7bc90ef34

Patch Set 1 : Allow support to CRD user_session to operate setuid #

Total comments: 4

Patch Set 2 : Consistent identifier for real uid #

Patch Set 3 : Refactor to reduce code run as root #

Total comments: 37

Patch Set 4 : Address review feedback #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+180 lines, -129 lines) Patch
M remoting/host/installer/linux/debian/chrome-remote-desktop.init View 1 2 1 chunk +1 line, -1 line 0 comments Download
M remoting/host/linux/remoting_user_session.cc View 1 2 3 8 chunks +179 lines, -128 lines 2 comments Download

Messages

Total messages: 24 (8 generated)
Jamie
https://codereview.chromium.org/2939263003/diff/10002/remoting/host/linux/remoting_user_session.cc File remoting/host/linux/remoting_user_session.cc (right): https://codereview.chromium.org/2939263003/diff/10002/remoting/host/linux/remoting_user_session.cc#newcode509 remoting/host/linux/remoting_user_session.cc:509: uid_t real_uid = getuid(); Please be consistent with the ...
3 years, 6 months ago (2017-06-16 19:24:23 UTC) #4
rkjnsn
https://codereview.chromium.org/2939263003/diff/10002/remoting/host/linux/remoting_user_session.cc File remoting/host/linux/remoting_user_session.cc (right): https://codereview.chromium.org/2939263003/diff/10002/remoting/host/linux/remoting_user_session.cc#newcode509 remoting/host/linux/remoting_user_session.cc:509: uid_t real_uid = getuid(); On 2017/06/16 19:24:23, Jamie wrote: ...
3 years, 6 months ago (2017-06-16 20:28:31 UTC) #5
rkjnsn
3 years, 6 months ago (2017-06-16 20:28:33 UTC) #6
rkjnsn
Jamie, Lambros: Please take a look.
3 years, 5 months ago (2017-07-20 00:05:17 UTC) #9
Lambros
https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc File remoting/host/linux/remoting_user_session.cc (right): https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc#newcode248 remoting/host/linux/remoting_user_session.cc:248: readlink("/proc/self/exe", &script_path[0], script_path.size()); Use base::ReadSymbolicLink() from base/files/file_util.h ? https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc#newcode256 ...
3 years, 5 months ago (2017-07-20 01:42:50 UTC) #10
Jamie
https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc File remoting/host/linux/remoting_user_session.cc (right): https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc#newcode248 remoting/host/linux/remoting_user_session.cc:248: readlink("/proc/self/exe", &script_path[0], script_path.size()); On 2017/07/20 01:42:49, Lambros wrote: > ...
3 years, 5 months ago (2017-07-20 02:06:26 UTC) #11
rkjnsn
https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc File remoting/host/linux/remoting_user_session.cc (right): https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc#newcode248 remoting/host/linux/remoting_user_session.cc:248: readlink("/proc/self/exe", &script_path[0], script_path.size()); On 2017/07/20 01:42:49, Lambros wrote: > ...
3 years, 5 months ago (2017-07-20 06:45:52 UTC) #12
Jamie
https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc File remoting/host/linux/remoting_user_session.cc (right): https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc#newcode12 remoting/host/linux/remoting_user_session.cc:12: // --foreground - Don't doemonize. daemonize https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc#newcode249 remoting/host/linux/remoting_user_session.cc:249: PCHECK(readlink_result ...
3 years, 5 months ago (2017-07-20 16:56:48 UTC) #13
rkjnsn
https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc File remoting/host/linux/remoting_user_session.cc (right): https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc#newcode12 remoting/host/linux/remoting_user_session.cc:12: // --foreground - Don't doemonize. On 2017/07/20 16:56:48, Jamie ...
3 years, 5 months ago (2017-07-20 17:39:04 UTC) #14
rkjnsn
https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc File remoting/host/linux/remoting_user_session.cc (right): https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc#newcode248 remoting/host/linux/remoting_user_session.cc:248: readlink("/proc/self/exe", &script_path[0], script_path.size()); On 2017/07/20 06:45:52, rkjnsn wrote: > ...
3 years, 5 months ago (2017-07-20 17:49:43 UTC) #15
rkjnsn
https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc File remoting/host/linux/remoting_user_session.cc (right): https://codereview.chromium.org/2939263003/diff/70001/remoting/host/linux/remoting_user_session.cc#newcode248 remoting/host/linux/remoting_user_session.cc:248: readlink("/proc/self/exe", &script_path[0], script_path.size()); On 2017/07/20 17:49:43, rkjnsn wrote: > ...
3 years, 5 months ago (2017-07-21 00:44:25 UTC) #16
rkjnsn
Updated in response to feedback. Please take a look. https://codereview.chromium.org/2939263003/diff/90001/remoting/host/linux/remoting_user_session.cc File remoting/host/linux/remoting_user_session.cc (right): https://codereview.chromium.org/2939263003/diff/90001/remoting/host/linux/remoting_user_session.cc#newcode247 remoting/host/linux/remoting_user_session.cc:247: ...
3 years, 5 months ago (2017-07-21 01:55:36 UTC) #17
Jamie
lgtm https://codereview.chromium.org/2939263003/diff/90001/remoting/host/linux/remoting_user_session.cc File remoting/host/linux/remoting_user_session.cc (right): https://codereview.chromium.org/2939263003/diff/90001/remoting/host/linux/remoting_user_session.cc#newcode247 remoting/host/linux/remoting_user_session.cc:247: PCHECK(result) << "Failed to determine binary location"; On ...
3 years, 5 months ago (2017-07-24 20:43:10 UTC) #18
Lambros
lgtm
3 years, 5 months ago (2017-07-24 21:57:03 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2939263003/90001
3 years, 5 months ago (2017-07-24 21:59:26 UTC) #21
commit-bot: I haz the power
3 years, 5 months ago (2017-07-24 22:19:14 UTC) #24
Message was sent while issue was closed.
Committed patchset #4 (id:90001) as
https://chromium.googlesource.com/chromium/src/+/2db73c0d825ec2dbcd8b2d3185df...

Powered by Google App Engine
This is Rietveld 408576698