Este é um caso de uso típico para sudo.
Você está misturando o sudoque permite executar comandos como outro usuário e é altamente configurável (você pode especificar seletivamente qual usuário pode executar qual comando como qual usuário) e suque alterna para outro usuário se você souber a senha (ou é root). susempre executa o shell escrito /etc/passwd, mesmo que su -cseja usado. Por isso, sunão é compatível com /usr/sbin/nologin.
Você deveria usar
sudo -u secure /home/someuser/secure.script
Como sudoé configurável, você pode controlar quem pode usar esse comando e se ele / ela precisa digitar uma senha para executá-lo. Você precisa editar /etc/sudoersusando visudopara fazer isso. (Tome cuidado ao editar o / etc / sudoers e sempre use o visudo para fazer isso. A sintaxe não é trivial e um erro pode impedi-lo de acessar sua conta root.)
Essa linha em sudoers permite que qualquer pessoa do grupo somegroupexecute o comando como secure:
%somegroup ALL=(secure) /home/someuser/secure.script
Isso permite que qualquer pessoa no grupo somegroupexecute o comando como securesem inserir uma senha:
%somegroup ALL=(secure) NOPASSWD: /home/someuser/secure.script
Isso permite user1executar o comando como securesem inserir uma senha:
user1 ALL=(secure) /home/someuser/secure.script
sudo su, consulte unix.stackexchange.com/questions/218169/…