Enable pam_slurm_adopt in all compute nodes
Prevents access to owl1 and owl2 too if the user doesn't have any jobs running there.
This commit is contained in:
		
							parent
							
								
									018d94bd77
								
							
						
					
					
						commit
						541c16cf44
					
				| @ -93,20 +93,4 @@ | ||||
|     wantedBy = [ "multi-user.target" ]; | ||||
|     serviceConfig.ExecStart = script; | ||||
|   }; | ||||
| 
 | ||||
|   # Only allow SSH connections from users who have a SLURM allocation | ||||
|   # See: https://slurm.schedmd.com/pam_slurm_adopt.html | ||||
|   security.pam.services.sshd.rules.account.slurm = { | ||||
|     control = "required"; | ||||
|     enable = true; | ||||
|     modulePath = "${pkgs.slurm}/lib/security/pam_slurm_adopt.so"; | ||||
|     args = [ "log_level=debug5" ]; | ||||
|     order = 999999; # Make it last one | ||||
|   }; | ||||
| 
 | ||||
|   # Disable systemd session (pam_systemd.so) as it will conflict with the | ||||
|   # pam_slurm_adopt.so module. What happens is that the shell is first adopted | ||||
|   # into the slurmstepd task and then into the systemd session, which is not | ||||
|   # what we want, otherwise it will linger even if all jobs are gone. | ||||
|   security.pam.services.sshd.startSession = lib.mkForce false; | ||||
| } | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| { lib, ... }: | ||||
| { lib, pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   imports = [ | ||||
| @ -21,4 +21,20 @@ | ||||
|   }; | ||||
| 
 | ||||
|   services.slurm.client.enable = true; | ||||
| 
 | ||||
|   # Only allow SSH connections from users who have a SLURM allocation | ||||
|   # See: https://slurm.schedmd.com/pam_slurm_adopt.html | ||||
|   security.pam.services.sshd.rules.account.slurm = { | ||||
|     control = "required"; | ||||
|     enable = true; | ||||
|     modulePath = "${pkgs.slurm}/lib/security/pam_slurm_adopt.so"; | ||||
|     args = [ "log_level=debug5" ]; | ||||
|     order = 999999; # Make it last one | ||||
|   }; | ||||
| 
 | ||||
|   # Disable systemd session (pam_systemd.so) as it will conflict with the | ||||
|   # pam_slurm_adopt.so module. What happens is that the shell is first adopted | ||||
|   # into the slurmstepd task and then into the systemd session, which is not | ||||
|   # what we want, otherwise it will linger even if all jobs are gone. | ||||
|   security.pam.services.sshd.startSession = lib.mkForce false; | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user