2015年9月23日 星期三

Linux 第六章

Linux 系統權限的程序控制

Linux系統檔案權限

權限                 對檔案的影響                         對目錄的影響

r(read)              可以讀取檔案的內容             可以列出目錄裡檔案的名稱

w(write)           可以改變檔案的內容             可以對目錄裡所有的檔案進行新增或刪除

x(execute)        可以藉由命令執行檔案         可以訪問目錄下的內容

命令系統檔案權限的管理

更改 當案/目錄 權限

方法象徵性的關鍵字:
#cmd whowhatwhich file|directory
who is     u,g,o,a (for user, group, other, all)
what is    +, -, = (for add, remove, set exactly)
which is  r, w, x (for read, write, executable)          
p.s,  如果r改成R並且是對目錄的話,將會對整個目錄包括裡面的目錄數進行權限更改
p.s.  如果x改成X將會對只個目錄,以及底下的檔案進行權限更改


#chmod

數字的方法:
#chmod ### file|directry
每個#符號代表一個訪問權限等級:user, group, other.
# is sum of  r = 4, w = 2, x = 1.

範例:
#chmod go-rw file1    //把file1的group and other的r(read) and w(write)權限都去掉
#chmod a+x file2        //把file2 的全部使等級的使用者都增加x(execute)
#chmod 750 sampledir //把sampledir的 user權限w,r,x都開啟,group權限只開啟r,x在other的部分都不開

#chown

ex. #chown student foofile    //將foofile的擁有者改變成student
ex. #chown - R student foodir  //將foodir包括裡面所有的檔案及目錄登更改成student使用者的
ex. #chown :admins foodir    //將foodir的群組權限改為admins
ex. #chown visitor:guests foodir  //將foodir的擁有者以及群組權限分別改為visitor and guests

p.s.只有root可以改變所有的使用權限,非root只可以改變屬於自己群組的權限

特殊檔案權限

特殊檔案權限    

u+s (suid)  
set user id
僅對檔案的影響>>  SUID 權限僅對二進位程式(binary program)有效;
                                  執行者對於該程式需要具有 x 的可執行權限;                                                                                      本權限僅在執行該程式的過程中有效 (run-time);                               
                                  執行者將具有該程式擁有者 (owner) 的權限;


g+s (sgid)                  
set group id    
  針對目錄時>>      使用者若對於此目錄具有 r 與 x 的權限時,該使用者能夠進入此目錄;
                                 使用者在此目錄下的有效群組(effective group)將會變成該目錄的群組;
                                 用途:若使用者在此目錄下具有 w 的權限(可以新建檔案),則使用者所建                                    立的新檔案,該新檔案的群組與此目錄的群組相同
針對檔案時>>         SGID 對二進位程式有用;
                                 程式執行者對於該程式來說,需具備 x 的權限;
                                 執行者在執行的過程中將會獲得該程式群組的支援;

o+t (sticky)
僅針對目錄>>         當使用者對於此目錄具有 w, x 權限,亦即具有寫入的權限時;
                                  當使用者在該目錄下建立檔案或目錄時,僅有自己與 root 才有權力刪除該                                   檔案
ex.當甲這個使用者於 A 目錄是具有群組或其他人的身份,並且擁有該目錄 w 的權限, 這表示『甲使用者對該目錄內任何人建立的目錄或檔案均可進行 "刪除/更名/搬移" 等動作。』 不過,如果將 A 目錄加上了 SBIT 的權限項目時, 則甲只能夠針對自己建立的檔案或目錄進行刪除/更名/移動等動作,而無法刪除他人的檔案。



  • SUID/SGID/SBIT 權限設定
前面介紹過 SUID 與 SGID 的功能,那麼如何設定檔案使成為具有 SUID 與 SGID 的權限呢? 這就需要第五章的數字更改權限的方法了! 現在你應該已經知道數字型態更改權限的方式為『三個數字』的組合, 那麼如果在這三個數字之前再加上一個數字的話,最前面的那個數字就代表這幾個權限了!
  • 4 為 SUID
  • 2 為 SGID
  • 1 為 SBIT

