내 환경에서는 Linux에서 실행되는 NFS 서버에 연결해야 하는 경우가 많습니다. 사용자 이름은 Linux 클라이언트 시스템에서 생성되며 순서대로 정렬됩니다. 하지만 각 사용자의 공유 권한을 개별적으로 설정하려면 useradd -u 2001 -g 1000 -d /home/app/mnt/1 user1
NFS 서버에서 생성해야 합니다. 내 클라이언트 시스템에 1000명의 사용자가 있으면 NFS 서버에서도 개별적으로 패키지해야 합니다.
Linux NFS 서버에서 쉘 스크립트를 사용하여 여러 사용자 이름을 생성하고 UID(무작위 아님)를 할당하고 싶습니다. 또한 홈 디렉토리를 자동으로 할당하고 싶습니다. 예를 들어 다음과 같은 사용자를 만들고 싶습니다.
| Username| UID |Home Directory|
| user1 |20001|/home/users/1 |
| user2 |20002|/home/users/2 |
| user3 |20003|/home/users/3 |
| . | . | . |
| . | . | . |
| . | . | . |
| userX |2000X|/home/users/X |
사용자 이름은 항상 "user"로 시작하며 변경되지 않습니다.엑스아마 100~1000개일 겁니다.
이러한 사용자는 필요하지만 수명이 짧기 때문에 중앙 사용자 관리 플랫폼을 원하지 않습니다. 쉘 스크립트가 일괄적으로 사용자를 생성할 수 있습니까?
나는 이것을 경험했다기사. 이것은 내가 원했던 것에서 시작되었지만 나에게는 이해가 되지 않는 일이 되었습니다.
답변1
제안된 대로 이는 달성하기 매우 쉽습니다. 터미널에서는 다음과 같이 for 루프를 사용할 수 있습니다.
for i in {20001..20100}; do useradd -u $i -g 1000 -d /home/app/mnt/$i "user${i}"; done
루프는 증가한 다음 20100
종료됩니다.