NFS、FTP、SAMBA服務搭建

一、NFS配置

NFS服務:即是共享存儲,如有ABC三臺服務器,那麼文件存放在A上,BC可通過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共用,指定被限制後的uidgid,但前提服務端的/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實現windowslinux的文件共享

yum install -y smaba samba-client

vim /etc/samba/smb.conf        #修改配置文件

##[global]表示全局配置 [homes]表示共享用戶自己的家目錄 [printers]用於設置打印機共享

修改如下:

workgroup = MYGROUPworkgroup = 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

 

實踐二:

要求:共享一個目錄,需要用戶名和密碼纔可以訪問,可讀可寫

1vim /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

   ##user01user02設置爲Samba賬戶:

   pdbedit -a user01

   pdbedit -a user02

   ##列出所有Samba賬戶

   pdbedit -L

3、啓動samba服務

   service smb start


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章