반응형
앞에 1_이 붙은게 version1 스크립트이다.
# 유저/폴더 생성, 권한 및 계정 전환 쉘 스크립트
version1과 version2가 있다.
차이점은 version2는 생성하고 싶은 user명을 받는다. 즉 생성하고 싶은 user명을 마음대로 입력하면 자동 생성된다.
version1은 생성하고 싶은 user명을 쉘 스크립트상에 입력해야 한다. (자세한 설명은 아래)
먼저 version2부터 소개한다.
version2
생성하고 싶은 user명을 입력하면, user가 생성되고, 생성된 user명으로 폴더 하나가 생성된다.
아래와 같은 script를 저장하기 위해 script 폴더 생성하는 쉘 스크립트도 포함되어 있지만, 삭제하여도 무방하다.
=> mkdir script 부분
vi user_folder_create.sh | |
구현하고 싶은 내용 | 구현 아이디어 내기 |
User 생성 및 폴더 생성 및 권한주기 생성된 user로 계정 전환 |
계정명, 폴더명을 받아 생성 |
쉘 스크립트 내용 | |
#!/bin/bash #user create echo -n "Enter you wanna create user name: " read USER_NAME groupadd $USER_NAME useradd -g $USER_NAME $USER_NAME passwd $USER_NAME echo "user added finish" #user folder create echo "folder create start" cd /home/$USER_NAME mkdir $USER_NAME cd $USER_NAME chown -R $USER_NAME:$USER_NAME . echo "folder create finish" mkdir script cd .. # 계정전환 echo "user change" echo -e "\033[47;31m you should locate was and script file on folder \033[0m" su - $USER_NAME |
|
결과 | |
[root@localhost script]# ./user_folder_create.sh Enter you wanna create user name: postgres postgres 사용자의 비밀 번호 변경 중 새 암호: 잘못된 암호: 암호에 어떤 형식으로 사용자 이름이 포함되어 있습 니다 새 암호 재입력: passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다. user added finish folder create start folder create finish user change you should locate was and script file on folder 마지막 로그인 실패: 화 8월 31 21:25:58 KST 2021 일시 pts/0 마지막 로그인 후 799 번의 로그인 시도가 실패하였습니다. [postgres@localhost ~]$ exit |
|
기타사항 | |
없음. | |
그 밖에 알아두면 좋은 사항 | |
l 사용자계정 지우기 [root@localhost ~]# userdel -r fido // -r 옵션까지 사용해야 홈디렉토리 까지 삭제된다. l 실행권한주기 쉘 스크립트를 실행하기 앞서 아래 명령어로 실행 권한을 미리 줘야한다. [root@localhost script]# chmod +x user_folder_create.sh | 쉘 스크립트 문법 read : 표준입력에서 입력 받아 변수에 할당 |
version 1
user, group명을 fido로 했지만, 다른 이름으로 변경 가능하다. (즉 빨간 부분 자신에 맞게 변경가능)
폴더명을 MagicFIDO와 script로 하고 생성했지만, 다른 이름으로 변경 가능하다.
이름을 변경 후에는 권한과 이동 등 다른 명령어에도 적절하게 변경해준다.
vi user_folder_create.sh | |
구현하고 싶은 내용 | 구현 아이디어 내기 |
User 생성 및 폴더 생성 및 권한주기 생성된 user로 계정 전환 |
중요한 문구에 색깔 넣기. |
쉘 스크립트 내용 | |
#!/bin/bash #user create echo "user create start" groupadd fido useradd -g fido fido passwd fido echo "user added finish" #fido folder create echo "folder create start" cd /home/fido mkdir MagicFIDO cd MagicFIDO mkdir script cd .. chown -R fido:fido MagicFIDO echo "fido folder create finish" #fido 계정전환 echo "user change" echo -e "\033[47;31m you should locate was and script file on folder \033[0m" su - fido |
|
결과 | |
[root@localhost script]# ./user_folder_create.sh fido user create start fido 사용자의 비밀 번호 변경 중 새 암호: 잘못된 암호: 암호는 8 개의 문자 보다 짧습니다 새 암호 재입력: passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다. fido user added finish fido folder create start fido folder create finish fido user change you should locate was and script file on MagicFIDO folder |
|
기타사항 | |
다음에 만들 때는 계정명, 폴더명을 받아 생성하게 만들기 => version2에서 완성 |
|
그 밖에 알아두면 좋은 사항 | |
l 사용자계정 지우기 [root@localhost ~]# userdel -r fido // -r 옵션까지 사용해야 홈디렉토리 까지 삭제된다. l 실행권한주기 [root@localhost script]# chmod +x user_folder_create.sh |
# 쉘 스크립트 문법
내부 명령어
내부 명령어 | 설명 |
exit | 쉘 스크립트 종료 |
continue | For, while, until 등의 반복문에서 사용 진행 중인 작업을 중단하고 반복문 처음으로 이동 |
break | For, while, until 등의 반복문에서 사용 반복을 종료 done 다음 명령 실행 |
return | 쉘 함수 종료 시 결과 값 반환 |
read | 표준입력에서 입력 받아 변수에 할당 |
expr | 수식의 결과 출력 |
echo 문자 색 변경하기
메시지 표시에 문자색을 바꾸거나 반전시키는 등 주의를 끌고 싶을 때
사용방법
echo -e \033[31m 표시할 문자열 \033[0m
파라미터 여러 개 나열 할 때는 ;로 나열
30번대가 문자색, 40번대가 배경색입니다.
색 지정값
검정 | 빨강 | 초록 | 노랑 | 파랑 | 보라 | 하늘색 | 흰색 | |
문자 | 30 | 31 | 32 | 33 | 34 | 32 | 36 | 37 |
배경 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
사용 예시
ex) 31번은 문자색 빨강, 47번은 배경색 흰색이다
echo -e "\033[47;31m you should locate was file on MagicFIDO folder \033[0m"
반응형
'Linux > Shell script' 카테고리의 다른 글
sed 사용법 및 예시 (0) | 2021.09.18 |
---|---|
linux tomcat 9 컨테이너 분리 shell script (0) | 2021.09.17 |
linux tomcat9 설치 shell script (0) | 2021.09.06 |
linux JAVA 설치 방법 및 Shell script + if문 (2) | 2021.09.03 |
Linux alias 설정 및 치환 명령어 (0) | 2021.08.17 |
댓글