假設要將一個檔案權限改為『-rwsr-xr-x』時,由於 s 在使用者權限中,所以是 SUID ,因此, 在原先的 755 之前還要加上 4 ,也就是:『 chmod 4755 filename 』來設定!此外,還有大 S 與大 T 的產生喔!

[root@study ~]# cd /tmp
[root@study tmp]# touch test                  <==建立一個測試用空檔
[root@study tmp]# chmod 4755 test; ls -l test <==加入具有 SUID 的權限
-rwsr-xr-x 1 root root 0 Jun 16 02:53 test
[root@study tmp]# chmod 6755 test; ls -l test <==加入具有 SUID/SGID 的權限
-rwsr-sr-x 1 root root 0 Jun 16 02:53 test
[root@study tmp]# chmod 1755 test; ls -l test <==加入 SBIT 的功能!
-rwxr-xr-t 1 root root 0 Jun 16 02:53 test
[root@study tmp]# chmod 7666 test; ls -l test <==具有空的 SUID/SGID 權限
-rwSrwSrwT 1 root root 0 Jun 16 02:53 test

因為 s 與 t 都是取代 x 這個權限的,但是你有沒有發現阿,我們是下達 7666 喔!也就是說, user, group 以及 others 都沒有 x 這個可執行的標誌( 因為 666 嘛 ),所以,這個 S, T 代表的就是『空的』啦!怎麼說? SUID 是表示『該檔案在執行的時候,具有檔案擁有者的權限』,但是檔案 擁有者都無法執行了,哪裡來的權限給其他人使用?當然就是空的啦! ^_^


預設權限

當我們mkdir 的時候就會給予預設的權限,如何查看預設的權限呢?
就要使用
[root@study ~]# umask
0022             <==與一般權限有關的是後面三個數字!
[root@study ~]# umask -S
u=rwx,g=rx,o=rx

為什麼會顯示0022四個權限,是因為第一個是特殊權限,像是目錄的話,權限的前面會顯示d

因為 umask 為 022 ,所以 user 並沒有被拿掉任何權限,不過 group 與 others 的權限被拿掉了 2 (也就是 w 這個權限),那麼當使用者:
  • 建立檔案時:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
  • 建立目錄時:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x
不相信嗎?我們就來測試看看吧!
[root@study ~]# umask
0022
[root@study ~]# touch test1
[root@study ~]# mkdir test2
[root@study ~]# ll -d test*
-rw-r--r--. 1 root root 0  6月 16 01:11 test1
drwxr-xr-x. 2 root root 6  6月 16 01:11 test2

可以用# umask 後面加002把權限w遮掉(暫時),也可以進到/etc/bashrc的.bashrc檔案,將預設權限遮罩改掉

2015年9月6日 星期日

Linux 第五章

管理Linux本地的使用者與群組

使用者與群組

#id  //可以顯示當下的使用者資訊
#ls -l /tmp //顯示檔案或目錄 與關聯的使用者資訊
#ps au //顯示shell當下執行的程序的使用者
#su <username>//可以切換使用者
#su - <username> //切換使用者,連同環境參數
#sudo //可以暫時得到root的特權,不過所有的動作被記錄在/var/log/secure,可以使用sudo的user是有被限定的,他的名單在/etc/sudoers

使用者id的資料會被記錄在/etc/passwd,格式如下
username:  password:  uid:  gid:  gecos:  /home/dir:  shell


使用者得密碼則會被記錄在/etc/shadow
群組的資訊會被記錄在/etc/group

使用者的新增,修改,刪除

#useradd
#userdel
#usermod

uid 0             一定是superuser,但是不一定是root
uid 1~200     由redhat自訂
uid 201~999 若使用者有系統帳號需求時,可以使用的帳號 UID
uid 1000+     給一般使用者用的


