Permitir que outro usuário execute o programa?

1

Eu quero permitir que um usuário em particular execute um programa compilado no meu diretório. Eu tenho seu nome de usuário do cat / etc / passwd. O executável não grava qualquer arquivo, mas lê alguns e fornece saída na linha de comando. Como posso conseguir isso?

    
por aatish 04.11.2014 / 14:58

3 respostas

2

Se seus arquivos não são um segredo, você pode simplesmente tornar essa pasta legível para todos, ou para algum grupo onde você irá colocar você mesmo e o outro usuário.

Se você tiver um cenário com usuários que não devem ter permissão para acessar esses dados, será necessário usar uma estratégia baseada em sudo , para que o usuário com privilégios possa executar seu programa por meio de:

sudo ~user19448/myprogram/runme

Primeiro você tem que configurar seu sudo (por meio de visudo ) com algo como:

particular-user ALL=(ALL) NOPASSWD: /home/user19448/myprogram/runme

NOPASSWD evita a necessidade de digitar sua própria senha, o que você provavelmente quer.

    
por 04.11.2014 / 15:07
4

Eu adicionaria um novo grupo para incluir esse usuário nele e alterar os arquivos & executável para esse grupo.

  1. Crie um grupo groupadd Group_name

  2. Altere o grupo do arquivo (executável e os que serão lidos) chgrp Group_name file

  3. Tornar os membros de grupo disponíveis para o grupo executável chmod g+x executable_file

  4. Faça com que todos os arquivos que ele / ela precisarem sejam lidos pelo grupo chmod g+r file

  5. Adicionar usuário & você mesmo para agrupar useradd -G Group_name username

por 04.11.2014 / 15:09
2

A melhor opção é que ambos precisam estar em um mesmo grupo. Vamos dizer que você crie um grupo chamado team e ambos os caras são membros desse grupo. Então você pode permitir que ele o execute, dando ao grupo permissão de execução para esse programa.

Digamos que você tenha dois usuários chamados test e test1

# groupadd team

# usermod -G team test

# usermod -G team test1

Digamos que o diretório onde seu programa está em /home/test/programs/program1

Agora, altere a propriedade do grupo do diretório e do programa.

# chown test:test1 /home/test/programs/program1

# chown test:test1 /home/test/programs/

# chmod g+x /home/test/programs/program1

# chmod g+x /home/test/programs/

Agora, o usuário test1 poderá executar o programa.

Desta forma, é mais seguro e impede que outras pessoas abusem dele.

    
por 04.11.2014 / 15:12