NoSleep | 資訊癮想力

免費軟體 | 程式開發 | 科技趨勢 | 時事評論

 

本部落格僅供學術性交流並無涉及任何商業利益,

若不慎侵犯著作權益或不可公開傳輸之內容,

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

 


五項造訪高雄必做的事


5 things to do in Kaohsiung

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

最近修課需要Promote網站,裡面收錄許多高雄美食,高雄網美景點,高雄婚紗攝影地點,高雄祕境,
請各位看官千萬不要錯過,高雄一日遊最美打卡景點懶人包!!!一站就搞定。

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

BeautyTakgo | 網美。往美 | IG人氣爆棚景點! | 高雄最美的瞬間一次收錄!

↑↑↑↑↑↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑​​​​​​​↑

文章標籤

NoSleep 發表在 痞客邦 留言(2) 人氣()

 

 

 

 

 

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

如何搶救 Linux 上不能開機的 GRUB 2

本文翻譯自 Linux.com,原作者為 Carla Schroder:https://www.linux.com/learn/tutorials/776643-how-to-rescue-a-non-booting-grub-2-on-linux/

文章標籤

NoSleep 發表在 痞客邦 留言(3) 人氣()

[ Quick Solution Mode ]

$ cat test.log
aaaaa
bbbbb
ccccc
ddddd

# Way I
$ wc -l ./test.log         # -l, --lines: print the newline counts
4 ./test.log

# Way II
$ grep -c '' ./test.log    # -c, --count: print a count of matching lines
4

# Way III
$ sed -n '$=' ./test.log   # $: match last line, =:print current line number
4


[ Verbose Mode ] 

由以上三種方法可以看出用 grep 或 sed 時只會回傳總行數,
如果需要用行數來做一些處理時就會比用 wc 來的方便

sed 的 -n 指的是 silent (安靜模式),
表示只顯示匹配的結果,
若不加就會將檔案內容也給輸出了,
所以通常使用 sed 時都會加上 -n 的參數

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

在許多的情況之下,我們都需要固定一組可以重覆或判斷資訊的指令,
而把這些指令存被在文字檔中,再交由Shell執行,就是Script。
一般會將Shell Script的副檔名命名為.sh,雖然副檔名在Linux中並非必要,
但是有副檔名可以讓我們更容易管理這些檔案。

假設有一個名為test.sh 的 Shell Script,首先用文字編輯器來撰寫內容如下:
#!/bin/bash
echo Hello World

第一行是必需的,它是用來定義你要使用的 shell。Linux中有許多的Shell可以使用,
如:ksh、bash,但是彼此之間語法有所差異,所以我們首先需要定義使用哪一個Shell。
而第二行的 echo 代表列出一個字串,預設會把後面的字串「Hello World」顯示在螢幕上。
將test.sh存檔後,可以用下列其中一種方式執行它:


1、直接輸入 sh test.sh
2、改變test.sh的權限,加上可以執行的權限,
   chmod a+x test.sh
   接著直接執行它:
   ./test.sh

在Shell Script中,「#」表示註解,在#後面將視為註解並且被程式忽略。
例如:
#pwd
ls -l
Shell只會執行ls -l,而不會執行ls -l

而「;」 則代表指令的分隔,例如:
pwd;ls -l

pwd
ls -l
都是一樣執行pwd及ls -l。

二、變數的使用
在Shell Script中,所有的變數都視為字串,因此不需要在定義變數類型。
在Shell中定義和使用變數時並不一樣。
例如,定義一個變數id並且設定值為2013001,接著還要將印出變數的值:
id=2013001 -> 定義變數時前面不加「$」符號
echo $id   -> 使用變數時前面要加「$」符號
注意,在等號的二邊不可以有空白,否則將出現錯誤。

再介紹一個範例:
dir=/home/oracle
ls $dir

這裡我們定義了變數dir的值為/home/oracle,接著用ls指令來印出變數dir,
此時指令會變為ls /home/oracle,所以就把目錄中所有檔案都列出來。


我們再來看一個例子,說明如何使用變數來定義變數:
$ tmppath=/tmp$ tmpfile=$tmppath/abc.txt$ echo $tmpfile
/tmp/abc.txt

