Resolving links in Files/Directories?

Hi All,

Our system has switched from a straight user to a project-based layout (/project/GID-of-PI/user). There are symlinks in /home/user/project/pi-group/user to the /project/GID-of-PI/user, as users generally do not know the GID numbers.
In the Files/directories, as set here /etc/ood/config/apps/dashboard/initializers, I could easily add the links for each user, /home/user/project/pi-group/user to /project/GID-of-PI/user, using information from Groups and an example from OOD

Preformatted text

# add project space directories
  projects = User.new.groups.map(&:name).grep(/^pi-group-./)
  paths.concat projects.map { |p| FavoritePath.new("/home/#{User.new.name}/project/#{p}")  }

It works, but I ran into one problem: when filesharing happens on /project, via Lustre ACLs, links do not work for permissions that are not on /home.

Is there a way to dereference symlinks in OOD Ruby, in this case, the “/home/#{User.new.name}/project”? As what readline -f would do?

Thanks!

Grigory Shamov,
University of Manitoba

Ouch, chatgpt knew it already. Here , if anyone interested.

paths.concat projects.map { |p| FavoritePath.new(File.join(File.realpath("/home/#{User.new.name}/project/#{p}"), User.new.name)) }
2 Likes

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.