群組的新增,修改,刪除

#groupadd //-r option 會自動加上gid
#groupmod
#groupdel

Shadow 密碼以及密碼策略

如果打開shadow會看到一串看起來像亂碼的東西
他們是用:來分開的,欄位分別是
1.name  2.password  3.lastchange  4.minage  5.maxage  6.waring  7.inactive  8.expire  9.blank
1.帳號名稱 2.密碼 3.最近更動密碼的日期 4.密碼不可被更動的日期 5.密碼需要被更動的日期
6.密碼需被變更期限前的警告天數 7.密碼過期後的寬限天數 8.帳號失效日期 9.保留


可以用#chage 來更改 

-d = 更改最近更動密碼的日期,如果輸入0,那使用者將會在下次登入時強制要求變更密碼
-m = 更改密碼不可被更動的日期
-M = 更改密碼需要被更動的日期
-W = 更改密碼需被變更期限前的警告天數
-I= 更改密碼過期後的寬限天數
-E = 指定帳到的失效日期 YYYY-MM-DD
-l = 列出使用者的當下設定



2015年8月29日 星期六

Linux 第四章

重新導向輸出到檔案或程式

代碼0 stdin(標準輸入)      
代碼1 stdout(標準輸出)
代碼2 stderr(標準錯誤輸出)

用法            解釋
>file            重新導向stdout到檔案
>>file          重新導向stdout到檔案,並在當前檔案上增加內容
2>file          重新導向stderr到檔案
2>/dev/null 將stderr錯誤資訊重新導向到/dev/null,/dev/null可以吃掉任何導向這個裝                                       置的資訊!!
&>file          結合stderr and stdout 到同一個檔案
>>file 2>&   結合stdout and stderr增加到當下的檔案內容


Pipelines  管線指令(from鳥哥)

 其實這個管線命令『 | 』僅能處理經由前面一個指令傳來的正確資訊,也就是 standard output 的資訊,對於 stdandard error 並沒有直接處理的能力。那麼整體的管線命令可以使用下圖表示:
線命令的處理示意圖
圖10.6.1、管線命令的處理示意圖

在每個管線後面接的第一個資料必定是『指令』喔!而且這個指令必須要能夠接受 standard input 的資料才行,這樣的指令才可以是為『管線命令』,例如 less, more, head, tail 等都是可以接受 standard input 的管線命令啦。至於例如 ls, cp, mv 等就不是管線命令了!因為 ls, cp, mv 並不會接受來自 stdin 的資料。 也就是說,管線命令主要有兩個比較需要注意的地方:

  • 管線命令僅會處理 standard output,對於 standard error output 會予以忽略
  • 管線命令必須要能夠接受來自前一個指令的資料成為 standard input 繼續處理才行。

tee(from鳥哥)

想個簡單的東西,我們由前一節知道 > 會將資料流整個傳送給檔案或裝置,因此我們除非去讀取該檔案或裝置, 否則就無法繼續利用這個資料流。萬一我想要將這個資料流的處理過程中將某段訊息存下來,應該怎麼做? 利用 tee 就可以囉~我們可以這樣簡單的看一下:

tee 的工作流程示意圖
圖10.6.2、tee 的工作流程示意圖
tee 會同時將資料流分送到檔案去與螢幕 (screen);而輸出到螢幕的,其實就是 stdout ,那就可以讓下個指令繼續處理喔!
[dmtsai@study ~]$ tee [-a] file
選項與參數:
-a  :以累加 (append) 的方式,將資料加入 file 當中!

[dmtsai@study ~]$ last | tee last.list | cut -d " " -f1
# 這個範例可以讓我們將 last 的輸出存一份到 last.list 檔案中;

[dmtsai@study ~]$ ls -l /home | tee ~/homefile | more
# 這個範例則是將 ls 的資料存一份到 ~/homefile ,同時螢幕也有輸出訊息!

