• Mar 05 Thu 2009 21:25
  • PAM

/etc/nologin            如果系統有此檔案,則使用者無法登入,並可以加入文字訊息

※PAM 的參考文件

/usr/share/doc/packages/pam

 

※PAM 的設定檔語法

  • auth          認證
  • account    帳戶資訊
  • password     變更密碼
  • session         操作期間

※PAM 的參數

以/etc/pam.d/login 為例

\image 

  • required         必要 (全部檢查後告知成功或失敗)
  • requisite          必要  (一旦失敗,立即結束)
  • optional          選項    (成功或失敗不影響結果)
  • sufficient    首要/特別   (一旦成功,不再檢查其它設定)

※例:要讓User  不需輸入密碼就可以登入

修改/etc/pam.d/login 設定中的include 的模組

image

 

vi  /etc/pam.d/common-auth    加入參數「nullok」則可以將帳號的密碼刪除(空密碼)就可以不用輸入密碼登入

若將  auth     required    pam_unix2.so   整行註解的話,系統中所有的使用者都不需密碼就可以登入

image

 

※設定讓特定的帳號不可登入

修改 /etc/pam.d/login

加入

auth  required  pam_listfile.so  item=user  file=/etc/user.deny  sense=deny  onerr=succeed

image

建立資料檔  /etc/user.deny

加入不可登入的帳號,則檔案內的使用者無法登入

 

※設定帳號於特定時間不能或可以登入

修改 /etc/pam.d/login

加入

auth  required  pam_time.so

修改time.so 設定檔

/etc/security/time.conf 設定檔

加入

login;終端機;帳號;Al0800-1700

image

 

※設定帳號登入錯誤次數並可以鎖定帳號

修改 /etc/pam.d/login

加入

auth           required  pam_tally.so  per_user

account       required  pam_tally.so

 

image

  • faillog         可以顯示目前有那些帳號登入的錯誤次數

image

  • faillog  -m  3          可以將faillog 的最大loging 錯誤次數修改為3
  • faillog   -r jack            可以將指定帳號的登入錯誤次數reset

奔騰兔 發表在 痞客邦 留言(0) 人氣()

※設定Quota (磁碟機配額)

vi  /etc/fstab

修改  /dev/md0  /mdeia/raid  ext2  defaults,usrquota,grpquota  0  0

重新掛載

mount  -o remount /dev/md0

安裝軟體

yast –i quota

建立資料檔會產生aquota.users 和aquota.group

quotacheck  -aug   或 quotacheck  -ug  /media/raid

啟動quota

 image

quotaon  -aug  或 quotaon  -ug  /mdeia/raid

repquota  -ag    查看所有配額設備,群組態for管理者

quota  -u     查看自已帳號的Quota狀態

quota  -g        查看自已群組Quota的狀態

edquota  -u  帳號      設定使用者磁磚配額

edquota  -g  群組       設定群組配額

edquota  -u  -t      設定使用者grace 時間

edquota  -g  -t      設定群組grace 時間

edquota  -p  帳號1  -u   帳號2                   複製使用者帳號群組Quota 設定給另一個使用者

edquota  -p  群組1  -g  群組2                   複製群組的Quota 設定給另一個群組

※建立帳號的時侯同時設定好Quota 設定

/usr/sbin/useradd.local

加入以下指令

echo $1

edquota  -p  帳號  -u  $1

奔騰兔 發表在 痞客邦 留言(0) 人氣()

  • Mar 03 Tue 2009 21:23
  • Raid

※建立Raid 分割(fd)

  • fdisk  /dev/sdb

建立raid

mdadm  -C  /dev/md0  -l5  -n3  /dev/sdb /dev/sdc /dev/sdd –x1 /dev/sde

  • -C        建立新的raid 
  • -l5       建立Raid Level 為raid5
  • -n3      建立3顆硬碟的raid
  • -x1     建立1顆spar 硬碟

※查看raid 內容

mdadm  -D  /dev/md0

※格式化掛載

  • mkfs  /dev/md0
  • mkdir  /media/raid
  • mount  /dev/md0  /media/raid
  • df -h

※Raid  操作

  • mdadm  /dev/md0  -f  /dev/sdb1     設定/dev/sdb1 為故障
  • mdadm  /dev/md0  -r  /dev/sdb1      將/dev/sdb1 移出Raid
  • mdadm  /dev/md0  -a  /dev/sdb1      將/dev/sdb1 加入md0 的Raid 中

奔騰兔 發表在 痞客邦 留言(0) 人氣()

  • Mar 03 Tue 2009 20:01
  • LVM

