Jeffrey Smith created AMBARI-26622:
--------------------------------------

             Summary: Inconsistent behaviour between root and non root sudo.py 
behaviour
                 Key: AMBARI-26622
                 URL: https://issues.apache.org/jira/browse/AMBARI-26622
             Project: Ambari
          Issue Type: Bug
    Affects Versions: 3.0.0, trunk, 3.1.0
            Reporter: Jeffrey Smith


In sudo.py, the makedir(path, mode) function has different behaviour depending 
on if Ambari is running as root or not.

The root branch:
{{def makedir(path, mode):}}
{{{}{{    os.mkdir(path)

}}{}}}The non-root branch:{{{}{{
}}{}}}
{{def makedir(path, mode):}}
{{    shell.checked_call(["mkdir", path], sudo=True)}}
{{{}    chmod(path, mode)

{}}}This means that when Ambari is running as root, it is silently dropping the 
mode option but not doing so when run as any other user. This results in 
inconsistent behaviour between these two scenarios. 

According to the Python documentation, the default argument for mode is 0o777 
if not specified - this could create a situation where a folder is expected to 
be secure but is not actually since all users might be able to read/write to 
that directory.

({{{}from the docs: os.{}}}{{{}mkdir{}}}({_}path{_}, {_}mode=0o777{_}, {_}*{_}, 
{_}dir_fd=None{_}))

This is a simple fix - passing mode to {{os.mkdir(path, mode)}} when Ambari 
runs as root.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to