[dmtsai@study ~]$ ls -l / | tee -a ~/homefile | more
# 要注意! tee 後接的檔案會被覆蓋,若加上 -a 這個選項則能將訊息累加。
tee 可以讓 standard output 轉存一份到檔案內並將同樣的資料繼續送到螢幕去處理! 這樣除了可以讓我們同時分析一份資料並記錄下來之外,還可以作為處理一份資料的中間暫存檔記錄之用! tee 這傢伙在很多選擇/填充的認證考試中很容易考呢!




從shell提示下編輯文字文件

#vim
按V可以切換命令模式到視覺模式,或切換回來命令模式
按I可以切換到編輯模式,按ESC可以切換回來命令模式
按Shift + :可以切換到延伸命令模式,按ENTER可以切換回命令模式


#gedit
這個應用程式似乎只能字圖形介面下使用呢!
跟記事本很像的工具,滿好用的

P.S.  再呼叫gedit之類的程式,可以再命令後面加上&,這樣可以使程式跑完後回到terminal
#gedit file_name &

2015年8月26日 星期三

Linux 第三章

用man page 來查詢
ex.  #man date
最前面會顯示DATE(1)
以下解釋括號裡面的數字

(1):使用者在shell環境中可以操作的指令或執行檔
(2):系統核心可呼叫的函數與工具
(3):當用的函數(function)與函式庫(library),大部分為C的函式庫(libc)
(4):裝至檔案的說明,通常在/dev下的檔案
(5):設定檔或者是某些檔案格式
(6):遊戲
(7):慣例與協定等,例如Linux檔案系統、網路協定、ASCII code等等的說明
(8):系統管理員可用的管理指令
(9):跟kernel有關的文件

另外查詢文件的命令
#info  or  #pinfo
#firefox file:///usr/share/doc       //可以查詢道一些工具的說明
#redhat-support-tool

2015年8月20日 星期四

Linux第二章

Linux 的檔案結構
                   
                     /(根目錄)


┌─────────────────────────┼─────────────────────────┐
│   │    │   │   │     │   │   │   │   │      │
  bin      boot     dev       etc     home    root      run      sbin     tmp       usr   var
    X                 │                             X                │       │ 
                                  ┌────┬────┤                  ┌────┬────┬────┤     tmp
                                     │         │        │                  │     │        │         │    
         alice   bob   eve                   bin  local     sbin     tmp
                                            X


以上大至是Linux的重要目錄的樹狀圖
有畫XX的就是代表在新版本已經改掉位置的檔案
/bin   >> /usr/bin
/sbin  >> /usr/sbin
/tmp  >>/var/tmp
還有圖上所沒顯示的
/lib     >>/usr/lib
/lib64 >>/usr/lib64



相對路進與絕對路徑的差別:

絕對路徑:路徑寫法一定要從根目錄開始寫,例如:/var/log/message
相對路徑:路徑寫法:不是由根目路開始寫


解釋目錄的功能:
/usr :安裝軟體,共享庫,包括文件以及唯讀的靜態程式資料
/usr底下重要的子目錄:
/usr/bin:使用者命令
/usr/sbin:管理者命令
/usr/local:本地所制定的軟體
/etc :系統的配置特性檔案
/var:在開機期間將變量資料指定到這個系統,會動態變更的文件也可以在這底下找到
/run:從上次開始執行的地方開始運行程式程序,裡面包括ID檔案和Lock檔案......(重開機過後會重建此資料夾)
/root:管理者,home的直接"超級用戶"......
/tmp:暫存檔,超過十天的檔案會自動刪除,如果是在tmp下面的,沒有執行、更改或修改的檔案,會在三十天後被自動刪除
/boot:啟動時所需要的檔案程序
/dev :包含被系統執行過的硬體特別的裝置檔案

一些實用命令
#pwd   //顯示自己所在的資料夾路徑
#touch // 如果沒有檔案的情況下,就會建立新的檔案;如果有檔案,就會更改檔案的日期與時間
#cd    //變換目錄
#ls     //將目路裡的東西列出來
#echo  //顯示指定的字符......
#cp   //複製
#mv  //移動(更名)
#rm   //刪除
#mkdir //新增目錄
#rmdir  //刪除目錄