※建立LVM 磁碟

  1. 準備4顆硬碟,快照後開機
  2. 建立LVM 分割區(8e)   fdisk  /dev/sdb
  3. pvcreate  /dev/sdc       建立PV 
  4. pvscan                            可以掃瞄系統中所有的PV
  5. vgcreate  vg00  /dev/sdc     建立VG 將/dev/sdc PV  加入vg00 中
  6. vgscan                           可以掃瞄系統中所有的vg
  7. lvcreate  -L  52m  -n  lv00  vg00             建立lv
  8. 格式化並掛載
  • mkfs  /dev/vg00/lv00
  • mkdir  /media/lvm
  • mount  /dev/vg00/lv00  /media/lvm
  • df  -h

※擴大lv 空間

  • lvextend  -L  100MB  /dev/vg00/lv00           擴充分割區大加入100MB
  • umount  /dev/vg00/lv00               
  • e2fsck  -f  /dev/vg00/lv00                            修改分割區資訊
  • resize2fs  /dev/vg00/lv00  [大小]
  • mount  /dev/vg00/lv00  /media/lvm

※動態擴大lv空間(不需卸載)

  • lvextend  -L  120M  /dev/vg00/lv00         擴充分割區大加入120MB
  • ext2online  /dev/vg00/lv00  120M            使擴統空間生效

※縮小lv 空間

  • umount  /dev/vg00/lv00  
  • e2fsck  -f  /dev/vg00/lv00
  • resize2fs  /dev/vg00/lv00  100M
  • mount  /dev/vg00/lv00  /media/lvm
  • lvreduce  -L 100M  /dev/vg00/lv00

※擴大vg

  • vgextend  vg00  /dev/sdd             將/dev/sdd 分割區加入vg00 中
  • pvscan                                                    可以掃瞄系統中所有的PV

※縮小vg  (移除裝置)

  • pvmove  /dev/sdc  /dev/sdd           將/dev/sdc 的資料區塊移到/dev/sdd中
  • vgreduce  /vg00  /dev/sdb                  將/dev/sdb 移vg00

奔騰兔 發表在 痞客邦 留言(0) 人氣()

使用debugs 指令檢視硬碟的相關訊

  • debugfs  /dev/sdb1           使用debugs 指令檢視/dev/sdb1的相關訊  
  • stats                                  檢視磁碟狀態資訊
  • image
  •  
  • ls   -l              可以顯示磁碟中的檔案
  • image
  •  
  • stat  <編號>  或<檔案名稱>       可由inode檢視檔案的資訊
  • image

 

※使用DD 指令可以將inode 的資料Dump  出來

  1. 先掛載
  2. 產生檔案
  3. 卸載
  4. 查看Super Block 中的Block size
  5. 查看檔案inode的DataBlock 指向
  6. 用dd 把資料Dump出來

             dd  if=/dev/sdb1  of=save1  bs=1k  skip=datablock指向編號  count=1

image

 

image

image

 

image

 

  • dd  if=/dev/urandom  of=/dev/sdb1                 可以將大量的亂數資料塞到磁碟機中,可以破壞資料讓別人無

                                                                                           法看出磁碟內的資料

奔騰兔 發表在 痞客邦 留言(0) 人氣()

1.建立分割:

fdisk  /dev/dbs

2.格式化:

mkfs  /dev/sdb

3.掛載:

mkdir  /media/disk1

mount  /dev/dbs1  /media/disk1

4.設定開機會自動掛載:

vi  /etc/fstab

設備來源    掛載地點   格式      規則     是否備份   是否開機掃瞄

掛載選項:

  1. 下指令時使用
  2. 設定在/etc/fstab
  3. rw/ro   可讀寫/唯讀
  4. async/sync   非同步/同步
  5. atime/noatime     可以更新存取時間/不可更新存取時間
  6. dev/nodev       可使用設備檔/不可使用設備檔
  7. 例:mknod  設備檔  類型  主編號  次編號       mknod  /dev/xxx  b  22  0
  8. exec/noexec       可執行執行檔/不可執行
  9. suid/nosuid       suid 有作用/suid無作用
  10. nouser      一般帳號不能掛載以及卸載
  11. user           一般帳號能掛載以及卸載,其它user  不能卸載
  12. users             一般帳號能掛載以及卸載
  13. auto/noauto     開放自動掛載/不自動掛載

下指令時使用:

mount  -o  remount  設備或路徑

例:mount  -o  remount  /dev/sdb1

  • fuser  -vm  掛載路徑       查看有那些人在使用掛載的磁碟機
  • fuser  -km  掛載路徑       將掛載磁碟機上的使用者踢除

 

