Crie vários username e UID no Linux usando o shell script

2

No meu ambiente eu constantemente tenho que conectar um servidor NFS rodando no Linux. O sistema do cliente Linux possui nomes de usuários criados nele e eles estão em uma ordem sequencial. Mas para definir a permissão de compartilhamento para cada usuário individualmente, tenho que criá-los usando useradd -u 2001 -g 1000 -d /home/app/mnt/1 user1 no meu servidor NFS. Se o meu sistema cliente tiver 1000 usuários, também tenho que criá-los individualmente no meu servidor NFS.

Eu quero criar vários nomes de usuários e atribuir um UID (não aleatório) usando o script shell no meu servidor Linux NFS. Eu também quero atribuir-lhes um diretório pessoal automaticamente. Por exemplo, eu quero criar usuários como

| Username| UID |Home Directory|
|  user1  |20001|/home/users/1 |
|  user2  |20002|/home/users/2 |
|  user3  |20003|/home/users/3 |
|    .    |  .  |       .      |
|    .    |  .  |       .      |
|    .    |  .  |       .      |
|  userX  |2000X|/home/users/X |

O nome do usuário sempre começa com "usuário", permanece o mesmo. X pode ser de 100 a 1000.

Esses usuários são necessários, mas de curta duração, por isso não quero ir para uma plataforma central de gerenciamento de usuários. É possível que um script de shell possa criar usuários em massa?

Eu passei por este artigo . Isso começa exatamente com o que eu quero, mas depois entra em coisas que não fazem sentido para mim.

    
por Arvind 01.06.2016 / 21:35

1 resposta

2

Como sugerido, isso é bastante fácil de realizar. No terminal, você poderia usar um loop for assim:

for i in {20001..20100}; do useradd -u $i -g 1000 -d /home/app/mnt/$i "user${i}"; done

O loop é incrementado até 20100 e depois é encerrado.

    
por 01.06.2016 / 21:55