顯示具有 Linux-Debian-基礎操作及運用 標籤的文章。 顯示所有文章
顯示具有 Linux-Debian-基礎操作及運用 標籤的文章。 顯示所有文章

2015年12月29日 星期二

IceWM - Path of Prefernaces File

prefernaces是 IceWM 圖形環境設定快捷鍵...等的檔案
此檔案可在下方路徑中找到:

1. /etc/X11/icewm
         -> 可以在此自行建立

2./usr/share/icewm OR /usr/local/share/icewm
        -> 這裡是預設檔位置


參考網址:http://www.icewm.org/manual/icewm-7.html

2015年9月13日 星期日

vsftpd Server

Setup vsftpd on Debian/Jessie.

##ReadMore##

安裝
sudo apt-get install vsftpd

設定檔:
sudo vi /etc/vsftpd.conf
編輯設定如下…

‧設定 FTP 家目錄 (自訂)
local_root=/home/ftp

‧開放寫入權限(除 Anonymous)
write_enable=YES

‧設定網域權限,使用 /etc/hosts.deny & /etc/hosts.allow
1.vim vsftpd.conf
tcp_wrappers=YES

2.vim /etc/hosts.deny
vsftpd: ALL

3.vim /etc/hosts.allow
vsftpd:120.117.73.0/24,120.117.72.0/24

‧設定只允許某些人登錄ftp,且限制不能離開家目錄
1.vi /etc/vsftpd.conf
chroot_local_user=NO
chroot_list_enable=yes
chroot_list_file=/etc/vsftpd.chroot_list

2.vi /etc/vsftpd.chroot_list
$USER

承上,若登入 FTP 出現錯誤:
00 OOPS: vsftpd: refusing to run with writable root inside chroot()
1.則需要修改所設家目錄權限
chmod 555 /home/ftp

