Note on links: according to this Stack Exchange answer, most Unix-like operating systems (inexplicably) create links with the source path relative to the link's path. Thus, links should always be created using absolute paths for source and link location.
ln -s /path/to/source /path/to/link
Permissions
Sym links are an entirely different file system entry than a file or directory. They maintain a "full" set of permissions at all times (rwx for all users), but in reality this means very little. It should be noted that attempting to use chmod to modify the permissions of a sym link will not return an error, but also will have no effect.
Working directory
Executing a sym link that links to a non-executable file will return a permission denied error. Executing an executable file via its symlink will by default execute that file with its own directory path as the working directory, rather than the directory path of the sym link.
ln /path/to/source /path/to/link
Permissions
Hard links are really just two completely seperate file system entries for the same data, with no indication whatsoever that they are really a link. Because permissions are stored with the file data, not with the file system entry, changing the permissions of a hard linked file will change its permissions everywhere. The owner of the file is likewise stored with the data rather than the entry, meaning the file's permissions are always relative to the same user and their groups, even when hard links are created for other users on the system.
Working directory
Hard linked executables use wherever they are executed from as the default working directory. Creating a hard link of an executable without also linking its appropriate dependencies will cause it to fail.