#ls a*    //列出a開頭的檔案
#ls *a*  //列出中間有a的檔案
#ls [a-c]*  //列出開頭a到c的檔案
#ls ???      //列出三個字元的字
#ls [!a]*    //列出不是a開頭的檔案
#ls ~/glob        //列出~/下的glob目錄內有什麼檔案
#echo ~/glob   //顯示到glob目錄的路徑
#echo file{1..3}.txt  //顯示名為file1~3的txt檔案
#echo file{a..c}.txt  //顯示名為filea~c的txt檔案
#echo file{1,2}{a,b}.txt  //顯示名為file1a file1b file2a  file2b的txt檔案
#echo file{a{1,2},b,c}.txr  //顯示名為filea1 filea2 fileb filec的txt檔案
#$(command) //可以在一串命令中 加入其他的命令
# host=$(hostname)  //這樣的使用法的話,可以將hostname得到的值給host這個,這樣host就變成變數了要使用的話要就用# echo $host

雙引號 " "   //是用來包住命令及字串的,如果裡面有$(hostname)的話就會顯示hostname的內容
,若是單引號則單純顯示$(hostname)。






2015年8月14日 星期五

Linux 第一章節

前置


$ = 使用者(user)
# = 管理者(root)

一些命令:

切換語言: 

使用者更改語言的方法:
$LANG="語言名稱代號" date  

全系統預設語言的更改方法
#localectl set-locale LANG="語言名稱代號"

常用的幾種語言~

英文English    = en_US.utf8
中文Chinese   = zh_TW.utf8
日文Japanese  = ja_JP.utf8

第一章

如何在純文字介面與圖形介面中互換
Ctrl + Alt + F2~F6,若是要切換回圖形介面則是Ctrl + Alt + F1


如果是在RED HAT  LINUX5之前的版本,則是Ctrl + Alt + F7切換回圖形介面

在shell 底下如何下命令:

#<Command> <Options> <Arguments>

Command:命令
Options:調整命令的行為
Arguments:命令的通常目標


Options的表現方式有 -a or --all都會是一樣的結果,不過這也是因命令而異。
如果想要在一行執行多個個命令,可以用分號";"把複數的命令分離。

當忘了如何下命令裡面的參數時可以用 --help來查詢,也有一個叫作man pages的方法

ex. #date --help    //--help的用法
ex. #man date      //man pages的用法



更改密碼的方法:

#passwd
之後只要照著指令輸入兩次密碼就可以更改密碼了~


一些實用的命令:

<Tab>按鍵,是我們最好的好朋友~
p.s. 記得要善用"TAB"鍵來補齊字元,命令、檔案名稱or選項名稱

#file          //會查看檔案內容的開頭並顯示檔案的類型
#head & #tail        //head & tail 性質是一樣的,分別是顯示檔案內容的頭、尾,在預設裡都是只顯示10行,並且都有選項-n可以指定顯示指定的行數

#wc     //word counts,就像字面上寫的一樣,計算行數、字數與字符數
#ls       //這就是常用到不行的命令了,用來顯示該目錄底下有哪一些檔案以及子目錄
#history    //顯示先前執行過的命令
#!"String"    // 驚嘆號後面如果加上字的話  像是#!ls的話,那將會顯示關於下過的ls的命令以及其結果,如果驚嘆號後面是數字,那就會呼叫#history所顯示出來的命令的代號

一些有用的快捷鍵:

Esc + .          //顯示上一次所使用的參數
ctrl + a          //跳到命令列的開端
ctrl + e          //跳掉命令列的尾端
ctrl + u          //清除從游標處到命令列的開端
ctrl + k          //清除從游標處到命令列的尾端
ctrl + r           //搜尋history list 裡的命令
ctrl + Left Arrow             //跳到命令的最前面
ctrl + Right Arrow          //跳到命令的最後面





