一、NFS配置
NFS服務:即是共享存儲,如有A、B、C三臺服務器,那麼文件存放在A上,B、C可通過NFS服務即可訪問A共享的文件。
1、服務端安裝過程
yum install -y nfs-utils
vim /etc/exports
寫入以下內容:
/proc/ 14.120.0.0/24(rw,sync,all_squash,anonuid=501,anongid=501)
##rw:表示可讀可寫,若爲ro表示只讀
##sync表示同步模式,內存中數據無時無刻寫入磁盤;若爲async表示非同步,內存中的數據定期寫入到磁盤中
##all_squash表示無論客戶端使用nfs服務的用戶是誰,都限制爲非root用戶;若爲root_squash則表示root用戶對該共享目錄權限不高,有有非root權限;若爲no_root_squash 表示使用nfs時用root用戶最高權限,不建議使用該選項
##anonuid以及anongid 要與all_squash或者root_squash共用,指定被限制後的uid和gid,但前提服務端的/etc/passwd文件中有這個uid以及gid
啓動服務:
/etc/init.d/rpcbind start;/etc/init.d/nfs start
##若要開機啓動,加入到rc.local中
若修改過/etc/exports文件,不需要restart服務
執行命令:exportfs -arv
2、客戶端
yum install -y nfs-utils
showmount -e 120.24.98.198: #查看該IP地址的共享目錄,120.24.98.198爲服務端IP
mount -t nfs 120.24.98.198:/proc/ /mnt/ ##掛載改IP地址的proc共享目錄掛載到客戶端的/mnt目錄下。
二、FTP
方法一:
1、獲取源碼包
wget ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.42.tar.bz2
tar -jxvf pure-ftpd-1.0.42.tar.bz2
2、編譯安裝
./configure --prefix=/usr/local/pureftpd --without-inetd --with-altlog --with-puredb --with-throttling --with-peruserlimits --with-tls
make
make install
3、配置pure-ftpd
cd /usr/local/src/pure-ftpd-1.0.42/configuration-file
mkdir -p /usr/local/pureftpd/etc/
cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf
cp pure-config.pl /usr/local/pureftpd/sbin/pure-config.pl
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
4、啓動前需要先修改配置文件
vim pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf
找到PureDB修改爲 PureDB /usr/local/pureftpd/etc/pureftpd.pdb
找到PIDFile修改爲 PIDFile /usr/local/pureftpd/var/run/pure-ftpd.pid
5、啓動pure-ftpd服務:
cd /usr/local/pureftpd/
./sbin/pure-config.pl ./etc/pure-ftpd.conf
##顯示running表示啓動成功
6、建立賬戶
mkdir -p /data/ftp_share/
useradd ftp_share
chown -R ftp_share:ftp_share /data/ftp_share/
/usr/local/pureftpd/bin/pure-pw useradd liang -uftp_share -d /data/ftp_share
##創建liang用戶與之前創建的ftp_share用戶關聯,用liang登陸後會以ftp_share用戶讀寫文件;-d後面跟的是共享目錄
/usr/local/pureftpd/bin/pure-pw mkdb ##創建用戶信息庫文件,這步是重點
/usr/local/pureftpd/bin/pure-pw list ##列出當前已創建的賬戶以及所訪問的目錄
/usr/local/pureftpd/bin/pure-pw userdel liang #刪除ftp用戶
方法二:
1、安裝包,創建ftp用戶
yum install -y vsftpd db4-utils
useradd virftp -s /sbin/nologin
2、編輯登陸賬戶,改變該文件安全權限
vim /etc/vsftpd/vsftpd_login
輸入以下內容:
test1
123456
chmod 600 /etc/vsftpd/vsftpd_login
3、生成庫
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
4、創建虛擬用戶相關配置存放的對應目錄
mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf
5、創建第一個虛擬用戶(有多小用戶創建多小個)
vim test1 #這是用戶配置文件,有多小個用戶配置多小個這樣的文件,對應上面的test1,並輸入以下內容
local_root=/data/www/ #此處爲ftp的物理路徑
anonymous_enable=NO #是否允許匿名登陸
write_enable=YES #是否可寫
local_umask=022 #指定umake值
anon_upload_enable=NO #是否允許匿名賬戶上傳文件
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
6、在/home/virftp/目錄創建對應用戶文件夾,並改變權限
mkdir /home/virftp/test1 #對應上面的test1
chown -R virftp:virftp /home/virftp
7、添加配置參數
vim /etc/pam.d/vsftpd
在頂端加入:
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
保存(若系統是32位的,把lib64改成lib)
8、修改vsftp服務的全局配置參數
vim /etc/vsftpd/vsftpd.conf
在文檔最下加入:
chroot_local_user=YES
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
另外找到 anon_mkdir_write_enable=YES 改成NO
anon_mkdir_write_enable=YES 改成NO
anonymous_enable=YES 改成NO
9、啓動FTP服務
/etc/init.d/vsftpd start
方法三:
利用mysql驗證用戶
1 安裝vsftpd
(1) yum install -y vsftpd
(2)編輯vsftpd.conf
內容如下
listen=YES
connect_from_port_20=YES
pasv_enable=YES
tcp_wrappers=YES
local_enable=YES
chroot_local_user=yes
anonymous_enable=NO
guest_enable=YES
guest_username=vsftpdguest
user_config_dir=/etc/vsftpd/vsftpd_user_conf
pam_service_name=/etc/pam.d/vsftpd
dirmessage_enable=YES
idle_session_timeout=600
check_shell=NO
(3)創建一個虛擬用戶映射系統用戶
useradd –s /sbin/nologin vsftpdguest
2 安裝 mysql
具體步驟參考 http://www.lishiming.net/thread-7-1-2.html
3 安裝 pam-mysql
wget http://cdnetworks-kr-1.dl.source ... mysql-0.7RC1.tar.gz
tar zxvf pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1
./configure --with-mysql=/usr/local/mysql --with-pam=/usr --with-pam-mods-dir=/usr/lib
make && make install
4 創建vsftp 庫和相關的表並授權
>create database vsftp;
>use vsftp ;
>create table users ( name char(16) binary ,passwd char(125) binary ) ;
>insert into users (name,passwd) values ('test001',password('123456'));
>insert into users (name,passwd) values ('test002',password('234567'));
>grant select on vsftp.users to vsftpdguest@localhost identified by 'vsftpdguest';
5 創建虛擬賬戶的配置文件
mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf
vim test001
內容如下
local_root=/ftp/
write_enable=YES
virtual_use_local_privs=YES
chmod_enable=YES
6 編輯驗證文件
vim /etc/pam.d/vsftpd
內容如下
#%PAM-1.0
auth required /usr/lib/pam_mysql.so user=vsftpdguest passwd=vsftpdguest host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
account required /usr/lib/pam_mysql.so user=vsftpdguest passwd=vsftpdguest host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
三、SAMBA
Samba實現windows與linux的文件共享
yum install -y smaba samba-client
vim /etc/samba/smb.conf #修改配置文件
##[global]表示全局配置 [homes]表示共享用戶自己的家目錄 [printers]用於設置打印機共享
修改如下:
workgroup = MYGROUP改workgroup = WORKGROUP ##workgroup代表windows的工作組
security = user ##指定samba的安全等級,安全等級按需求修改
## share表示 不需要賬戶以及密碼即可登陸samba服務器
## user 表示由samba服務器負責檢查賬戶以及密碼
## server 表示檢查賬戶以及密碼由另外一臺windows或者samba服務器負責
## domain指定windows域控制服務器來檢驗賬戶以及密碼
Passdb backend =tdbsam ##指定用戶後臺,有三種用戶後臺:
## smbpasswd 表示該方式使用smb工具給系統用戶(真實或者虛擬用戶)設置一個samba密碼,客戶端只需用此密碼即可訪問samba資源,smbapasswd存放在/etc/samba目錄下
## tdbsam 表示該方式使用數據庫文件創建用戶數據庫。數據庫文件爲passdb.tdb,同樣存放在/etc/samba目錄下,passdb.tdb用戶數據可使用smbpasswd -a 創建samba用戶,創建samba用戶必是系統用戶,另外也可以使用pdbedit命令創建samba賬戶。pdbedit參數有:
## pdbedit -a username ##創建samba賬戶
## pdbedit -x username ##刪除samba賬戶
## pdbedit -L ##列出samba用戶列表,讀取passdb.tdb數據庫文件內容
## pdbedit -Lv ##列出samba用戶列表的詳細信息
## pdbedit -c “[D]” -u username ##暫停該samba用戶賬號
## pdbedit -c “[]” -u username ##恢復該samba用戶賬號
## ldapsam 表示基於LDAP賬戶管理方式驗證用戶,首先要建立LDAP服務,設置“passdb backend = ldapsam://LDAP Server”
## load printers 以及 cpus options 用於設置打印機相關的
##netbios name = MYSERVER ##用來設置出現在網上鄰居中的主機名
##hosts allow = 127.192.168.12 192.168.13.0/24 ##設置允許的主機,註釋後允許所有
##log file = /var/log/samba/%m.log ##%m表示前面netbios name的值
##max log size = 50 ##指定日誌的最大容量,單位KB
實踐一:
要求:共享一個目錄,所有人可以訪問,不用輸入密碼,只可讀。
vim /etc/samba/smb.conf
修改如下:
workgroup = WORKGROUP
security = share
在最後加上
#####SHARE只讀######
[share]
comment = share all
path = /share
browseable = yes
public = yes
writable = no
##啓動服務
server smb start
實踐二:
要求:共享一個目錄,需要用戶名和密碼纔可以訪問,可讀可寫
1、vim /etc/samba/smb.conf
修改以下內容:
workgroup = WORKGROUP
server string = Samba Server Version %v
security = user
passdb backend = tdbsam
load printers = yes
cups options = raw
在末端加入:
[myshare]
comment = share for users
path = /share
browseable = yes
writable = yes
public = no
2、創建用戶
useradd user01
useradd user02
##把user01、user02設置爲Samba賬戶:
pdbedit -a user01
pdbedit -a user02
##列出所有Samba賬戶
pdbedit -L
3、啓動samba服務
service smb start