※磁碟工具指令:

  • df   -h              顯示儲存媒體
  • dd                    磁碟讀取及寫入工具
  • 例:dd  if=/dev/zero  of=/dir1/file1  bs=1M  count=1      產生file 檔案為1MB
  • du  路徑             計算目錄實際大小
  • 常用單位:
  • -b               byte
  • -k               KB
  • -m             MB
  • 常用計算選項:
  • -a              連檔案一起顯示
  • -S              不累加
  • -s               只顯示總計
  •  
  • fsck  分割區         磁碟機掃瞄,在卸載或唯讀下執行,不可以在磁碟掛載的狀況下掃瞄,容易造成資料的毀損
  • tune2fs  -O  has_journol  分割區            將ext2 的檔案格式轉換成ext3
  • tune2fs  -j  分割區                                    將ext2 的檔案格式轉換成ext3
  • tune2fs  -O  ^has_journol                        將ext3 的檔案格式轉換成ext2
  • lsof                                                                可以顯示目前被開啟的檔案有那些
  • lsof  -u  帳號                                              可以顯示目前帳號開啟的檔案有那些
  • lsof  -p  PID                                                可以顯示目前PID編號開啟的檔案有那些
  • lsof  -c  指令                                               可以顯示目前指令開啟的檔案有那些

奔騰兔 發表在 痞客邦 留言(0) 人氣()

檢視  /proc/prtitions 內容,顯示目前作業系統中所使用的磁碟機

使用fdisk 指令分割磁碟

fdisk  /dev/sdb                          建立新的分割區

  • m          說明
  • p           列出分割
  • n           建立新的分割
  • w          存檔離開
  • q          放棄離開

mkfs  -t  類型  /dev/sdb1        格式化分割區

類型:ext2、ext3、vfat、reiser

掛載磁碟機

  • mount  /dev/sdb1  /media/disk1       將分割好的磁碟掛載到系統中使用
  • df  -h                                                         檢視目前系統中所掛載的儲存空間
  • umount  /dev/裝置                                    卸載由系統掛載的設備
  • umount  /掛載點                                       卸載由系統掛載的設備

奔騰兔 發表在 痞客邦 留言(0) 人氣()

※檔案的權限設定:

image

  • 擁有者(本人)
  • 群組
  • 其它人

權限的表示方式可以用數字或符號來表示:

數字:

  • r(4) ==>讀取權限
  • w(2)==>寫入權限
  • x (1)==>執行權限

符號:

  • 擁有者(u)
  • 群組(g)
  • 其它人(o)
  • 全部(a)

 

  • chmod  000  /tmp/abc.txt              將abc.txt 檔案設定任何人都無權限
  • chmod  004  /tmp/abc.txt             將abc.txt 檔案設定其它人有讀取的權限

執行檔執行的條件分為以下二項: 

  1. 文字型檔案  (可讀取/可執行)
  2. 二進位檔案(可執行) 

※目錄的權限設定:

若目錄沒有任何設定時則無法進人目錄,必須至少有「x 」的權限才能進入

  • chmod  000  /tmp/abc         將abc目錄設定任何人都無權限
  • chmod  004  /tmp/abc             將abc目錄設定其它人有讀取的權限

各種指令執行時所需要的權限:

perm

 

※umask 的設定方式

預設的umask 為「022」可使用umask xxx  重新定義umask

計算遮罩方式以「666 -  遮罩」轉換成二進位的方式計算,被遮住的值不顯示。

 

※suid 模式下可以讓一般的帳號擁有執行程式擁有者相同權限
※sgid 模式下可以讓一般的帳號擁有執行檔群組相同權限來執行

image

 

※將sgid 設定於目錄上時,若在目錄下建立檔案以及目錄者都會繼承 sgid 目錄的群組

  • chmod g+s  /目錄        設定目錄為SGID

※sticky bit 模式,可以指定在目錄上,在目錄中只有檔案擁有者可以刪除檔案

  • chmod  o+t  /目錄     設定目錄為Sticky bit 模式

奔騰兔 發表在 痞客邦 留言(0) 人氣()

  • id  帳號                    顯示帳號及群組資訊
  • groups  帳號             列出帳號的群組
  • finger                       顯示線上使用者
  • finger  帳號             顯示該帳號詳細資訊
  • chfn  帳號               設定該帳號加資
  • chage  帳號           修改帳號shadow資訊
  • chage –l  帳號     查看該帳號shadow資訊
  • image
  • minumum                最小密碼修改間隔
  • maximun                 最大密碼可用天數,超過天數,含要求改密碼
  • warring                   密碼到期前後幾天開始警告
  • inactive                       密碼到期後幾天內要改密碼
  • account expres       帳號到期日
  • image
  • .
  • 手動新增帳號
  1. 修改/etc/passwd 檔案