2015年8月12日 星期三

redhat底下分割USB空間

在LINUX底下一個磁碟可以建立四個主要分割區,但如果要建立第五個就需要更改一下方法,在建立第四個時把格式改成延伸分割區,而在延伸分割區裡面就可以增加複數的邏輯分割區



# fdisk -l 確認是否存在/dev/sdb,如果有,就可以開始進行分割了!!

#fdisk /dev/sdb
進入後可以按M查看說明,我們要的是新增分割區,所以要按N,然後他會問要
pimary(主要分割區) 還是extended(延伸分割區)一開始先建立主要分割區,所以按P

接下來會問你1-4分割區  你要用哪一塊 ,預設是1,就直接ENTER

起始的磁區,不用理他,他會有預設值,就直接ENTER
之後就輸入自己要建立多少的容量,我建立1GB的空間,所以輸入"+1G"
這樣就完成了
剩下的兩個磁區動作是一樣的

最後一個在N之後叫選擇E(extended  延伸分割區),這樣就不會被只能設定四個主要分割區的限制給限制住,不過聰明的Redhat在進入這一步的時候,預設值就已經是E了
在大小的部分,起始跟最後  都直接用預設值,因為要把剩下的空間都設定成延伸分割區

這樣我們就可以在延伸分割區裡面不斷的切出邏輯分割區了~~~~

在磁區都已經設定完之後,一定要輸入"W"才能正確寫入,不然一切都白做了!!!!

最後可以#fdisk -l 來確認有沒有正確切出自己想要分割~

製作redhat開機程式

在WINDOWS底下建立:

使用Unetbootin程式




之後只要在開機時設定BIOS,從USB開機,就可以發揮作用瞜




在LINUX底下建立(以下內容來至Red Hat官方):

2.2. 建立 USB 安裝媒介
除了 CD/DVD 以外,您也可以使用 USB 隨身碟來建立安裝媒介,進而在 AMD64、Intel 64 與 IBM Power System 伺服器上安裝 RHEL。使用 Linux 或 Windows 的確切步驟有所不同。您可以使用同樣的程序來建立最小安裝媒介與完整安裝媒介;唯一的限制是 USB 隨身碟的大小:它必須擁有足夠的空間容納整個映像檔,最小安裝媒介需要大約 350 MB,而完整安裝媒介需要 4.5 GB。

2.2.1. 在 Linux 上建立 USB 安裝媒介


以下步驟假設您使用的是 Linux 系統,並且已下載了 ISO 映像檔,如〈章 1, 下載 Red Hat Enterprise Linux〉所述。在大部分的 Linux 版本上,您不需要安裝額外套件即可使用這些步驟。
警告
這項步驟會移除資料。當您進行這項程序時,USB 卸除式裝置上的資料將會被刪除,並且將不會有任何警告。請確認您指定了正確的 USB 卸除式裝置,並且確認該磁碟不包含任何您所希望保留的資料。
許多 Linux 版本都提供了自有的工具,以建立 USB 媒介:例如 Fedora 的 liveusb-creator、Ubuntu 的usb-creator 等等。一一詳述這些工具超出本指南的範疇,以下步驟能在大部分 Linux 系統上運作。

