sudo

위키百科, 우리 모두의 百科事典.

sudo
開發者 Todd C. Miller
安定化 버전
1.8.22 / 2018年 1月 16日 (6年 前) ( 2018-01-16 )
貯藏所
運營 體制 유닉스 系列
種類 權限 附與
라이선스 ISC -style [1]
웹사이트 www.sudo.ws

sudo 命令語는 유닉스 유닉스 系列 運營 體制 에서, 다른 使用者의 保安 權限, 普通 슈퍼유저 로서 프로그램을 驅動할 수 있도록 하는 프로그램 이다. 名稱은 本來 슈퍼유저로서의 實行에 使用되던 것에서 “superuser do”에서 由來하였으나, 後에 프로그램의 機能이 擴張되며 “substitute user do”(다른 使用者의 權限으로 實行)의 줄임말로 解釋되게 되었다. 基本的으로 sudo는 使用者 祕密番號를 要求하지만 루트 祕密番號(root password)가 必要할 수도 있고, 한 터미널에 한番만 入力하고 그 다음부터는 祕密番號가 必要 없다. [2] Sudo는 各 命令줄에 使用할 수 있으며 一部 狀況에서는 管理者 權限을 위한 슈퍼유저 로그인(superuser login)을 完璧히 代身하며, 主로 우분투 , 리눅스 애플 OS X 에서 볼 수 있다. [3] [4]

歷史 [ 編輯 ]

Robert Coggeshall과 Cliff Spencer는 1980年 즈음 SUNY/버펄로 의 컴퓨터 科學部에서 오리지널 下位 시스템을 作成했다. [5] Robert Coggeshall은 sudo를 콜로라도 볼더 大學校 로 가져왔다. 1986年부터 1993年까지 코드와 機能은 콜로라도 볼더 大學校 컴퓨터 科學部, College of Engineering and Applied Science의 IT 職員들(Todd C. Miller 等)에 依해 實質的으로 修正되었다. [5] 現在 버전은 1994年 以後로 OpenBSD 의 開發者 Todd C. Miller가 公開的으로 維持補修하고 있으며, [5] 1999年 以後로 SC-스타일 라이선스로 配布되고 있다. [5]

2009年에 MS 가 sudo 命令語를 特許로 登錄했다는 것이 밝혀져 큰 波長을 일으켰으나 [6] , 그 請求項들은 sudo의 槪念이라기보다는 特定한 GUI 에 對해 좁게 考案된 것이었다 [7] .

예제 [ 編輯 ]

sudo 命令語를 實行하기 前에, 使用者들은 祕密番號를 入力한다. 한 番 承認되고 萬若 /etc/sudoers 設定 파일이 그 유저를 承認한다면 命令은 實行된다. kdesu, kdesudo, gksu, gksudo와 같이 GUI 環境에서 使用할 수 있는 몇몇 命令語 들이 있다. [8] 다음은 接近이 拒否된 例이다.

snorri@rimu:~$ 
sudo
 emacs
 /etc/resolv.conf

We assume you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:


1) Respect the privacy of others.

2) Think before you type.

3) With great power comes great responsibility.


Password:

snorri is not in the sudoers file. This incident will be reported.

아래의 로그는 失敗한 試圖와, snorri를 /etc/sudoers에 追加한 뒤에 成功한 試圖이다.

snorri@rimu:~$ 
sudo
 tail
 /var/log/auth.log
Aug 5 06:00:28 localhost sudo: snorri : user NOT in sudoers ; TTY=pts/1 ; PWD =/home/snorri ; USER=root ; COMMAND=/usr/bin/emacs /etc/resolv.conf

Aug 5 06:01:15 localhost su[15573]: (pam_unix) session opened for user root by snorri(uid=1000)

Aug 5 06:02:09 localhost sudo: snorri : TTY=pts/1 ; PWD=/home/snorri ; USER=root ; COMMAND=/usr/bin/emacs /etc/resolv.conf

Aug 5 06:02:49 localhost sudo: snorri : TTY=pts/1 ; PWD=/home/snorri ; USER=root ; COMMAND=/usr/bin/tail /var/log/auth.log

runas, su, 그리고 sudo [ 編輯 ]

윈도는 runas 라고 불리는 命令語를 가지고 있다. 이것의 機能은 비슷하나 runas도 아니고 使用者 計定 컨트롤 (UAC)도 아닌 것이 sudo이다. - 그들은 權限을 追加하기 보다는 다른 使用者를 假裝한다.

runas와 su:

  • 權限이 附與된 유저가 그들 固有의 글을 利用하여 높은 權限의 프로세스를 實行하는 것을 許諾치 않는다.
  • 使用者의 프로파일과 客體의 所有權을 保存하지 않는다.

runas命令語는 sudo가 아니라 유닉스의 su와 더 同等하다. sudo가 su에 비해 더 優秀한 理由는 su는 使用者의 固有 身分에 基盤해 權限 移動을 엑세스하고, 가장 重要한 것은 sudo는 祕密番號 共有가 必要 없기 때문이다. runas나 su를 特權 計定을 엑세스하기 위해 使用하는 것은 管理者-可能 計定의 祕密番號를 流布하는 것이 必要하기 때문에 sudo에는 없는 保安上의 弱點을 가지고 있다.

RBAC [ 編輯 ]

SELinux 와 함께 使用하면, sudo는 役割 基盤 接近 制御 (RBC)의 役割 轉換을 위해 使用할 수 있다. [9]

道具 및 類似 프로그램 [ 編輯 ]

  • visudo - /etc/sudoers 파일을 修正하여 使用하는 vi 基盤 프로그램.

各州 [ 編輯 ]

  1. “Sudo License” . 2015年 7月 31日에 原本 文書 에서 保存된 文書 . 2010年 5月 22日에 確認함 .  
  2. “Manpage for sudo” . 2007年 6月 12日에 原本 文書 에서 保存된 文書 . 2007年 11月 4日에 確認함 .  
  3. RootSudo - Community Ubuntu Documentation
  4. MacDevCenter.com - Top Ten Mac OS X Tips for Unix Geeks
  5. Miller, Todd C. “A Brief History of Sudo” . 2007年 3月 5日에 確認함 .  
  6. Lilly, Paul. “Microsoft has Patented "sudo." Yes, the Command” . 2009年 11月 16日에 原本 文書 에서 保存된 文書 . 2009年 11月 13日에 確認함 .  
  7. http://blog.seattlepi.com/microsoft/2009/11/12/did-microsoft-just-sneakily-patent-an-open-source-tool/
  8. “Introduction to Authorization Services Programming Guide” . 2010年 3月 5日에 原本 文書 에서 保存된 文書 . 2010年 5月 22日에 確認함 .  
  9. “SELinux Lockdown Part Five: SELinux RBAC” . 2012年 11月 17日에 確認함 .  

外部 링크 [ 編輯 ]