Como configurar os sudoers no desktop centos?

1

Em centos6.8, até definir o plano de fundo padrão da área de trabalho precisa da senha de root, então eu uso a função sudo na minha empresa 500 laptops.

james01   ALL=(ALL)      NOPASSWD: sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool,/bin/rpm, /usr/bin/up2date, /usr/bin/yum

1.Como evitar que o usuário edite / sbin / iptables? sudoers não tem sintaxe como !/sbin/iptables
2.Como definir 500 laptops com o nome de usuário diferente, como robin01, marry01?
3. Existe um arquivo sudoers como exemplo clássico para controlar o direito do usuário?

    
por jackson883 12.01.2017 / 05:22

2 respostas

2

Você pode usar '!' para negar comandos, usuários, etc. No entanto, você deve ser cuidadoso. A man page para sudoers carrega este aviso;

Limitations of the ‘!’ operator It is generally not effective to “subtract” commands from ALL using the ‘!’ operator. A user can trivially circumvent this by copying the desired command to a different name and then executing that. For example: bill ALL = ALL, !SU, !SHELLS Doesn't really prevent bill from running the commands listed in SU or SHELLS since he can simply copy those commands to a different name, or use a shell escape from an editor or other program. Therefore, these kind of restrictions should be considered advisory at best (and reinforced by policy). In general, if a user has sudo ALL there is nothing to prevent them from creating their own program that gives them a root shell (or making their own copy of a shell) regardless of any ‘!’ elements in the user specification.

Seu exemplo de iptables ilustra bem isso. Se você não conceder ALL , você terá que conceder explicitamente permissões para um comando ou conjunto de comandos que permitiria que eles editassem o iptables. Você não precisa negar quaisquer comandos , a menos que você use ALL . Será extremamente desafiador evitar isso de outra forma.

Em vez de definir a política para 500 usuários, por que não aplicá-la a grupos? Se todos estiverem em um grupo comum, você poderá usar '%' para denotar um grupo. Veja o exemplo em / etc / sudoers para o grupo wheel.

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)   ALL
    
por 12.01.2017 / 05:37
0

Se você precisar definir isso em 500 laptops diferentes. Você pode usar algumas ferramentas de automação. Eu sugiro que você "Ansible" .. É uma ferramenta sem cliente, você só precisa de credenciais ssh para isso. Experimente, vai realmente resolver o seu trabalho.

Se você quiser, posso fazer script para você. Se estiver interessado, por favor ping. Feliz em ajudar você.

    
por 13.01.2017 / 03:45