/** * <p>In case it's impossible to determine the actual permissions, returns an "always-true" permission.</p> * * @param checkIds * @return * @throws Exception */ @Override protected PosixPermissions getPermissions( boolean checkIds ) throws Exception { if ( checkIds && ( getAbstractFileSystem() instanceof SftpFileSystemWindows ) && ( (SftpFileSystemWindows) getAbstractFileSystem() ).isExecDisabled() ) { // Exec is disabled, so we won't be able to ascertain the current user's UID and GID. // Return "always-true" permissions as a workaround, knowing that the SFTP server won't // let us perform unauthorized actions anyway. return new PretendUserIsOwnerPosixPermissions(); } return super.getPermissions( checkIds ); }
@Override protected boolean doIsExecutable() throws Exception { return getPermissions(true).isExecutable(); }
@Override protected boolean doIsWriteable() throws Exception { return getPermissions(true).isWritable(); }
@Override protected boolean doIsWriteable() throws Exception { return getPermissions(true).isWritable(); }
@Override protected boolean doIsExecutable() throws Exception { return getPermissions(true).isExecutable(); }
@Override protected boolean doIsExecutable() throws Exception { return getPermissions(true).isExecutable(); }
@Override protected boolean doIsReadable() throws Exception { return getPermissions(true).isReadable(); }
@Override protected boolean doIsWriteable() throws Exception { return getPermissions(true).isWritable(); }
@Override protected boolean doIsReadable() throws Exception { return getPermissions(true).isReadable(); }
@Override protected boolean doIsWriteable() throws Exception { return getPermissions(true).isWritable(); }
@Override protected boolean doIsReadable() throws Exception { return getPermissions(true).isReadable(); }
@Override protected boolean doSetExecutable(final boolean executable, final boolean ownerOnly) throws Exception { final PosixPermissions permissions = getPermissions(false); final int newPermissions = permissions.makeExecutable(executable, ownerOnly); if (newPermissions == permissions.getPermissions()) { return true; } attrs.setPERMISSIONS(newPermissions); flushStat(); return true; }
@Override protected boolean doSetWritable(final boolean writable, final boolean ownerOnly) throws Exception { final PosixPermissions permissions = getPermissions(false); final int newPermissions = permissions.makeWritable(writable, ownerOnly); if (newPermissions == permissions.getPermissions()) { return true; } attrs.setPERMISSIONS(newPermissions); flushStat(); return true; }
@Override protected boolean doSetWritable(final boolean writable, final boolean ownerOnly) throws Exception { final PosixPermissions permissions = getPermissions(false); final int newPermissions = permissions.makeWritable(writable, ownerOnly); if (newPermissions == permissions.getPermissions()) { return true; } attrs.setPERMISSIONS(newPermissions); flushStat(); return true; }
@Override protected boolean doSetWritable(final boolean writable, final boolean ownerOnly) throws Exception { final PosixPermissions permissions = getPermissions(false); final int newPermissions = permissions.makeWritable(writable, ownerOnly); if (newPermissions == permissions.getPermissions()) { return true; } attrs.setPERMISSIONS(newPermissions); flushStat(); return true; }
@Override protected boolean doSetReadable(final boolean readable, final boolean ownerOnly) throws Exception { final PosixPermissions permissions = getPermissions(false); final int newPermissions = permissions.makeReadable(readable, ownerOnly); if (newPermissions == permissions.getPermissions()) { return true; } attrs.setPERMISSIONS(newPermissions); flushStat(); return true; }
@Override protected boolean doSetReadable(final boolean readable, final boolean ownerOnly) throws Exception { final PosixPermissions permissions = getPermissions(false); final int newPermissions = permissions.makeReadable(readable, ownerOnly); if (newPermissions == permissions.getPermissions()) { return true; } attrs.setPERMISSIONS(newPermissions); flushStat(); return true; }
@Override protected boolean doSetReadable(final boolean readable, final boolean ownerOnly) throws Exception { final PosixPermissions permissions = getPermissions(false); final int newPermissions = permissions.makeReadable(readable, ownerOnly); if (newPermissions == permissions.getPermissions()) { return true; } attrs.setPERMISSIONS(newPermissions); flushStat(); return true; }
@Override protected boolean doSetExecutable(final boolean executable, final boolean ownerOnly) throws Exception { final PosixPermissions permissions = getPermissions(false); final int newPermissions = permissions.makeExecutable(executable, ownerOnly); if (newPermissions == permissions.getPermissions()) { return true; } attrs.setPERMISSIONS(newPermissions); flushStat(); return true; }
@Override protected boolean doSetExecutable(final boolean executable, final boolean ownerOnly) throws Exception { final PosixPermissions permissions = getPermissions(false); final int newPermissions = permissions.makeExecutable(executable, ownerOnly); if (newPermissions == permissions.getPermissions()) { return true; } attrs.setPERMISSIONS(newPermissions); flushStat(); return true; }