星期二, 9月 30, 2014

2014IT鐵人賽-15-利用zypper指令管理套件庫及套件

2014IT鐵人賽-15-利用zypper指令管理套件庫及套件


今天一樣使用 EasyCloud  雲端簡單龍的帳戶, 那就登入 https://gemini.nchc.org.tw/ 來開始練習openSUSE 基礎指令吧.


今天練習使用 zypper 指令來管理套件以及套件庫


筆記部份:


傳統的套件安裝方式
套件的安裝
Source code *.tar.gz <必須解決相依性問題>
RPM套件 *.rpm <必須解決相依性問題>


-----------------------------------------------------------
現行狀況 <利用線上的Sever解決相依性的問題>
APT(Debian)
YAST(SuSE)
YUM(RedHat)


zypper 是 openSUSE 內的軟體管理指令, 他不只可以管理套件, 也可以管理套件庫.


zypper 文字介面的軟體安裝指令
語法
zypper  [全域選項]   指令   [指令選項]   [參數] ...


常用的 zypper 指令
zypper                  # 列出可用的全域選項與指令
zypper help search      # 列出有關 search 指令的說明
zypper lp              # 列出所需的修補程式
zypper patch            # 安裝所需的修補程式
zypper se sqlite        # 搜尋 sqlite 套件
zypper rm sqlite2       # 移除 sqlite2 套件
zypper in sqlite3       # 安裝 sqlite3 套件
zypper in yast*         # 安裝所有符合 'yast*' 名稱的套件
zypper repos # 列出安裝的套件庫
zypper up              # 使用較新版本更新已安裝的套件



開始練習吧


Lab: 利用zypper 指令管理套件庫及套件


# zypper repos -d <列出目前安裝的套件庫, -d 詳細>


使用 zypper 指令新增套件庫, 設定別名為 mozilla
# zypper addrepo http://download.opensuse.org/repositories/mozilla/SLE_11/ mozilla


# zypper repos -d <列出目前安裝的套件庫, -d 詳細>


# zypper removerepo mozilla <移除mozilla套件庫>


# zypper repos -d <列出目前安裝的套件庫, -d 詳細>


#zypper search gvim <查詢gvim套件資訊>


#zypper install gvim <安裝gvim套件>


#zypper search gvim <查詢gvim套件資訊, 請留意狀態 i>


#zypper remove gvim <移除gvim套件>


#zypper search gvim <查詢gvim套件資訊>





Fun with Day 15 ~

星期一, 9月 29, 2014

2014IT鐵人賽-14-umask 與 特殊權限

2014IT鐵人賽-14-umask 與 特殊權限


今天一樣使用 EasyCloud  雲端簡單龍的帳戶, 那就登入 https://gemini.nchc.org.tw/ 來開始練習openSUSE 基礎指令吧.


今天練習umask 與特殊權限


筆記部份:


上一篇介紹權限, 接下來我們來聊聊預設的權限該如何設定


**建立檔案/資料夾的預設權限計算**

建立檔案預設權限 666
建立資料夾預設權限 777


那這樣是不是檔案開放太多權限?
所以系統使用 umask 這個機制來移除特定的權限

umask 022 (定義於/etc/profile)

umask 權限遮罩

預設權限計算: 預設權限 使用 umask 遮罩(移除)住特定權限

舉例來說, 如果在系統內建立一個檔案

預設權限
r w - r w - r w -

umask
- - - - w - - w -

------------------------------------------------------------
r w - r - - r - -
6 4 4


舉例來說, 如果在系統內建立一個資料夾

預設權限
r w x r w x r w x

umask
- - - - w - - w -

------------------------------------------------------------
r w x r - x r - x
7 5 5
接下來介紹特殊權限
特殊權限
SUID --> user的特殊權限, 會繼承 使用者ID
SGID --> group的特殊權限, 會繼承群組
Sticky bit --> other的特殊權限, 非擁有者本人不能刪除檔案

故權限的表示方式為四碼
第一碼為特殊權限, 後三碼為一般權限
特殊權限的加總
SUID --> 4
SGID --> 2
Sticky bit --> 1
User 權限
Group 權限
Other 權限


但是因為特殊權限都在原本一般權限 x 的位置來表示, 所以如何知道原本是否有 x  權限?
Q:差異為?
s:原來有x
S:原來無x
t:原來有x
T:原來無x


權限轉換
rwsr---wT --> 5742
4752 --> rwsr-x-w-
rwSrwsr-t --> 7675
6744 --> rwsr-Sr--


開始練習吧


Lab: umask 與檔案建立權限計算


#cd /home/max
#umask <列出目前的umask>
#cat /etc/profile | grep umask <觀察系統設定>


#touch rootfile
#mkdir rootdir
#ls -ld root* <請觀察權限>


#umask 013 <自訂umask 013,暫時性生效>
#umask <列出目前的umask>
#touch rootfile2
#mkdir rootdir2
#ls -ld root* <請觀察權限>
#exit <因為剛有改umask故登出以免影響>


Lab: SUID
#ls -l /bin/cat <請觀察權限>
#ls -l /etc/shadow <請觀察權限>


#su - user1 -c "cat /etc/shadow" <user1身份查看/etc/shadow,失敗,因為無 r 權限>


#chmod u+s /bin/cat <cat指令加上 SUID 權限>
#ls -l /bin/cat <請觀察權限>
#ls -l /etc/shadow <請觀察權限>
#su - user1 -c "cat /etc/shadow" <user1身份查看 /etc/shadow --> 成功>
<cat指令有設定SUID,故執行時身份會變成cat指令所有人root, root/etc/shadowr 的權限,故可以查看>


#chmod u-s /bin/cat <請將SUID權限移除>
#su - user1 -c "cat /etc/shadow" <user1身份查看/etc/shadow,失敗,因為無 r 權限>




Lab: SGID
目的:建立部門資料夾,不管任何使用者在該目錄下
建立檔案資料夾,繼承該目錄群組


#mkdir /mis
#groupadd mis <新增mis群組>


#ls -ld /mis <請觀察權限及擁有者,群組>
#chown root.mis /mis </mis資料夾的群組改為mis所有>


#ls -ld /mis <請觀察權限及擁有者,群組>
#touch /mis/test
#ls -l /mis <請觀察權限及擁有者,群組>


#chmod g+s /mis </mis資料夾加上SGID>
#ls -ld /mis <請觀察權限及擁有者,群組>


#touch /mis/test2
#ls -l /mis <請觀察權限及擁有者,群組>

Lab: sticky bit
目的:不管權限為何不可以刪除其他人的檔案


#mkdir /test
#chmod 1777 /test </test加上sticky bit 權限並將權限設定為777>
#touch /test/test.txt
#chmod 777 /test/test.txt
#ls -ld /test <請觀察權限及擁有者,群組>
#ls -l /test <請觀察權限及擁有者,群組>
#su - user1 -c "rm /test/test.txt" <以使用者user1刪除 /test/test.txt -->失敗>
</test目錄有設定sticky bit權限,非本人不能刪除>




Fun with Day 14 ~