我們也可以把指令的輸出傳回給變數,指令前後加上關鍵字「`」,
它是位於鍵盤左上角「數字鍵1」左邊的按鍵:
now=`date` 
echo now
結果會秀出「Mon Dec 16 09:31:44 EAT 2013」

此外,雙引號與單引號字串對變數解釋有不同的意義,
如果是使用單引號,則變數會當成一般文字;雙引號才會解譯成變數,例如:
a=123
echo "$a" ->結果是123
echo '$a' ->結果是$a

Script也可以要求使用者輸入資料,利用read指令來讀取輸入的資料。如下:
#!/bin/sh
printf "Please input your name:"
read Name
echo "Your name is $Name"

由於echo指令內定會自動換行,所以我們使用printf這個指令來輸出字串。
我們將上述內容存成檔案test01.sh,接著執行它:
[root@oel62 test]# sh test01.sh
Please input your name: Job ->提示要輸入名字,此時輸入的是Job
Your name is Job

Shell Script有一些預設的特殊變數如下:
$? :表示上一個指令的離開狀況,一般指令正常離開會傳回 0。不正常離開則會傳回 1、2 等數值。
$1 :表示輸入的第一個參數,$2 則為第二個參數,依此類推。
$0 :shell script的檔名。
$@ :即代表 $1, $2,....直到所有參數結束。也就是說 $@ 代表了 "$1" "$2" "$3"....。
$* :所有參數無間隔的連在一起,成為單一個參數。也就是說 $* 代表了 "$1 $2 $3..."

三、運算符號
在 shell 中的四則運算必須使用 expr 這個指令來輔助。注意,在 + - * / 的二邊都有空白,如果沒有空白將產生錯誤:
expr 6 - 2
sum=`expr 10 + 20`
echo $sum
結果:
4
30

還有要特別注意的是乘號 * 。因為 * 有其他意義,所以要使用 \* 來代表。另外,也可以用 % 來求餘數。
count=`expr 9 \* 3`
echo $count
echo `expr $count % 3`
結果:
27
0

簡單的條件判斷是以 && 及 || 這二個符號來表示。
a && b如果 a 是真,則執行 b。如果 a 是假,則不執行 b。
a || b如果 a 是假,則執行 b。如果 a 是真,則不執行 b。
例如:
ls /home && echo YES
ls /dev/aaaa && echo YES
結果:
YES
ls: /dev/aaaa: No such file or directory

接著我們使用 test 及 [ 來做運算,運算所傳回的結果是真 (true) 或假 ( false)。
我們可以將它應用在條件判斷上。test 和 [ 都是一個指令,我們可以使用 test 並在其後加上參數來判斷真假。
或者也可以使用 [ 表達式 ] 來替代 test,要注意的是 [ ] 中的必須有空白間隔。

表達式說明如下:
-n str1      :如果字串 str1 的長度大於 0 則傳回 true。
-z str1      :如果字串 str1 的長度等於 0 則傳回 true。
str1  = str2 :如果字串str1等於字串str2則傳回 true,等號二邊有空白。
str1 != str2 :如果 str1 不等於 str2 則傳回 true。!= 的二邊有空白。
a -eq b      :Equal,a 等於 b 則傳回真 (true)。
a -ne b      :Not equal,a 不等於 b 則傳回真 (true)。
a -gt b      :Grwater than,a 大於 b 則傳回真 (true)。
a -lt b      :Less Than,a 小於 b 則傳回真 (true)。
a -ge b      :Greater or equal,a 大於或等於 b 則傳回真 (true)。
a -le b      :Less or equal,a 小於或等於 b 則傳回真 (true)。

我們舉例來說明:
test 5 -eq 5 && echo true
test abc!=cde && echo true
[ 6 -lt 10 ] && echo true
結果:
true
true
true

四、流程控制
1、if 的條件判斷
基本語法:
if condition-list
  then list
elif condition-list
  then list
else list
fi

範例:
if [ $1 = "aa" ]
  then
  echo "YES"
else
  echo "NO"
fi

範例二:
$ ee test.sh
#!/bin/sh
if [ $1 -gt 10 ]
      then echo " $1 is bigger then 10"
elif [ $1 -ge 0 ]
      then echo " $1 is between 5 and 0. "
else echo "$1 is less then 0."
fi


2、while 及 until 迴圈
基本語法:
while condition-list
   do list
   done

until condition-list
   do list
   done
範例一:
#!/bin/sh
i=1
while [ $i -le 10 ]
   do
       echo $i
       i=`expr $i + 1`
   done
說明:首先令變數 i=1,接著在當i小於等於10執行迴圈的內容,而每次執行迴圈一次,則i加1。

範例二:
#!/bin/sh
i=1
until [ $i -gt 10 ]
   do
       echo $i
       i=`expr $i + 1`
   done

說明:首先令變數 i=1,接著迴圈會判斷,一直執行到i大於10才停止。
      每跑一次迴圈就i就加1。
 
3、for 迴圈
基本語法:
for name in word1 word2 …
   do do-list
   done

for name
   do do-list
   done
  
範例一:
#!/bin/sh
for color_name in blue red green
    do
       echo $color_name
    done

說明:這個Script中,會在每一次迴圈中將關鍵字in後面的字串分配給變數color_name,
      然後印出變數 color。
 
4、case 判斷
基本語法:
case word in
    pattern1) list1 ;;
    pattern2) list2 ;;
    …
esac

範例:
case $num1 in
  1|2|3)       echo $num1 is between 0~3;;
  4|5|6|7)       echo $num1 is between 4~7;;
  8|9)           echo $num1 is 8 or 9;;
  *)             echo $num1 is not on the list;;
esac

6、函式的運用
Shell Script中也可以使用函式 (function) 來將程式模組化。
基本語法:
name ( )
{
    statement
}

函式有幾個要注意的地方:
  A、在使用函式之前一定要先定義它,也就是在一個 Shell Script 中,一定要先寫函式的內容,
     在函式之後再寫一般的程式部份。
  B、在Script中的變數全部都是全域變數 (Global),所以函式中的變數會影響函式之外的其他部份。
  C、在命令列中輸入的參數是以 $1,$2來讀取,但是這些參數並沒有辦法在函式中使用。
     傳給函式的方法和在命令列中一樣,例如:[函式名稱] arg1 arg2..。
 傳進函式的變數一樣會以 $1,$2來儲存並使用。

範例:
addnum1 ( )
{
  echo 'Function $1 is' $1
  echo 'Function $2 is' $2 
}

echo 'Command $1 is' $1
echo 'Command $2 is' $2

a=`expr $1 + 10`
b=`expr $2 + 10`
addnum1 $a $b

程式執行:
[root@oel62 test]# ./test01.sh 2 3
結果:
Command $1 is 2
Command $2 is 3
Function $1 is 12
Function $2 is 13


文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

在linux環境中,不管是程式設計還是其他維護,時間是必不可少的,也經常會用到時間的運算,熟練運用date命令來表示自己想要表示的時間,肯定可以給自己的工作帶來諸多方便。

1命令格式:

  date [參數]... [+格式]

2命令功能:

date 可以用來顯示或設定系統的日期與時間。

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

PA030011.JPG

這幾天NoSleep的女友在M電商平台看到一台【多功能清淨防護機】,

看內容就是小台的空氣清淨機,主打在車上使用,

女友最近一直咳嗽咳到內臟都要咳出來,

剛好NoSleep女友逛網拍時看到這台,

文章標籤

NoSleep 發表在 痞客邦 留言(4) 人氣()

在DHCP的時候,如果出現 ifconfig: ioctl 0x8914 failed: Cannot assign requested address

表示MAC address沒有設定好或是跟其他裝置衝突了,

解決方法:重新設定可用的MAC address


文章標籤

NoSleep 發表在 痞客邦 留言(2) 人氣()


NoSleep 發表在 痞客邦 留言(0) 人氣()

1. 開啟Google Chrome Console

打開Chrome -> 按F12 -> 選擇標籤[Console]

 

2. 貼上語法

文章標籤

NoSleep 發表在 痞客邦 留言(2) 人氣()

根據chorme的使用說明,有這麼一項

"「真糟糕!Google Chrome 當掉了﹗」 問題"
Google Chrome 意外關閉時會顯示此錯誤。

也列了一些解決方法,如下。



1.請嘗試重新啟動您的瀏覽器。

→無效,跳過

2.您是否安裝了 Internet Download Manager?

如果您安裝了 Internet Download Manager,請更新為 IDM 6.03 Beta 版 (僅提供英文
版),或是前往 [選項] > [一般],停用「進階瀏覽器整合」選項。

→沒安裝,跳過

3.檢查衝突的軟體。

您可以在網址列中輸入 about:conflicts(註:在chrome網址列下輸入),檢查 Windows
是否安裝了衝突的軟體。如果您安裝了會造成 Google Chrome 當機的軟體,則頁面中
會標示這些軟體,並提供解決衝突的建議操作。在許多情況下,造成衝突的軟體是惡意
軟體,需要使用防毒軟體將其移除。

→檢查過,似乎是沒有。

4.請確認您是否需要重新建立瀏覽器的使用者設定檔。

如果這個錯誤訊息一直出現,表示您的瀏覽器使用者設定檔可能已經毀損。首先,請試著
將「User Data」資料夾內的「Default」子資料夾移到別處,再看看問題是否已解決︰

hint:記得先把chrome關掉

一、輸入鍵盤快速鍵:Windows 鍵  + E 鍵,開啟 Windows Explorer。
在顯示的 Windows Explorer 視窗網址列中,輸入下列適用的目錄:
Windows

Windows XP:
%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\

Windows Vista/ Windows 7/ Windows 8:%LOCALAPPDATA%\Google\Chrome\User Data\

Mac OS X:~/Library/Application Support/Google/Chrome/Default

Linux:~/.config/google-chrome/Default

二、按一下 [確定]。
三、在開啟的視窗中,將「Default」資料夾重新命名為「 Backup」。
四、將「Backup」資料夾從「User Data」資料夾移到上一層的「Chrome」資料夾。
    如果持續發生錯誤,請試著建立新的使用者設定檔來取代現有的設定檔。

→似乎有效,不過我是很乾脆的把Default資料夾砍了,根據google說法,每次開
  都會重新建一個default資料夾。其實這個資料夾就是管你的書籤跟瀏覽紀錄etc.
  重灌以後我就是做了這個步驟才不會一直當機。(不過書籤都要重弄就是了。)

5.檢查受保護的系統檔案是否出現問題。

依序按一下 [開始] 功能表 > [執行]。
輸入以下指令:SFC.EXE /SCANNOW (請務必在 SFC.EXE 和 /SCANNOW 之間保留一個空格)
。 上述指令會啟動 Microsoft 的檢測公用程式,並針對電腦上受保護的系統檔案進行掃
描,同時試圖修復問題。
請嘗試開啟 Google Chrome,看看錯誤訊息是否持續出現。

→這個步驟我也有實行,雖然不知道效果如何,但是檢查一下總是好的。

文章標籤

NoSleep 發表在 痞客邦 留言(1) 人氣()

配置文件中經常用到ini文件,在VC中其函數分別為:

寫入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);

讀取.ini文件:DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefaut,LPSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);

讀取整形值:UINT GetPrivateProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault,LPCTSTR lpFileName);

其中個參數的意思:

LPCTSTR lpAppName ------- INI文件中的一個字段名
LPCTSTR lpKeyName -------- lpAppName 下的一個鍵名,也就是裡面具體的變量名
LPCTSTR lpString ---------是鍵值,也就是變量的值, 必須為LPCTSTR或CString類型
LPCTSTR lpFileName --------完整的INI文件路徑名
LPCTSTR lpDefaut ----------如果沒有其前兩個參數值,則將此值賦給變量
LPSTR lpReturnedString --------接收INI文件中的值的CString對象,即接收緩衝區
DWORD nSize ------接收緩衝區的大小

例子:

CString StrName,Strtemp;

int nAge;
StrName = "jacky";
nAge = 13;
WritePrivateProfileString("Student","Name",StrName,"c:\\setting.ini");

結果:(INI文件中顯示如下:)

[Student]
Name=jacky

讀取:
CString SName;
GetPrivateProfileString("Student","Name","DefaultName",SName.GetBuffer(MAX_LENGTH),MAX_LENGTH,"c:\\setting.ini");

結果:SName = "jacky";這裡需要注意點就是用完GetBuffer函數後一定要釋放(用SName.ReleaseBuffer()函數),不然後面再用到SName的其他子函數就會失靈。

讀整數比較簡單,如下

int Result = GetPrivateProfileInt("Student","nAge",0,"c:\\setting.ini")返回值即為所讀取的結果!

在GetPrivateProfileString最後一個參數是配置文件路徑的參數,此路徑只能是絕對路徑,不能是相對路徑,但現在我需要是我的exe文件能和我的配置文件在一起。因此我使用了GetCurrentDirectory函數。


原代碼如下:
CString server_ip;
CString des="";
::GetCurrentDirectory(MAX_PATHLENGTH,des.GetBuffer(MAX_PATHLENGTH));
des.ReleaseBuffer();
des+="\\config.ini";
GetPrivateProfileString("PhoneDemo","Server_IP","",server_ip.GetBufferSetLength(15),15,des);
server_ip.ReleaseBuffer();

注意:在這裡使用CString變量時,在使用完GetBuffer後,緊接著一定要使用ReleaseBuffer()函數,才可以進行其他的諸如字符串+操作


文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

一. gettimeofday()基本介紹

 

1.簡介:
在C語言中可以使用函數gettimeofday()函數來得到時間。

它的精度可以達到微妙

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

Static variable

  1. A static variable inside a function keeps its value between invocations.
  2. A static global variable or a function is "seen" only in the file it's declared in

意思就是

1. 如果在function裡面定義一個Local的static變數時:

    每當離開function之後, 這個static變數的數值仍然會保留, 因為用static把這個變數定義的memory位置固定住了,

    也不會被別的變數所使用! 

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

拷貝來源:http://blog.udn.com/nigerchen/2261345

FTP SERVER 架設 (vsftp 版)
如果你有看了前幾篇的教學或是有了基本的知識,到了這裡,你就不用太過於擔心,一定可以駕輕就熟。

如同安裝LAMP一樣,我們使用ubuntu預設的 apt-get 套件來做安裝。

sudo apt-get install vsftpd

過程中,它會問你是否要安裝,請你按Y即可。
安裝完成後,我們可以來查看是否安裝成功,可用下列指令。

netstat -tul | grep ftp

下列會顯示一行訊息,最後會有一個LISTEN,表示已運行待命中。
接下來,就可以使用FTP軟體來做連線的動作。若順利連上就表示完成了,你可以使用你ubuntu的權限來進行登入,也可以使用匿名來登入,此時,vsftp的設定尚未完全。

如何設定vsftp權限

一般設定檔案的副檔名都叫作 .conf 居多,因此,它的設定檔,所在位置是

sudo vim /etc/vsftpd.conf

打開後,記得要編輯時都要按 Insert 或是 i 才能編輯,否則會錯亂一陣。
以下是文件的內容:(如你的文件內與此文件內容不同或是缺少,可以新增在最下方,若不需要此功能可在前面加上#號,即不會啟動)
#接受匿名用戶
anonymous_enable=YES

#匿名用戶login時不詢問密碼

no_anon_password=YES

#接受本地用戶

local_enable=YES

#可以上傳(全局控制).若想要匿名用戶也可上傳則需要設置anon_upload_enable=YES,若想要匿名用戶可以建立目錄則需要anon_mkdir_write_enable=YES.這裡禁止匿名用戶上傳,所以不設置這兩項.

write_enable=YES

#本地用戶上傳文件的umask

local_umask=022

#使用上傳/下載日誌,日誌文件默認為/var/log/vsftpd.log,可以通過xferlog_file選項修改

xferlog_enable=YES

#日誌使用標準xferlog格式

xferlog_std_format=YES

#login時的歡迎信息

ftpd_banner=Welcome to KingArthur's FTP service.

#設置的話將覆蓋上面的ftpd_banner設置,用戶login時將顯示/etc/vsftpd/banner中的內容

banner_file=/etc/vsftpd/banner

#為YES則進入目錄時顯示此目錄下由message_file選項指定的文本文件(,默認為.message)的內容

dirmessage_enable=YES

#本地用戶login後所在目錄,若沒有設置此項,則本地用戶login後將在他的home目錄(/etc/passwd的第六個欄位)中.匿名用戶的對應選項是anon_root<

local_root=/var/ftp

#設置為YES則下面的控制有效

chroot_list_enable=YES

#若為NO,則記錄在chroot_list_file選項所指定的文件(默認是/etc/vsftpd.chroot_list)中的用戶將被chroot在登錄後所在目錄中,無法離開.如果為YES,則所記錄的用戶將不被chroot.這裡選擇YES.(管理員使用居多)

chroot_local_user=NO

#若設置為YES則記錄在userlist_file選項指定文件(默認是/etc/vsftpd.user_list)中的用戶將無法login,並且將檢察下面的userlist_deny選項

userlist_enable=YES

#若為NO,則僅接受記錄在userlist_file選項指定文件(默認是/etc/vsftpd.user_list)中的用戶的login請求.若為YES則不接受這些用戶的請求.

userlist_deny=NO

#注意!!!vsftpd還要檢查/etc/vsftpd.ftpusers文件,記錄在這個文件中的用戶將無法login!!


#伺服器以standalong模式運行,這樣可以進行下面的控制
listen=YES

#匿名用戶的傳輸比率(b/s)

anon_max_rate=51200

#本地用戶的傳輸比率(b/s)

local_max_rate=512000

#可接受的最大client數目

max_clients=100

#每個ip的最大client數目

max_per_ip=5

connect_from_port_20=YES
tcp_wrappers=YES
pam_service_name=ftp


都改好了嗎?記得要重新啟動vsftp,才會生效

sudo /etc/init.d/vsftpd restart

記得每變更一次這個檔案,就要重啟一次,這樣子才會正常!!
------
補充:
一般我們會新增其他新的帳號來針對某些服務來做一些限制,像我在這裡新增了一個帳號是 www1 ,這個帳號就管理我的web server當然你也可以新增好幾個帳號,依照你所擁有的服務來創造管理的帳號。

那我們要怎麼限制這個帳號要控管哪個資料夾呢?

假設你已新增了一個帳號test,依照上面的設定,你的 chroot_local_user=NO,而且在/etc/vsftpd.chroot_list 也輸入了test這個帳號,那這個帳號將被限定在/home/test/,登入ftp後,將會無法回上一層,你的/home/test/被限定為根目錄,但是我的web server資料夾不是test,那怎麼做??

我們要修改帳號的初始路徑


sudo vim /etc/passwd

我們會看到下面的訊息(假設帳號為test)
test : x : 1001 : 1001 : test : /home/test : /bin/bash
^^^       ^^^    ^^^     ^^    ^^^^^^^
帳號       帳號id    群組id  群組名  家目錄位置

我們的目錄已改變在 /home/www/,那這個test帳號要管理web server 的資料夾,則可以把 /home/test/ 改成 /home/www/

家目錄的位置可以這樣修改,但是其餘的參數請勿在此修改,若導致帳號無法處理,我可無法負責。

我們可以看是否有修改成功,可以下這個指令


sudo grep test /etc/passwd

若出現

test : x : 1001 : 1001 : test : /home/www : /bin/bash


那就是修改正確,那就可以去你的ftp上面看是不是可以看到www裡的內容


文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

如今手機照片/影片自動備份同步工具的雲端硬碟服務有很多,
但照片影片都是隱私,很多人並不希望把它們放到網上去 ,
只是希望能將照片方便地同步傳輸到電腦硬碟裡備份一下。
但如果每次得手動拷貝的話實在太原始低效了,
Daemon Sync 可以免費快速地為你的電腦搭建一個簡單的「私有雲」,
文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

免費軟體 | QuickMark | 線上製作QR code | 簡單動作完成網路名片
科技趨勢 | Linux指令集詳解
科技趨勢 | Windows Embedded OS life cycle
科技趨勢 | x86架構詳解 | x86 Architecture
語言學習 | 多益單字滿分秘笈總整理
生活筆記 | 給下個年輕世代的殘酷真相 作者:鍾子偉
程式開發 | 如何使用Gprobe燒錄FW
程式開發 | Keil C 使用說明
程式開發 | 使用C++精準判斷作業系統為x86或x64 | IsWow64
程式開發 | VC/MFC CString 用法詳解
免費軟體 | PIXLR | 線上編輯背景透明的圖片 | 功能卓越的圖片編輯器

NoSleep 發表在 痞客邦 留言(0) 人氣()

QR.PNG 

軟體網頁點此進入

功能簡介:

製作,掃描,連結,

快速分享個人名片,地理位置,自動發送電子郵件,簡訊, 全部一鍵完成

文章標籤

NoSleep 發表在 痞客邦 留言(0) 人氣()

1 234