Prechádzať zdrojové kódy

mend

AMBARI-9785. Root user has spnego (HTTP) kerberos ticket set after Kerberos is enabled, root should have no ticket. (rlevas)
Robert Levas 10 rokov pred
rodič
commit
e29152193a

+ 41 - 0
ambari-common/src/main/python/resource_management/libraries/functions/find_path.py

@@ -0,0 +1,41 @@
+#!/usr/bin/env python
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Ambari Agent
+
+"""
+
+__all__ = ["find_path"]
+import os
+
+
+def find_path(search_directories, filename):
+  """
+  @param search_directories: comma separated list of (absolute paths to) directories to search (in order of preference)
+  @param filename: the name of the file for which to search
+  """
+  path = ""
+
+  for current_directory in search_directories:
+    if current_directory:  # current_directory neither None nor empty
+      current_path = os.path.join(current_directory, filename)
+      if os.path.isfile(current_path):
+        path = current_path
+        break
+
+  return path

+ 34 - 0
ambari-common/src/main/python/resource_management/libraries/functions/get_klist_path.py

@@ -0,0 +1,34 @@
+#!/usr/bin/env python
+"""
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+Ambari Agent
+
+"""
+
+__all__ = ["get_klist_path"]
+from find_path import find_path
+
+
+def get_klist_path():
+  """
+  Searches for the klist executable using a default set of of paths to search:
+    /usr/bin
+    /usr/kerberos/bin
+    /usr/sbin
+  """
+  return find_path(["/usr/bin", "/usr/kerberos/bin", "/usr/sbin"], "klist")