801 WORKPLACE

          追尋夢想,自由生活

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            10 Posts :: 1 Stories :: 1 Comments :: 0 Trackbacks
          Linux操作系統下Sudo命令的使用方法說明
          原地址:http://www.gz-benet.com.cn/bbs/Show.Asp?ID=4268
          “Sudo” 是Unix/Linux平臺上的一個非常有用的工具,它允許系統管理員分配給普通用戶一些合理的“權利”,讓他們執行一些只有超級用戶或其他特許用戶才能完成的任務,比如:運行一些像mount,halt,su之類的命令,或者編輯一些系統配置文件,像/etc/mtab, /etc/samba/smb.conf等。這樣以來,就不僅減少了root用戶的登陸次數和管理時間,也提高了系統安全性。
            
            一. sudo的特點  
            sudo扮演的角色注定了它要在安全方面格外謹慎,否則就會導致非法用戶攫取root權限。同時,它還要兼顧易用性,讓系統管理員能夠更有效,更方便地使用它。sudo設計者的宗旨是:給用戶盡可能少的權限但仍允許完成他們的工作。所以,sudo有以下特點:
            # 1. sudo能夠限制指定用戶在指定主機上運行某些命令。   
            # 2. sudo可以提供日志,忠實地記錄每個用戶使用sudo做了些什么,并且能將日志傳到中心主機或者日志服務器。   
            # 3. sudo為系統管理員提供配置文件,允許系統管理員集中地管理用戶的使用權限和使用的主機。它默認的存放位置是/etc/sudoers。
            # 4.sudo使用時間戳文件來完成類似“檢票”的系統。當用戶執行sudo并且輸入密碼后,用戶獲得了一張默認存活期為5分鐘的“入場券”(默認值可以在編譯的時候改變)。超時以后,用戶必須重新輸入密碼。
            二. sudo命令
            sudo程序本身就是一個設置了SUID位的二進制文件。我們可以檢查一下它的權限:
            $ls -l /usr/bin/sudo rcu9_q qb  
            ---s--x--x 2 root root 106832 02-12 17:41 /usr/bin/sudo
            它的所有者是root,所以每個用戶都可以像root那樣執行該程序。設置了SUID的程序在運行時可以給使用者以所有者的EUID。這也是為什么設置了SUID的程序必須小心編寫。但是設置一個命令文件的SUID 和用sudo來運行它是不同的概念,它們起著不同的作用。
            sudo的配置都記錄在/etc/sudoers文件中,我們下面將會詳細說明。配置文件指明哪些用戶可以執行哪些命令。要使用sudo,用戶必須提供一個指定用戶名和密碼。注意:sudo需要的不是目標用戶的密碼,而是執行sudo的用戶的密碼。如果不在sudoers中的用戶通過sudo執行命令,sudo會向管理員報告這一事件。用戶可以通過sudo -v來查看自己是否是在sudoers 之中。如果是,它還可以更新你的“入場券”上的時間;如果不是,它會提示你,但不會通知管理員。
            sudo命令格式如下:
            sudo -K | -L | -V | -h | -k | -l | -vsudo [-HPSb] [-a auth_type] [-c 
            class|-] [-p prompt] [-u username|#uid] {-e file [...] | -i | -s | command}
            下面我們再來看一下sudo其它常用的一些參數:
            選項 含義 作用   
            sudo -h Help 列出使用方法,退出。
            sudo -V Version 顯示版本信息,并退出。   
            sudo -l List 列出當前用戶可以執行的命令。只有在sudoers里的用戶才能使用該選項。   
            sudo -u username|#uid User 以指定用戶的身份執行命令。后面的用戶是除root以外的,可以是用戶名,也可以是#uid。
            sudo -k Kill 清除“入場卷”上的時間,下次再使用sudo時要再輸入密碼。
            sudo -K Sure kill 與-k類似,但是它還要撕毀“入場卷”,也就是刪除時間戳文件。
            sudo -b command Background 在后臺執行指定的命令。
            sudo -p prompt command Prompt 可以更改詢問密碼的提示語,其中%u會代換為使用者帳號名稱,%h會顯示主機名稱。非常人性化的設計。               sudo -e file Edit 不是執行命令,而是修改文件,相當于命令sudoedit。 
            還有一些不常用的參數,在手冊頁sudo(8)中可以找到
          posted on 2010-11-23 17:38 WangShishuai 閱讀(243) 評論(0)  編輯  收藏 所屬分類: Linux
          主站蜘蛛池模板: 利津县| 宜阳县| 南靖县| 沙田区| 南皮县| 盐山县| 墨竹工卡县| 彭山县| 湖南省| 伊金霍洛旗| 共和县| 江门市| 岐山县| 轮台县| 乐亭县| 宁都县| 民权县| 新邵县| 从江县| 合水县| 剑河县| 安丘市| 通许县| 桐城市| 泽州县| 隆林| 四会市| 定远县| 合作市| 三台县| 龙江县| 息烽县| 新昌县| 庆城县| 利辛县| 威海市| 都江堰市| 扶余县| 许昌市| 济南市| 乐安县|