Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e5afc91

Browse files
committed
fixup! FIX Restrict socket permissions and manage ACLs if needed
1 parent 7bd354d commit e5afc91

File tree

1 file changed

+3
-10
lines changed

1 file changed

+3
-10
lines changed

runner-core/src/main/java/org/apache/apisix/plugin/runner/server/ApplicationRunner.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,11 @@
2626
import java.nio.file.attribute.AclEntryPermission;
2727
import java.nio.file.attribute.AclEntryType;
2828
import java.nio.file.attribute.AclFileAttributeView;
29-
import java.nio.file.attribute.PosixFilePermission;
3029
import java.util.HashMap;
3130
import java.util.List;
3231
import java.util.Map;
3332
import java.util.stream.Collectors;
3433
import java.util.Optional;
35-
import java.util.Set;
3634

3735
import org.slf4j.Logger;
3836
import org.slf4j.LoggerFactory;
@@ -136,16 +134,11 @@ public void start(String path) throws Exception {
136134
}
137135
}
138136

139-
private static void manageSocketPermissions(String pathString) throws IOException {
140-
Set<PosixFilePermission> permissions = Set.of(
141-
PosixFilePermission.OWNER_READ,
142-
PosixFilePermission.OWNER_WRITE,
143-
PosixFilePermission.OWNER_EXECUTE);
144-
Path path = Paths.get(pathString);
145-
Files.setPosixFilePermissions(path, permissions);
137+
private static void manageSocketPermissions(String socketFile) throws IOException {
138+
Runtime.getRuntime().exec("chmod 700 " + socketFile);
146139

147140
if (!SOCKET_ALLOWED_USERS.isEmpty()) {
148-
Optional.ofNullable(Files.getFileAttributeView(path, AclFileAttributeView.class))
141+
Optional.ofNullable(Files.getFileAttributeView(Paths.get(socketFile), AclFileAttributeView.class))
149142
.orElseThrow(() -> new UnsupportedOperationException("ACLs are not supported on this filesystem."))
150143
.setAcl(SOCKET_ALLOWED_USERS.stream()
151144
.map(ApplicationRunner::computeAclEntry)

0 commit comments

Comments
 (0)