리눅스 쉘 스크립트 문의

livey의 이미지

안녕하세요

리눅스 shell script 를 처음 배워보는데

아래 세가지 작업을 자동화해보고싶습니다.

1. adduser 명령으로 계정 추가시 패스워드, 부가정보, y 입력을 자동화,

2. /etc/sudoers 파일 # User privilege specification 항목에 user ALL=(ALL:ALL) ALL 을 자동 추가,

3. MariaDB 에서 계정, 디비 추가 및 권한 설정을 하는 아래 스크립트를 자동으로 실행.

create user kim@'%' identified by '12345678';

create database mydb;

grant all privileges on mydb.* to 'kim'@'%';

exit

이런 작업들을 자동화 하고싶은데

검색을 통해 따라해봤지만 생각보다 잘 안되고 있어서 좀 헤매고있습니다.

혹시 이런 작업을 해주는 샘플 스크립트 자료가 있다면 좀 알고싶습니다

감사합니다

익명 사용자의 이미지

"검색을 통해 따라해봤지만 생각보다 잘 안되고 있어서"

무엇을 했는데 어떻게 안되는지 알려주시면
더 쉽게 도움을 받을 수 있습니다.

livey의 이미지

왜 익명으로 댓글 쓰시죠?
본인계정으로 댓글 쓰는게 좋지 않을까요?

익명 사용자의 이미지

이런 코멘트 달면 원 질문 답이 더 잘 달릴 것 같나요?

익명 사용자의 이미지

또 다른 사람입니다만,

계정을 걸고 답변을 달 때는 훨씬 더 공을 들여야 하기 때문에 그렇습니다.
그래서 그건 유료 서비스입니다. 원하신다면 연락처 남겨 주세요.

무료로 익명 답변 달 때도 그럭저럭 공을 들이긴 하지만, 아무래도 시간과 노력 면에서 어느 정도 타협이 있죠.

익명 사용자의 이미지

현업 아저씨들, 얄짤 없죠...

전, 로그인 시간 아까워, 필요하지 않으면 익명으로 쓰죠..

김정균의 이미지

1. adduser 명령으로 계정 추가시 패스워드, 부가정보, y 입력을 자동화,

입력을 받는 명령들의 경우에는 here document 를 이용하여 자동 입력을 할 수 있습니다.
예를 들어, passwd 의 경우에는 script 를 위하여 암호를 받아 들이는 옵션이 있기는 하지만, 입력을 요구하는 프로그램 처리 차원에서의 예로 봐 주시면 되겠습니다.

passwd 의 경우에는 두번의 암호 입력이 필요 합니다. 이럴 경우 다음과 같이 처리가 가능 합니다.

[root@an2 ~]# passwd test1 <<EOL
> aassddff
> aassddff
> EOL
test1 사용자의 비밀 번호 변경 중
새  암호:잘못된 암호: 다른 문자가 충분히 포함되어 있지 않습니다
잘못된 암호: 문자 클래스가 부족합니다
새  암호 재입력:passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.

잘못된 암호라고 나오는 것은 PAM의 암호 복잡도 설정 때문에 나오는 건데, root 로 실행했기 때문에 경고는 나왔지만 암호는 변경이 되기는 합니다. 이건 그냥 부수적인 설명이고요. 요는 위에처럼 here document 를 이용할 수 있습니다. here document 를 키워드로 검색해 보시면 도움이 되겠습니다.

2. /etc/sudoers 파일 # User privilege specification 항목에 user ALL=(ALL:ALL) ALL 을 자동 추가,

요즘은, /etc/sudoers.d 디렉토리에 파일을 생성해 주셔도 됩니다. 굳이 /etc/sudoers 를 편집할 필요 없이, /etc/sudoers.d 에 원하시는 sudo 설정을 파일로 만들어 놓으시면 됩니다. 이 기능을 이용하려면 /etc/sudoers 파일의 가장 마지막에 다음의 주석 내용이 있어야 합니다.

## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.