왜 계정과 암호를 같이 설정할 수 없을까요?

wacom의 이미지

adduser 명령어는 왜 암호와 계정을 같이 설정을
못하게 만들어 놨을까요?
같이 설정하면 편할텐데, 지금까지 그걸 불편해하는 사람이 없어서
그랬을까요?, 아니면 무슨 숨은 의미가 있는걸까요?
더 좋은 명령으로 대체되지않고 adduser 명령어가 그런 기능 없이 살아있는게 궁금합니다.

무한포옹의 이미지

다 그런 건 아닙니다.

debian 이나 freebsd 에서 쓰이는 adduser 에는 계정생성과 동시에 password 를 물어보고 간단한 사용자 정보(이름,연락처...등등)을 같이 입력하게 되어있습니다.

말씀하신 password 를 물어보지 않는 useradd 도 있긴 합니다만. (사실 adduser는 useradd의 프론트 엔드입니다)

-------------------------------
== warning 대부분 틀린 얘기입니다 warning ===

codebank의 이미지

UNIX의 정신(?) 때문에 그런걸로 알고 있습니다.
즉, 하나의 명령은 하나의 일만을 한다...
간단한것이 아름다운 것이다.(?) 뭐 그런 말들이 있죠.
*NIX의 대부분의 명령들을 보면 단 하나의 일만을 처리하게 만들어져 있죠.
이런 명령어들을 조합해서 사용자가 자신에 입맞에 맞게 쉘스크립트를 만들 수도
있습니다.
즉, 명령어를 만드는데 여러가지 생각을 하지 않아도 되도록한 부분이죠.
이렇게 생각을 해보시면 이해하기 편리할겁니다.
-----
adduser에 password를 받아들이는 부분을 만들었다.(물론 -p명령으로 있기는
합니다.) 그동안 잘사용하다가 password의 암호화부분중 crypt함수에 중대한
결함이 있어 파일을 다시 받아오던가 컴파일 해야한다.
passwd부분에 관련된 부분이므로 관리자는 새로운 passwd파일만 대체한다.
adduser에 포함되어있는 password는 예전 문제를 그대로 안고있다.
login을 하게되면 adduser에서 생성된 password와 새로운 passwd가 맞지
않아서 login이 불가능하다.
관리자는 원인을 파악하는데 몇일이 걸린다.
-----
물론 가상적인 이야기지만 만일 passwd를 포함시켜버리면 일의 갯수가 많이
늘어나게 되죠. 음... 그리고 사용하는 passwd에 따라서 adduser의 변경도
바꾸어주어야하고(pam, md5, crypt...) 이런 일련의 작업들이 들어가게되면
결국 passwd가 하던 일들을 adduser에서 그대로 작업을 해주게 되어서 결국
passwd와 adduser의 유지보수에 많은 시간이 할애됩니다.
관리자도 문제가 발생했을때 한가지일만 해도 될 일을 여러가지일로 늘어나게
되고 관리의 효율성도 떨어지게 되겠죠.

참고로 adduser의 man page를 보면 -p옵션으로 암호를 지정하게 되어있습니다.
하지만 현재 시스템에서 md5나 PAM같은 암호체계를 사용하신다면 이용을
하지 말아야합니다.

그리고 adduser를 통해서 password까지 입력받는 방법은 shell script형태로
존재한다고 알고 있습니다. 구글을 통해서 찾아보세요. :)

------------------------------
좋은 하루 되세요.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.