過程 2.1. 在 Linux 上建立 USB 媒介
  1. 將 USB 隨身碟連上系統,然後執行 dmesg 指令,這會顯示最近發生的事件紀錄。在記錄的最底下,您會看到剛插入的 USB 隨身碟的幾項紀錄,跟以下類似:
    [ 170.171135] sd 5:0:0:0: [sdb] Attached SCSI removable disk
    請記下已連上裝置的名稱,上述範例顯示的是 sdb
  2. 登入為 root 使用者:
    $ su -
    輸入 root 的密碼。
  3. 請確認系統並未掛載該裝置。首先,使用 findmnt device 指令與剛剛找到的裝置名稱。例如裝置名稱為 sdb 的話,請使用以下指令:
    # findmnt /dev/sdb
    如果該指令未顯示任何結果,您可以進行下一步驟。然而,如果該指令顯示了結果,表示該裝置已經自動掛載,在進行下一步之前必須先加以卸載。螢幕上顯示的結果會與以下類似:
    # findmnt /dev/sdb
    TARGET   SOURCE   FSTYPE  OPTIONS
    /mnt/iso /dev/sdb iso9660 ro,relatime
    
    請記下 TARGET 一欄的結果。接下來,請使用 umount target 指令來卸載裝置:
    # umount /mnt/iso
  4. 使用 dd 指令將安裝用的 ISO 映像檔直接寫入 USB 裝置:
    # dd if=/path/to/image.iso of=/dev/device bs=blocksize
    請以您下載的 ISO 映像檔之完整路徑取代 /path/to/image.iso,以先前用 dmesg 指令找到的裝置名稱取代 device,並指定適宜的區塊大小(例如 512k)來加快寫入程序。bs 是選用參數,但可以顯著加快處理速度。
    重要
    請確定您輸入的是「裝置」名稱(例如 /dev/sda)作為),而非「分割區」的名稱(例如 /dev/sda1)。
    舉例來說,如果 ISO 映像檔位於 /home/testuser/Downloads/rhel-server-7.0x86_64-boot.iso,同時所偵測到的裝置名稱為 sdb,則指令是:
    # dd if=/home/testuser/Downloads/rhel-server-7.0x86_64-boot.iso of=/dev/sdb bs=512k
  5. dd 指令將映像檔寫入裝置時,請稍加等待。請注意寫入裝置時螢幕上不會顯示進度表;寫入完成後系統會回到 # 提示符號。之後請登出 root 帳號並拔除 USB 裝置。
USB 磁碟現在已準備好作為開機裝置使用。您能繼續進行 章 5, 在 AMD64 和 Intel 64 系統上啟動安裝程式(AMD64 和 Intel 64 系統)或是 章 10, 在 IBM Power Systems 上啟動安裝程序(IBM Power Systems 伺服器)。

2015年8月8日 星期六

建立資料庫MariaDB以及web server Drupal

MariaDB部分:

先進到軟體安裝
mariadb-1:5.5.35
mariadb-bench-1:5
mariadb-devel-1:5
mariadb-server
mariadb-test

# systemctl enable mariadb.service
# systemctl start mariadb.service
# mysql -u root -p

web server部分:

進到軟體  安裝

php-5.4.16
php-cli
php-common
php-gd
php-mcrypt
php-mysql
php-pdo
php-theseer-fDOMDocument

phpMyAdmin  download  phpMyAdmin-4.4.12-all-languages.tar.gz
將phpMyAdmin-4.4.12-all-languages.tar.gz 解壓縮到 /var/www/html目錄下


RPM CentOS 7 php-mbstring 5.4.16 x86_64 rpm 下載

 php-mbstring-5.4.16-21.el7.x86_64.rpm並且安裝


# systemctl restart httpd.service   //在重開一次

將/var/www/html/phpMyAdmin內的config.sample.inc.php 改成 config.inc.php
並用gedit開啟

在裡面會看到
$cfg[ 'blowfish_secret' ] = ' ';  //在單引號內隨便輸入幾個字
$cfg[ 'Servers' ][$i][ 'AllowNoPassword' ] = false;    //將false改成true

在網頁輸入localhost/phpMyAdmin進入phpMyAdmin的頁面
因為上面$兩行以至於不用輸入密碼,只需在帳號的地方輸入root就可以進入
進入後將後四個使用者留下並更改密碼,其他刪除。

Drupal Taiwan 正體中文支援站 下載 Drupal 7.38  以及 7.38的中文化

打開drupal tar檔裡的drupal資料夾裡的所有檔案移至/var/www/html/

