Different file systems have different scheme for storing permissions.
S3 uses ACL(access control list) based file permissions management which may be different to your local file system.
It may be difficult or impossible to fully preserve original file permissions.
compressing files into an archive is always the safest option when transfering data online:
tar cf [File_name.tar] [Directory/Folder to Archive]
alternatively, use another service on aws which may provide compatible file system to be used depending on your needs like EC2, EBS or AWS Backup.