26

I am trying to change the permissions for the symbolic link.

Making directory and symbolic link

As how you can see in the image, the soft link has 777 permissions, but i would like to change that.

I tried to change that by:

  1. chmod 755 someLink - but this changes linked directory (someDir) permission.
  2. chmod -h 755 someLink - this brings eroor chmod: invalid option --'h'

Is there a way how to change symbolic link permissions? I am on Ubuntu 18.04

Many thanks in advance

guntbert
  • 13,485
ph7
  • 365
  • 3
    -h is freebsd/openbsd so MacOS. Not Linux ;-) https://www.freebsd.org/cgi/man.cgi?query=chmod&manpath=SuSE+Linux/i386+11.3 Linux "chmod never changes the permissions of symbolic links; the chmod system call cannot change their permissions. This is not a problem since the permissions of symbolic links are never used. However, for each symbolic link listed on the command line, chmod changes the permissions of the pointed-to file. In contrast, chmod ignores symbolic links encountered during recursive directory traversals." https://linux.die.net/man/1/chmod – Rinzwind Jun 15 '19 at 11:35
  • Thanks. Now i got it. How i understand on MacOS you can change the symbolic link permissions, is that right? – ph7 Jun 15 '19 at 11:39
  • 1
    yes more generic: on freebsd/openbsd you can (mac os uses openbsd). Those are UNIX clones so not Linux and UNIX has a couple of features in commands we never got in Linux). – Rinzwind Jun 15 '19 at 11:50

1 Answers1

25

While not an exact duplicate, this answer should provide a hint:

$ ls -l
total 0
-rw-r--r-- 1 vidarlo users 0 May 21 19:10 a
lrwxrwxrwx 1 vidarlo users 1 May 21 19:10 b -> a
$ chmod 755 b
$ ls -la
-rwxr-xr-x 1 vidarlo users 0 May 21 19:10 a
lrwxrwxrwx 1 vidarlo users 1 May 21 19:10 b -> a

In short: symlinks does not have permissions. Anyone can read where the symlink points to. The permissions of the target determines the access.

As Rinzwind points out, the -h flag is for *BSD versions of chmod. It does not work on GNU versions of chmod.

vidarlo
  • 23,571