在網頁輸入localhost/phpMyAdmin進到phpMyAdmin  ,在資料庫的地方 建立一個叫drupal,編碼
為utf8_general_mysql500的資料庫

將drupal-7.38.zh-hant.po(中文化)移至 /var/www/html/profiles/standed/translations/
到/var/www/html/sites/default/  裡新增 files資料夾
copy default.settings.php to settings.php (同個目錄下)


在使用者裡面新增叫drupal的使用者,主機的部分改為"主機",登錄資訊的部分輸入完之後先進行下一步後再將"權限"全部開啟


# cd /var/www/html/sits/default/
# chown apache.apache files              //應drupal設定要求將權限改成apache
# chown apache.apache setting.php
# restorecon -R /var/www/html
# systemctl restart httpd.service


在網頁輸入localhost進入durpal的頁面設定,在設定資料庫的部分,使用者跟phpMyAdmin新增的使用者一樣


下一步下一步   就OK瞜~(大約~





2015年8月6日 星期四

xrdp 的建立

1.到左上角的應用程式>系統工具>軟體 裡搜尋以下三個套件,並安裝

system-config-firewall

system-config-language

system-config-users

2.在google上面搜尋 EPEL - FedoraProject 並且下載 The newest version of 'epel-release' for EL7

3.# yum install freerdp <<這是遠端桌面

4.google "Linux rdp server centos"  Install xrdp on CentOS 7 / RHEL 7

5.# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm

6.# yum -y install xrdp tigervnc-server

7.設定固定IP,應用程式>雜項>防火牆>public>連接埠>新增3389的例外




8.設定完成後#systemctl restart NetworkManager

9.# systemctl enable xrdp.service

10.# systemctl start xrdp.service

11.# xfreerdp -g "要設定的視窗尺寸" -u "使用者" "IP位置" <<這樣就可以連結~




在Redhat中建立軟體倉儲

在VirtualBox的視窗裝置>Network>網路設定將原本NAT的設定改成"橋接介面卡"

1.首先在 Redhat映像檔搜尋 vsftpd 並且安裝
2.在電腦/var/ftp/pub , 把redhat映像檔裡的東西全部copy到/pub裡面

^^這樣以後安裝東西就可以不用再從 Redhat裡面來安裝檔案了

3.pub 資料夾裡面尋找createrepo 並且安裝

這邊有解釋createrepo是什麼,並且如何使用 "用createrepo配置Yum本地源1"、"使用createrepo创建自己的yum源2"、"createrepo"


4.在終端機理執行 #createrepo -g /var/ftp/pub/repodata/76..... /var/ftp/pub
5.# cd /etc/yum.repos.d/
6.# gedit test.repo           gedit是Linux裡的記事本
7.在記事本裡面輸入

[RHEL70]
name = RHEL7
baseurl = ftp://localhost/pub
enable = 1
gpgcheck = 0

8.#systemctl enable vsftpd.service
9.#restorecon -R /var/ftp/pub

ˇˇ這邊在防火牆裡增加例外IP,這樣連線近來時才不會被擋住

10.#firewall-cmd --permanent --add-service=ftp
11.#systemctl restart vsftpd.service   重新開啟
12.#systemctl status vsftpd.service    在去看看狀態是否是開啟的



2015年7月30日 星期四

當RHEL7(Linux)(Redhat) root密碼不正確時,如何解開>>>>

本文介紹如何在忘記 root 密碼時,從開機階段重設密碼。
第一步需要在開機選單中輸入 e。

















尋找 linux16 項目,按END鍵就可以將游標移到最後面,並在最後面在入 rd.break。

002

輸入下列指令:
1.mount -o remount,rw /sysroot
2.chroot /sysroot
3.passwd root ,enter後輸入密碼enter,然後再輸入一次enter
4.touch /.autorelabel
5.輸入exit 兩次

003
若系統有啟用 SELinux,則會等待 SELinux 重新設定所有檔案的 context。待開機完成,使用新的密碼登入即可。
004