I am trying to access files from Linux box with hierynomus (SMB protocol) and getting this error.
here is my code
import java.util.EnumSet;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.springframework.stereotype.Component;
import com.hierynomus.msdtyp.AccessMask;
import com.hierynomus.mssmb2.SMB2CreateDisposition;
import com.hierynomus.mssmb2.SMB2ShareAccess;
import com.hierynomus.smbj.SMBClient;
import com.hierynomus.smbj.SmbConfig;
import com.hierynomus.smbj.auth.AuthenticationContext;
import com.hierynomus.smbj.connection.Connection;
import com.hierynomus.smbj.session.Session;
import com.hierynomus.smbj.share.DiskShare;
import com.hierynomus.smbj.share.File;
import com.hierynomus.smbj.transport.tcp.async.AsyncDirectTcpTransportFactory;
@Component
public class SMBHelper {
private static String USERNAME = "***********";// username
private static String PASSWORD = "***********"; // password
private static String DOMAIN = "***********"; // Domain
private static String sharename = "greatplainsfast"; // sharename
private static final String SHARE_SRC_DIR = "greatplains";
private static final String SHARE_DST_DIR = "archive";
public static List<String> getFiles(String pathId) {
// Set the timeout (optional)
SmbConfig config = SmbConfig.builder()
.withMultiProtocolNegotiate(true)
.withSigningRequired(true)
.withTransportLayerFactory(new AsyncDirectTcpTransportFactory<>())
.withTimeout(120, TimeUnit.SECONDS)
.withTimeout(120, TimeUnit.SECONDS) // Timeout sets read, write and Transact timeouts (default is 60 seconds)
.withSoTimeout(180, TimeUnit.SECONDS) // Socket timeout (default is 0 seconds)
.build();
SMBClient client = new SMBClient(config);
try {
Connection connection = client.connect(DOMAIN );
AuthenticationContext ac = new AuthenticationContext(USERNAME, PASSWORD.toCharArray(), DOMAIN);
Session session = connection.authenticate(ac);
// Connect to a shared folder
DiskShare share = (DiskShare) session.connectShare("greatplainsfast");
if (share.fileExists(pathId)) {
File smbFileRead = share.openFile(pathId, EnumSet.of(AccessMask.GENERIC_READ), null,
SMB2ShareAccess.ALL, SMB2CreateDisposition.FILE_OPEN, null);
} else {
System.out.println("File does not exist");
}
ERROR Successfully connected to: smbproxy\n","stream":"stdout","time":"2021-01-27T16:50:13.128311213Z"}
c.hierynomus.smbj.connection.Connection : Successfully authenticated greatplains on smbproxy, session is 3455975439\n","stream":"stdout","time":"2021-01-27T16:50:13.138414333Z"}
com.hierynomus.smbj.session.Session : Connecting to \\smbproxy\greatplainsfast on session 3455975439\n","stream":"stdout","time":"2021-01-27T16:50:13.14037554Z"}
{"log":"com.hierynomus.mssmb2.SMBApiException: STATUS_ACCESS_DENIED (0xc0000022): Could not connect to \\smbproxy\greatplainsfast\n","stream":"stderr","time":"2021-01-27T16:50:13.14302621Z"}
User contributions licensed under CC BY-SA 3.0