2.根目錄以後目錄可以保有寫入權限
chmod 755 /home/ftp/*



‧開放匿名登入
vi /etc/vsftpd.conf
anonymous_enable=YES
anon_root=/home/ftp

‧上傳檔案權限 rwxr-xr-x
local_umask=022


。重啟服務
systemctl restart vsftpd.service

.Video Player on FTP Stream
1.Windows: Potplayer
2.Linux: SMPlayer


Reference:
http://serverfault.com/questions/577393/vsftpd-limit-connection-to-a-set-of-ip-addresses
http://www.linuxquestions.org/questions/linux-software-2/changing-default-directory-on-vsftp-server-167202/ 
http://www.liverx.org/2013/01/13/%E8%A7%A3%E6%B1%BAvsftpd%E4%B8%8D%E8%83%BD%E9%9B%A2%E9%96%8B%E5%AE%B6%E7%9B%AE%E9%8C%84%E7%9A%84%E6%96%B9%E5%BC%8F/ 
http://blog.miniasp.com/post/2012/08/14/Secure-vsFTPd-with-chroot-and-multiple-user-access-permission-tips.aspx 









2015年6月15日 星期一

設定指令優先權(Java 安裝為例)



update-alternatives --install <連結> <名稱> <路徑> <優先權>
update-alternatives --config <指令>



範例來說明:
當我們想裝最新版本的 Java,但又本身電腦裝有舊版時,
但想要兩者皆保留,而目前需要使用的是最新版本。

1. 查看目前版本,下面 "1.7.0_79" 是舊版:
java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-1~deb8u1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

2. 下載最新版本:
Java SE Development Kit 8u45

這邊我是選擇下載 jdk-8u45-linux-x64.tar.gz

3. 解壓縮
sudo tar xfva jdk-8u45-linux-x64.tar.gz -C /opt

4. 設定 PATH (一般USER)
cd ~
vi .bashrc
PATH=$PATH:/opt/jdk1.8.0_45/bin
source .bashrc

5. 新增優先權選項
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0_45/bin/java" 1

6. 設定 /urs/bin/java 這指令優先權
sudo update-alternatives --config java
  選項       路徑                                          優先權  狀態
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      自動模式
  1            /opt/jdk1.8.0_45/bin/java                        0         手動模式
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      手動模式
選擇 1 ; enter

7. 檢查版本,要可以看到最新版
java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)




2014年10月23日 星期四

快速格式化工具

假設需要格式化的分割區為 /dev/sdb1,

  • HPFS/NTFS/exFAT

我們一般的 Linux 下格式化 NTFS 檔案系統格式,
常用的指令有:
mkfs -t ntfs /dev/sdb1
mkfs.ntfs /dev/sdb1

接下來推薦,NTFS 的快速格式化工具 ntfsprogs
sudo apt-get install ntfsprogs
mkntfs -f /dev/sdb1


  • EXT4

快速格式化要加 -T largefile 參數:
mkfs.ext4  -T largefile  /dev/sdb1










2014年10月22日 星期三

用 iconv 將檔案轉換格式(BIG5 ←→ UTF-8) 


因為Big-5的檔案,看都會有亂碼,


所以就可以用

iconv

來將Big-5格式的檔案,


直接轉成UTF-8的格式。

(1) Big-5 To UTF-8


 

       
iconv -f big5 -t utf-8 big5.txt -o utf8.txt


(2) UTF-8 To Big-5


        
iconv -f utf-8 -t big5 utf8.txt -o big5.txt


2014年10月11日 星期六

ssh 遠端連線「安全性」

ssh 是一個遠端連線服務,但連上網路後,
有可能會有相當的資安風險,因此要多幾道防禦手續。

1. 安裝 ssh server。
sudo apt-get update && apt-get install ssh


2. 測試遠端連線
(-X 是支援 X11,可遠端開圖形介面程式)。
ssh -Xl Account IP
ssh -X Account@IP

舉例:
Account : userA
IP: 192.168.1.2

ssh -Xl userA 192.168.1.2
ssh -X userA@192.168.1.2
-------------------------------------------------------------------------
安全性1. 拒絕遠端直接登入 Root。
一般而言,我們使用 Root 之前,會先登入一般 User,
再用 su 指令來進入 SuperUser 權限;而拒絕 ssh 直接連 root ,意思是要遠端取得 root 權限,需要有兩組密碼才行!
(當然 root 跟一般 user 密碼要不同。)
vi /etc/ssh/sshd_config

將 「PermitRootLogin」關閉,設 no

/etc/init.d/ssh restart

詳細參考 鳥哥-簡易 Telnet 與 SSH 主機設定

安全性2. ssh 黑名單套件。
當有人嚐試遠端登入,並失敗一定次數時,
代表這位遠端使用者來者不善,我們可以把它加到:
/etc/hosts.deny 把它黑名單掉!!
安裝下面套件可以自動完成這件防禦機制:
apt-get update
apt-get install denyhosts openssh-blacklist openssh-blacklist-extra
/etc/init.d/ssh restart


更詳細設定要參考下面設定檔,
包含對方連幾次才加黑名單之類的…
vi /etc/denyhosts.conf

-------------------------------------------------------------------------
※ 技術補充
遠端控制 rsh + sshpass
※ 注意,使用 rsh  時,Server 與 Client 必需有相同之使用者帳號,
若 Server 端使用 root 權限,則 rsh 所執行的指令於 Client 端也為 root 權限。

1. 於 server 端發遠端指令的方法參考 http://jamyy.us.to/blog/2013/08/5260.html 

2. 安裝
apt-get install sshpass rsh

3. 遠端 ssh 第一次,無需打 yes ,自動更新 known_hosts 檔方法:
建一設定檔於 PXE Server 端: /root/.ssh/config
StrictHostKeyChecking no

4 遠端下指令,注意目前執行 rsh 的使用者權限:
sshpass -p <密碼> rsh <主機 IP> <指令> &

※令 ssh 連線無需輸入密碼
於 PXE Server 端,指令` ssh-keygen `產生 public key ,
並 copy 至 Client 端:/root/.ssh/authorized_keys (自行建立)的檔案內。




2014年10月8日 星期三

APT 套件安裝管理


高階包裝工具 APT (dvanced Packaging Tools),
為 Debian 發行的二進制下載機制,
也已經可以安裝在支援RPM的系統管理RPM套件。

1. 設定檔 (本例使用 Opensource)

vi /etc/apt/sources.list

## Security.debian
deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

## Opensource
deb http://opensource.nchc.org.tw/debian/ wheezy main
deb-src http://opensource.nchc.org.tw/debian/ wheezy main
deb http://opensource.nchc.org.tw/debian/ wheezy-updates main
deb-src http://opensource.nchc.org.tw/debian/ wheezy-updates main


2. apt 操作用法:

資安套件及同步套件更新
apt-get update


已裝套件升級
apt-get upgrade


安裝與移除
apt-get install
apt-get remove


其他常用
apt-get -f install
apt-get autoremove
apt-get install debian-keyring


APT 的選單模式
aptitude


Debug 1.

問題:
GPG error: http://www.debian-multimedia.org etch Release: The following signatures couldn't be verified because teh public key is not available: NO_PUBKEY 123456789123456789

Sol:
apt-get install debian-keyring
gpg --keyserver pgp.mit.edu --recv-keys 123456789123456789
gpg --armor --export 123456789123456789 | apt-key add -

Debug 2.

問題,安裝 ARM-Toolchain 後,update 出現:
W: GPG error: http://www.emdebian.org wheezy Release: 由於無法取得它們的公鑰,以下簽章無法進行驗證: NO_PUBKEY B5B7720097BB3B58

Sol:
apt-get install emdebian-archive-keyring


Debug 3.

問題,`apt-get update` 後出現
W: 無法取得 http://dl.google.com/linux/chrome/deb/dists/stable/Release,Unable to find expected entry 'main/binary-armhf/Packages' in Release file (Wrong sources.list entry or malformed file)

E: Some index files failed to download. They have been ignored, or old ones used instead.





2015-07-01 新增

使 APT 套件,安裝時,可以按 [TAB] 鍵取得完整名稱。
sudo apt-get install bash-completion
source /etc/bash_completion

即可使用 [TAB] 功能:
apt-get ins [TAB]
apt-get install dove[TAB]
apt-get install dovecot[TAB]










http://askubuntu.com/questions/86375/apt-get-autocomplete-package-name-is-broken
http://webplay.pro/linux/ubuntu/enable-apt-get-autocomplete.html

預設 X-Window 設定


當裝了多個圖形環境時,想選一個常用的來當作預設,
或者想要開機時,先進入文字介面,再自己手動進入
X - Window ,就需要動到以上設定:

update-alternatives --config x-session-manager
  選項       路徑             優先權  狀態
------------------------------------------------------------
  0            /usr/bin/metacity   60        自動模式
* 1            /usr/bin/icewm      50        手動模式
  2            /usr/bin/metacity   60        手動模式



update-alternatives --config x-window-manager 
  選項       路徑                           優先權  狀態
------------------------------------------------------------
  0            /usr/bin/gnome-session            50        自動模式
  1            /usr/bin/gnome-session            50        手動模式
  2            /usr/bin/gnome-session-fallback   40        手動模式
* 3            /usr/bin/icewm-session            10        手動模式





使用者、群組及密碼設定



1. 與使用者、群組及密碼設定相關之設定檔路徑

/etc/passwd -------------> 帳號設定檔
/etc/group ----------------> 群組設定檔
/etc/shadow --------------> 密碼設定檔

2. useradd 新增一個使用者

useradd 
  -m ---------------------------> 自動建家目錄
  -d homename ------------> 指定家目錄
  -g groupname ------------> 加入Main group
  -G ----------------------------> 加入Sub group
  -s /bin/bash ----------------> 設定Shell為bash

 usermod ---------------------> 修改使用者帳號


3. passwd 建立或修改使用者密碼

passwd -----------------------------------------------> 設定密碼
echo “user:password”  | chpasswd  ----------> 設定密碼,適用Script大量建帳號



4. groupadd 建立或移除一個群組

groupadd [GroupName] --------------------------> 建立群組
groupdel -r [GroupName] -------------------------> 移除群組


5. change 改變帳戶資訊

change -l [Account]  --------------------------> 觀看帳號資訊
change -d 0 [Account] -----------------------> 設定密碼只能用一次,擔入後就要換密碼


6. 檔案目錄權限

chown --------------------------> 改檔案、目錄的所有使用者
chgrp ---------------------------> 改檔案、目錄的所有群組
chmod --------------------------> 改檔案、目錄的權限





安裝 i386 之 .deb 檔

目標是於 x86_64 系統下,安裝 32 位元 .deb 檔套件。


假設,要安裝Adobe Reader i386時,首先要下載官方安裝軟體 .deb 檔。
載點:
https://get.adobe.com/tw/reader/download/?installer=Reader_8.1.7_Chinese_Trad_for_Linux_(.deb)&standalone=1


接著:


dpkg --add-architecture i386
apt-get update
apt-get -fy install
dpkg -i [AdobeReader..................deb]








2014年10月1日 星期三

壓縮與解壓縮指令

Linux 下壓縮與解壓縮指令:

  • tar 指令 (參數無順序)

-a  all
-x  extract 解壓
-c  create 製作壓縮檔
-z  .gz
-j  .bz
-f  file 後面加 .tar.??? 的檔案(製/解壓都一樣)
-v  view 查看製/解壓過程
-C  後面加目錄位置(將結果檔放至目標位置)

實作指令整理如下:
------------------------------------------------

.tar


extract :
tar xfv filename.tar


create :
tar cfv filename.tar filename

------------------------------------------------

.gz


extract1 :
gunzip filename.gz

extract2 :
gzip -d filename.gz


create :
gzip filename

------------------------------------------------

.tar.gz


extract :
tar xfzv filename.tar.gz


create :
tar cfzv filename.tar.gz filname

------------------------------------------------

.bz2


extract1 :
bunzip2 filename.bz2

extract2 :
bzip2 -d filename.bz2


create :
bzip2 -z filename

------------------------------------------------

.tar.bz2


extract :
tar xfjv filename.tar.bz2


create :
tar cfjv filename.tar.bz2 filename

------------------------------------------------

.bz


extract1 :
bzip2 -d filename.bz

extract2 :
bunzip2 filename.bz

------------------------------------------------

.tar.bz


extract :
tar xfvj filename.tar.bz

------------------------------------------------

.Z


extract :
uncompress filename.Z

create :
compress filename.Z

------------------------------------------------

.tar.Z


extract :
tar Zxvf filename.tar.Z

create :
tar Zcvf filename.tar.Z filename

------------------------------------------------

.tgz


extract :
tar zxvf filename.tgz

------------------------------------------------

.tar.tgz


extract :
tar zxvf filename.tar.tgz

create :
tar zcvf filename.tar.tgz filename

------------------------------------------------

.zip


extract :
unzip filename.zip

create :
zip filename.zip filename

------------------------------------------------

.rar

Download Page for rar_4.0.b3-1_amd64.deb
extract :
rar x filename.rar

create :+++
rar a filename.rar filename

------------------------------------------------


Reference:
http://www.dotblogs.com.tw/phoenixwu/archive/2008/05/22/4103.aspx

2014年9月29日 星期一

NTP 網路校時 & 時區設定


  • 先進入時區的選擇及設定

sudo dpkg-reconfigure tzdata


接下來選所在國家 (例如:我在Asia -> Taipei)

  • 接下來介紹台灣 NTP Server 如下:
tock.stdtime.gov.tw
watch.stdtime.gov.tw
time.stdtime.gov.tw
clock.stdtime.gov.tw
tick.stdtime.gov.tw


  • 安裝 ntp 套件:
sudo apt-get update && apt-get install -y ntpdate ntp



  • ntpdate 與 ntp 分別說明:
ntpdate 常用於手動強制校準時間,是較為暴力方法。
ntp 為自動校時,是將 NTP Server 存於設定檔中,慢慢校準,較為優良。


  • ntpdate 使用指令及使用方法:
ntpdate time.stdtime.gov.tw


如果出現問題訊息:
ntpdate: no server suitable for synchronization found

則可以去嚐試其它的 NTP Server 看看,例如最上面所述的,或國外的 NTP Server (例:ntp.ubuntu.com )

但如果出現: 
ntpdate: the NTP socket is in use, exiting
則是因為 ntp 自動校時正在運作中,需要先把它關閉,
service ntp stop
或是
/etc/init.d/ntp stop

  • ntp 設定:
vi /etc/ntp.conf



  • 寫入 NTP Server :
server time.stdtime.gov.tw
server tock.stdtime.gov.tw
server watch.stdtime.gov.tw
server clock.stdtime.gov.tw
server tick.stdtime.gov.tw


  • 重啟ntp
/etc/init.d/ntp restart

2014年7月24日 星期四

Linux Icewm 隨機自動換桌布

筆者使用 Debian Linux 的 GUI 為 icewm,下面為 shell script。

此 Shell Script 要修改幾個簡單變數,就可以使用了:
1. IMG_POSTION ,在06行,為你自己的桌圖目錄位置。
2. IMG_TYPE*.jpg 要修改, 在 12 行,該部份為你自己所擁的圖片副檔名,若只有 JPG 改 *.jpg,若有多種副檔名 (例如 JPG、PNG) 就改為 *.{jpg, png}。


  • 自動更換桌面,首先先安裝有 hsetroot,桌面布圖指令
sudo apt-get update && apt-get install hsetroot

  • 接下來,寫一個可以自動換圖的 Shell Script 
vi WallpaperChange.sh


  • My code
#!/bin/bash
# 2014/04/19    Author:Kai-Lin Liao
# Auto Change Wallpaper

# Parameter
IMG_POSITION=/home/lin/images/Wallpaper

# Change Director 
cd $IMG_POSITION

# Parameter
IMG_TYPE=`find *.jpg`
#IMG_TYPE=`find *.{jpg,png}`
IMG_AMOUNT=`find $IMG_TYPE -type f | wc -l`

# Test World
#echo "Image Type: $IMG_TYPE"
#echo "Wallpaper Postion: $IMG_POSITION, File Amount: $IMG_AMOUNT"

# Build Picture List
for N in $(seq 1 $IMG_AMOUNT)
do
        GET_IMG=`find $IMG_TYPE | sort | sed -n ${N}p`
        DeskPicture[${N}]=$GET_IMG
done

# Create RANDOM
LOW=1
HIGH=$IMG_AMOUNT
COUNT=$(($LOW + $RANDOM % $HIGH))
#echo $COUNT 

# Seting Wallpaper
echo "Wallpaper Change: ${DeskPicture[$COUNT]}"
hsetroot -fill $IMG_POSITION/${DeskPicture[$COUNT]}&


  • 測試、記得加入 x 權限
chmod +x WallpaperChange.sh
./WallpaperChange.sh 2> /dev/null