Se você puder fazer isso, eu acho que seria feito em algum lugar com o PAM (Pluggable Authentication Modules). Ou talvez a diretiva 'requiretty' do arquivo de suoders ( man sudoers
).
No entanto, acho que você pode querer mencionar seu objetivo. Isso não parece certo para mim de uma perspectiva de segurança. Acho que faria mais sentido ter contas diferentes com diferentes níveis de acesso e permitir que essas contas façam login de um determinado endereço IP. Então você tem dois níveis Macro de segurança, autenticação por senha e IP. O nível principal é a conta - eu acho que uma conta deve ser capaz de fazer as mesmas coisas, não importa de onde eles entraram.
Usar o arquivo sudoers para restringir comandos parece um pouco difícil de encontrar para mim, então eu só usaria isso como uma camada adicional de segurança para o que eu mencionei acima.
Então, no final, minha recomendação é:
- Crie contas / grupos diferentes com o acesso que você
quer, e dar-lhes acesso a esses comandos no arquivo suoders. A ideia é que existam contas 'externas (não-lan)' que podem nunca executar certos comandos e contas com privilégios que podem.
- Use o PAM para controlar onde essas contas privilegiadas podem fazer login, aqui é um exemplo fazendo isso com ssh.