Changeset d08c3f


Ignore:
Timestamp:
10/31/2019 09:57:33 AM (6 years ago)
Author:
Calum Lind <calumlind+deluge@gmail.com>
Branches:
2.0.x, develop, master
Children:
873700
Parents:
40ebdf
git-author:
Jack O'Sullivan <jackos1998@gmail.com> (09/24/2019 10:32:18 AM)
git-committer:
Calum Lind <calumlind+deluge@gmail.com> (10/31/2019 09:57:33 AM)
Message:

Fix privilege dropping when setting process ownership

os.setgid() should be called to set the GID, and it should be called
before os.setuid() to prevent reinstatement of privileges.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • deluge/argparserbase.py

    r40ebdf rd08c3f  
    330330
    331331            if not common.windows_check():
     332                if options.group:
     333                    if not options.group.isdigit():
     334                        import grp
     335
     336                        options.group = grp.getgrnam(options.group)[2]
     337                    os.setgid(options.group)
    332338                if options.user:
    333339                    if not options.user.isdigit():
     
    336342                        options.user = pwd.getpwnam(options.user)[2]
    337343                    os.setuid(options.user)
    338                 if options.group:
    339                     if not options.group.isdigit():
    340                         import grp
    341 
    342                         options.group = grp.getgrnam(options.group)[2]
    343                     os.setuid(options.group)
    344344
    345345        return options
Note: See TracChangeset for help on using the changeset viewer.