第一步、查詢samba是否安裝
[root@localhost ~]# rpm -q samba
第二步、安裝Samba服務
[root@localhost ~]# yum install samba* -y
第三步、修改Samba配置檔案
[root@localhost ~]vim /etc/samba/smb.conf
[global]#這部配置設定置項的内容對整個Samba伺服器有效
workgroup = WORKGROUP#和windows的工作組名稱一樣,一般情況,samba服務的用戶端都是windows Xp一類的主機
server string = Linux Samba Server TestServer#伺服器描述資訊(自定義)
security = user#安全級别:share(可匿名通路)、user(需由本伺服器驗證使用者名及密碼)、server(由另一台伺服器驗證使用者名及密碼)、domain(由Windows域控制器驗證使用者名及密碼)
log file = /var/log/samba/%m.log#設定Samba伺服器的日志檔案,預設設定為“/var/log/samba/%m.log”,表示日志檔案儲存到/var/log/samba/目錄中,按每個客戶機建立一個日志檔案,“%m”變量表示用戶端主機名或IP位址
hostsallow=192.168.48.1:僅允許位址為192.168.48.1的客戶機
hosts deny=:僅拒絕特定的客戶機
[linuxsir]#自定義名稱的共享目錄設定
path = /home/tom#設定對應共享目錄為tom家目錄;必須保證有該檔案
writeable = yes#設定該共享目錄是否可寫
browseable = no#設定該共享目錄在“網路上的芳鄰”中是否可見,設定為no時相當于隐藏共享目錄
guest ok設定共享目錄是否所有人都可以通路,與public配置項作用相同
第四步、啟動Samba服務
[root@localhost ~]# service smb start #啟動samba服務
第五步、建立使用者并設定密碼
[root@localhost ~]# useradd jie
[root@localhost ~]# passwd jie
[root@localhost ~]# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
[root@localhost ~]# smbpasswd jie -a 激活使用者
New SMB password:
Retype new SMB password:
Added user jie.
smbpasswd指令的主要選項:
-h:顯示smbpasswd指令的幫助資訊
-a:添加指定的Samba使用者帳号
-d:禁用指定的使用者帳号
-e:啟用指定的使用者帳号
-x:删除指定的使用者帳号
不使用任何指令選項時可以用于修改Samba使用者的密碼
在windows上通路linux檔案\\192.168.100.123
進入Linux共享時,不能通路檔案并出現“您可能沒有權限使用網絡資源”
[root@localhost ~]# setenforce 0 暫時停掉SELinux
[root@localhost ~]# setenforce 1 啟用SELinux
[root@localhost ~]# setsebool -P samba_enable_home_dirs on
建立10使用者user1-user10;
[root@mini ~]# vim user.sh
#!/bin/bash #注釋為bash
for((i=1;i<=10;i++))#條件
do #動作
useradd user$i # 添加使用者,$i為變量(i=i+1,一直執行到i<=10)
echo "user$i" | passwd --stdin user$i #列印出來,建立使用者密碼同使用者名一緻
echo "jiejie" | passwd --stdin user10#給使用者user10密碼為jiejie;
done #完成
[root@mini ~]# vim file.sh
#!/bin/bash
touch file{10..19}#建立10個空檔案file10-file19
列印九九乘法表
[root@mini ~]# vim Multiplicationtable.sh
for((i=1;i<=9;i++))#條件語句
do
for((j=1;j<=$i;j++))#條件語句
do
echo -e -n "$j*$i=$[$i*$j]\t"#顯示以行為首
done
echo""
done
[root@mini ~]# vim passwd.sh
read -p "please input your password >" num #互動式
echo "your password $num"
每天每兩小時取目前系統/proc/meminfo檔案中的所有以S開頭的資訊至/stats/memory.txt檔案中
寫一個腳本,使用ping指令探測192.168.0.1-192.168.0.254之間的所有主機的線上狀态;
線上的主機使用綠色顯示;
ipaddr="192.168.0."
for i in {1..254}
do
ping -c 1 $ipaddr$i &> /dev/null;
if [ $? -eq 0 ]
then
echo -e "\e[1;32m$ipaddr$i\e[0m"
else
echo -e "\e[1;41m$ipaddr$i\e[0m"
fi
done
echo選項:
使用-e選項時,若字元串中出現以下字元,則特别加以處理,而不會将它當成一般文字輸出:
\a 發出警告聲;
\b 删除前一個字元;
\c 最後不加上換行符号;
\f 換行但光标仍舊停留在原來的位置;
\n 換行且光标移至行首;
\r 光标移至行首,但不換行;
\t 插入tab;
\v 與\f相同;
\\ 插入\字元;
\nnn 插入nnn(八進制)所代表的ASCII字元;
read選項
-p:指定讀取值時的提示符;
-t:指定讀取值時等待的時間(秒)
Bash作為大多數Linux系統的預設Shell,已經可以滿足大部分系統關系需求了;Zsh的功能雖然強大,互動式操作也非常友善,但目前來說還不如Bash應用的普遍
管道操作符号“|”
連接配接左右兩個指令,将左側的指令輸出的結果,作為右側指令的輸入(處理對象)
結合不同的引号為變量指派
雙引号 “ ” :允許通過$符号引用其他變量值
單引号 ‘ ’ :禁止引用其他變量值,$視為普通字元
反撇号 ` ` :将指令執行的結果輸出給變量
-a或&&:邏輯與,“而且”的意思
前後兩個表達式都成立時整個測試結果才為真,否則為假
-o或||:邏輯或,“或者”的意思
for 變量名 in 取值清單
指令序列
done
使用in關鍵字為使用者自定義變量設定了一個取值清單(以空格分隔的多個值,引号内的空格除外)
for語句第一次執行時首先将清單中的第一個取值賦給該變量,然後執行do後邊的指令序列
然後再将清單中的第二個取值賦給該變量
然後執行do後邊的指令序列
如此循環,直到取值清單中的所有值都已經用完
最後将跳至done語句表示結束循環
while 指令或表達式
do
指令清單
done
首先通過while判斷條件測試指令的傳回狀态值是否為0(條件成立),【注:如果條件寫為 true ,則條件始終成立】
如果是,則執行do後邊的指令序列,
然後傳回到while再次進行條件測試并判斷傳回狀态值,
如果條件仍然成立,則繼續執行do後邊的指令序列,
然後傳回到while重複條件測試……如此循環,直到所測試的條件不成立時,将跳轉到done語句表示結束循環
使用if語句的多分支結構,實際上也可以達到相同的效果,但當分支較多時,嵌套的if結構将使腳本的可行性差,不易了解
使用case分支語句結構,則可以使不同的分支情況一目了然
case後邊的“變量值”逐一與模式1、模式2……等逐一進行比較,直到找到與之相比對的值,然後執行該模式下的指令序列,當遇到雙分号“;;”後跳轉至esac表示結束分支。如果一直找不到相比對的值,則執行最後一個模式“*)”後的預設指令序列,直到遇到esac後結束分支
crontab任務配置記錄中,所設定的指令在“分鐘+小時+日期+月份+星期”
時間數值的特殊表示方法
* 表示該範圍内的任意時間
, 表示間隔的多個不連續時間點
- 表示一個連續的時間範圍
/ 指定間隔的時間頻率
[root@mini ~]# mkdir /stats; touch memory.txt
[root@mini ~]# crontab -e
1 */2 * * * grep -E "^S" /proc/meminfo >> /stats/memory.txt
本文轉自 周小玉 51CTO部落格,原文連結:http://blog.51cto.com/maguangjie/1873259,如需轉載請自行聯系原作者