linux下的FTP,SAMBA配置筆記

來源:互聯網
上載者:User

環境:Windows XP SP2 + VMware Workstation 6.1 + Red Hat Enterprise 5.1

 

本文內容是自己實踐加網上搜尋的資料。

 

(一)Linux下的FTP配置步驟:
(1) 檢查是否安裝了vsftpd:
rpm -qa | grep -i vsftpd

(2)讓系統服務隨著系統啟動而啟動:
chkconfig vsftpd on

(3)啟動vsftpd伺服器:
/etc/init.d/vsftpd start

(4)測試:
ftp localhost
若正常,則會出現登入資訊.

(5)配置vsftpd,修改如下:
1)將 anonymous_enable=YES 改為 anonymous_enable=NO,表示將允許匿名使用者登入改為不允許。
2)去掉#chroot_list_enable=YES前的#,並將修改為 chroot_list_enable=NO,表示允許使用者離開本目錄。
或者:去掉#chroot_list_enable=YES前的#,同時把 chroot_list_file=/etc/vsftpd/chroot_list 前面的#去掉,並在目錄/etc/vsftpd/中建立檔案chroot_list,添加使用者。這個則表示除了chroot_list檔案清單中的使用者不能離開主目錄外,其他本機使用者可以離開本目錄。
或者:在#chroot_list_enable=YES 前面添加行 chroot_local_user=NO,表示允許使用者離開本目錄。如果添加chroot_local_user=YES則表示將本機使用者鎖定在本目錄。
3)userlist_enable=YES 改為 userlist_enable=NO,禁止使用者限制功能。
4)將/etc/vsftpd/ftpuser檔案中的使用者root去掉,表示允許root登入。ftpusers檔案清單中的使用者不允許登陸到ftp伺服器。

(6)將SEliunx給禁用掉,vi /etc/selinux/config,設定 SELINUX=disabled。

(7)重啟機器。

然後就可以使用root登入了。

如果遇見登入vsftpd發現提示如下錯誤:cannot change directory:/root  是因為SE配置的關閉了ftp的原因。
使用命令:getsebool ftpd_disable_trans
能夠查看當前的狀態假如不是on
那麼是輸入命令:setsebool ftpd_disable_trans 1
當然也能夠加入-P參數 以便無需每次開機都輸入這個命令
setsebool -P ftpd_disable_trans 1
同理 假如smb服務也碰到相同的問題 ,也能夠這麼做。
setsebool -P samba_enable_home_dirs=1
selinux的問題也能夠使用 管理工具中的 selinux management 來調整相關配置。

關於ftp伺服器基本配置:
目錄: /etc/vsftpd,它的下面有五個檔案:
chroot_list:預設是不存在,在裡面添加使用者後,在chroot_list_enable=YES的情況下將這些使用者鎖定在本目錄。    
ftpusers:不允許登陸到ftp伺服器的使用者
user_list: 在vsftpd.conf中,userlist_deny=yes,則不允許檔案清單中的使用者登入到ftp伺服器,這個是預設的。userlist_deny=NO,則僅允許檔案清單中的使用者登入。
vsftpd.conf:主要設定檔
vsftpd_conf_migrate.sh

 

(二)Linux下的SAMBA配置步驟:

(1) 查看SAMBA是否安裝
 rpm -qa | grep -i samba

[root@localhost samba]# rpm -qa | grep -i samba<br />samba-common-3.0.33-3.28.el5<br />samba-client-3.0.33-3.28.el5<br />

RHEL5預設只安裝了用戶端。

(2)如果沒有安裝伺服器端,則下載伺服器端原始碼,進入source3目錄(source4目錄是測試版本,前者是穩定版本),執行下列安裝步驟:
./autogen.sh
./configure
make
make install
(3)在原始碼的目錄中的examples中,將smb.conf.default複製到 /usr/local/samba/lib目錄下並更名為smb.conf.
/usr/local/samba/bin/testparm
檢查smb.conf配置文法是否錯誤和設定是否成功.
(4)配置smb.conf
#vi smb.conf
有兩個地方非改不可
workgroup=workgroup(我的windows機器的工作群組名稱)
增加:unix charset=cp936
dos charset=cp936
display charset=cp936
這三條設定的目的是在win機上使用“近端分享“共用到linux上的檔案夾和檔案時,顯示漢字。
(5)增加smb使用者

1. 將/etc/ld.so.conf 中新加入一行:/usr/local/samba/lib,這步是為瞭解決一個錯誤(用下面的命令增加smb使用者報錯): error while loading shared libraries: libwbclient.so.0: cannot open shared object file: No such file or directory

2. 然行運行 ldconfig 

3.假設linux上已有一個使用者名稱為cj,那麼:/usr/local/samba/bin/smbpasswd -a cj,就把cj增加為smb使用者了。
(6)啟動smb服務
service iptables stop
service network restart
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D
(7)將smb服務設為開機啟動。
vi /etc/rc.d/rc.local
加入/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D
就可以了。
(8) 此時我們伺服器上沒有設定任何共用目錄,下面我們在伺服器上設定一個共用目錄:
    # mkdir /home/public
    # chmod 777  /home/public
    # vi   /usr/local/samba/lib/smb.conf
    把游標移動設定檔的最後一行,在下面加入以下配置
# This is samba text
[text]
comment = text
path = /home/public
writable = yes
public = yes
存檔退出,重啟 samba 伺服器。

另外:
samba安裝目錄下有一個docs子目錄,有一個samba-howto.pdf文檔,非常詳盡,漢字顯示的解決就是看了這個才解決的。
http://www.linuxsir.org/bbs/showthread.php?postid=1288908

 

(三)將windows共用目錄映射到linux下的命令例子:

mount -t cifs -o username="administrator",password="123456" //192.168.0.2/LinuxDisk /home/cj

mount -t smbfs -o username="administrator",password="123456" //192.168.0.2/LinuxDisk /home/cj
後者可能有問題,錯誤提示是:mount: unknown filesystem type 'smbfs'
rhel5已經不再支援smbfs了,而改用了Common Internet File Systemcifs(cifs)取代了原有的smbfs.

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.