Skip to content

Commit dc6bc85

Browse files
committed
MDEV-26380 auth_pam_tool has incorrect permissions on CentOS 7
Buggy sepdebugcrcfix in CentOS 7 (rpm-4.11.3) does not restore SUID bit after editing the binary. This is fixed in rpm-4.12. Still let's not set SUID bit when installing auth_pam_tool and use rpm spec %attr directive instead.
1 parent 15b691b commit dc6bc85

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

plugin/auth_pam/CMakeLists.txt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,10 @@ IF(HAVE_PAM_APPL_H AND HAVE_GETGROUPLIST)
3838
IF (TARGET auth_pam)
3939
MYSQL_ADD_EXECUTABLE(auth_pam_tool auth_pam_tool.c DESTINATION ${INSTALL_PLUGINDIR}/auth_pam_tool_dir COMPONENT Server)
4040
TARGET_LINK_LIBRARIES(auth_pam_tool pam)
41-
INSTALL(CODE "EXECUTE_PROCESS(
42-
COMMAND chmod u=rwx,g=,o= auth_pam_tool_dir
43-
COMMAND chmod u=rwxs,g=rx,o=rx auth_pam_tool_dir/auth_pam_tool
44-
WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${INSTALL_PLUGINDIR}/)"
45-
COMPONENT Server)
41+
SET(CPACK_RPM_server_USER_FILELIST ${CPACK_RPM_server_USER_FILELIST}
42+
"%attr(700, -, -) ${INSTALL_PLUGINDIRABS}/auth_pam_tool_dir"
43+
"%attr(4755, -, -) ${INSTALL_PLUGINDIRABS}/auth_pam_tool_dir/auth_pam_tool")
44+
SET(CPACK_RPM_server_USER_FILELIST ${CPACK_RPM_server_USER_FILELIST} PARENT_SCOPE)
4645
ENDIF()
4746
IF(TARGET auth_pam OR TARGET auth_pam_v1)
4847
ADD_SUBDIRECTORY(testing)
@@ -52,7 +51,7 @@ IF(HAVE_PAM_APPL_H AND HAVE_GETGROUPLIST)
5251
IF(INSTALL_PAMDIR)
5352
INSTALL(TARGETS pam_user_map DESTINATION ${INSTALL_PAMDIR} COMPONENT Server)
5453
INSTALL(FILES mapper/user_map.conf DESTINATION ${INSTALL_PAMDATADIR} COMPONENT Server)
55-
SET(CPACK_RPM_server_USER_FILELIST ${CPACK_RPM_server_USER_FILELIST} "%config(noreplace) ${INSTALL_PAMDATADIR}/*" PARENT_SCOPE)
54+
SET(CPACK_RPM_server_USER_FILELIST ${CPACK_RPM_server_USER_FILELIST} "%config(noreplace) ${INSTALL_PAMDATADIRABS}/*" PARENT_SCOPE)
5655
ENDIF()
5756
ENDIF()
5857
ENDIF()

0 commit comments

Comments
 (0)