加入一行:

tank::1002:100 ::/homt/taank:/bin/bash

帳號:密碼:使用者編號:群組編號:個人附加資訊:家目錄位置:shell 路徑

若使用手動修改/etc/passwd檔案的話需使用passwd  帳號   修改該帳號的密碼

手動建立家目錄:

cp –r  /etc/skel  /home/tabnk

chown  -R tank  /home/tank

※ /etc/shadow 檔案的格式

帳號:密碼:最後密碼異動日期:最小密碼修改間隔:最大密碼可用天數:密碼到期前幾天警告:密碼到期幾天內要變更:帳號到期日:保留

  • pwconv       產生/etc/shadow 檔案
  • pwunconv       關閉/etc/shadow  檔案,同時由shadow 所管理如chage –l 則無法使用(關閉shadow 後密碼則改存到/etc/passwd 中,其它人都可以看到密碼,會非常的不安全)

※/etc/group  檔案內容格式

群組名稱:群組密碼:群組編號:群組附屬成員

useradd 常用選項:

  • -m                                       建立家目錄
  • -u  1000                              指定使用者編號為1000
  • -c  “個人額外資訊”      指定建立帳號時額外的資訊
  • -g  gg1                               指定主要群組為gg1
  • -G  gg2,gg3                       指定次要群組為gg2,gg3
  • -e  2009-05-12                  指定到期日為20085月12日

/etc/default/useradd

新增帳號的時侯預設值

image

userdel  帳號                   刪除帳號

若刪除帳號時未指定同步刪除家目錄時,可以利用find 指定搜尋沒有user 的檔案

image

 

  • usermod  -u  編號  帳號                                         變更使用者編號uid
  • usermod –l  新的帳號名  帳號                            變更帳號名稱
  • usermod  -d  新的家目錄位置  -m  帳號            變更家目錄並將家目錄的資料同步搬移
  • passwd  -S  帳號                                                        顯示密碼狀態
  • passwd  -l  帳號                                                         鎖住密碼
  • passwd  -u  帳號                                                        解除鎖定
  • passwd  -e  帳號                                                        設定該帳號下一次登入時要改密碼
  • passwd  -d  帳號                                                       清除該帳號的密碼為空值

※若要修改密碼的序設值可以到 /etc/default/passwd 中修改「CRYPT_FILES=」的值

des             特徵為「無$」

md5             特徵為開頭「$1$」

blowfish        特徵為 開頭「$2a$」

 

  • groupadd  群組                                                    新增群組
  • groupdel  群組                                                      刪除群組
  • groupmod  -g  新的群組編號  群組               修改群組編號
  • groupmod   -n 新的群組名稱  群組               修改群組名稱
  • groupmod  -A 帳號  群組                                 將指定帳號加入群組
  • groupmod  -R  帳號  群組                              將指定帳號移出群組
  • newgrp  群組                                                     切換目前帳號到不同的群組並且為主要的群組
  • gpasswd  群組                                                   設定群組密碼
  • gpasswd  -r  群組                                             移除群組密碼
  • groupmod –P  l  群組                                   設定為不同的群組且不可切換

奔騰兔 發表在 痞客邦 留言(0) 人氣()

命令執行優先順序

  1. 別名  aliase
  2. 關鍵字
  3. 函數 fountion( )
  4. 內部命令
  5. $PATH
  • type  命令         找尋該命令為何稱種類型
  • type  -a  命令       找尋該命令包含了那些執行順序
  • image
  • .
  • builtin  內部命令             不考慮命令執行的優先順序,直接執行內部命令
  • command   $PATH 中的執行檔           不考慮命令執行的優先順序,直接執行$PATH 中的命令
  • which  執行檔                        尋找PATH 中的執行檔
  • whereis  檔案                             尋找執行檔/說明文件/設定檔/原始檔案,只尋找特定的路徑,如下圖
  • image 
  • .
  • find  路徑  條件  動作              find 可以尋找檔案
  • 例:image
  • .
  • find /etc  -iname  檔名                  使用find指令尋找檔案,並且不分大小寫
  • find  /home  -name   momo      使用find 尋找帳號momo 的檔案
  • find /home –uid   1001   使用find 尋找UID編號 的檔案
  • find  /home  -nouser          使用find 尋找沒有使用者的檔案
  • find /home –name  檔名  -exec 指令  {} \ ;     使用find 尋找檔案後再執行指令
  • -print                                 預設的指令
  • -exec  指令                       指定執行的指令
  • -ls                                      執行ls 功能顯示詳細顯示
  • -delete                               執行刪除檔案功能

奔騰兔 發表在 痞客邦 留言(0) 人氣()