濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > CentOS命令大全 包括:系統(tǒng)命令,各種服務(wù)器搭建等

CentOS命令大全 包括:系統(tǒng)命令,各種服務(wù)器搭建等

熱門(mén)標(biāo)簽:南寧銷(xiāo)售電銷(xiāo)機(jī)器人廠家 辦理400電話怎么劃傷 陽(yáng)江智能電銷(xiāo)機(jī)器人 地圖標(biāo)注軌跡 科研地圖標(biāo)注 省份地圖標(biāo)注 灰谷地圖標(biāo)注 江蘇客服外呼系統(tǒng)怎么樣 平頂山手機(jī)自動(dòng)外呼系統(tǒng)違法嗎
下面,就給大家介紹這些CentOS常用命令。

一:使用CentOS常用命令查看cpu

more /proc/cpuinfo | grep "model name"
grep "model name" /proc/cpuinfo
[root@localhost /]# grep "CPU" /proc/cpuinfo
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
model name : Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
如果覺(jué)得需要看的更加舒服
grep "model name" /proc/cpuinfo | cut -f2 -d:

二:使用CentOS常用命令查看內(nèi)存

grep MemTotal /proc/meminfo grep MemTotal /proc/meminfo | cut -f2 -d: free -m |grep "Mem" | awk '{print $2}'

三:使用CentOS常用命令查看cpu是32位還是64位

查看CPU位數(shù)(32 or 64)
getconf LONG_BIT

四:使用CentOS常用命令查看當(dāng)前l(fā)inux的版本

more /etc/redhat-release
cat /etc/redhat-release

五:使用CentOS常用命令查看內(nèi)核版本

uname -r
uname -a

六:使用CentOS常用命令查看當(dāng)前時(shí)間

date上面已經(jīng)介紹如何同步時(shí)間了

七:使用CentOS常用命令查看硬盤(pán)和分區(qū)

df -h
fdisk -l
也可以查看分區(qū)
du -sh
可以看到全部占用的空間
du /etc -sh
可以看到這個(gè)目錄的大小

八:使用CentOS常用命令查看安裝的軟件包

查看系統(tǒng)安裝的時(shí)候裝的軟件包
cat -n /root/install.log
more /root/install.log | wc -l
查看現(xiàn)在已經(jīng)安裝了那些軟件包
rpm -qa
rpm -qa | wc -l
yum list installed | wc -l
不過(guò)很奇怪,我通過(guò)rpm,和yum這兩種方式查詢的安裝軟件包,數(shù)量并不一樣。沒(méi)有找到原因。
九:使用CentOS常用命令查看鍵盤(pán)布局
cat /etc/sysconfig/keyboard
cat /etc/sysconfig/keyboard | grep KEYTABLE | cut -f2 -d=
十:使用CentOS常用命令查看selinux情況
sestatus
sestatus | cut -f2 -d:
cat /etc/sysconfig/selinux
十一:使用CentOS常用命令查看ip,mac地址
在ifcfg-eth0 文件里你可以看到mac,網(wǎng)關(guān)等信息。 ifconfig cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR | cut -f2 -d= ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6- ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}' 查看網(wǎng)關(guān) cat /etc/sysconfig/network 查看dns cat /etc/resolv.conf 十二:使用CentOS常用命令查看默認(rèn)語(yǔ)言
echo $LANG $LANGUAGE
cat /etc/sysconfig/i18n
十二:使用CentOS常用命令查看所屬時(shí)區(qū)和是否使用UTC時(shí)間
cat /etc/sysconfig/clock
十三:使用CentOS常用命令查看主機(jī)名
hostname
cat /etc/sysconfig/network
修改主機(jī)名就是修改這個(gè)文件,同時(shí)最好也把host文件也修改。

十四:使用CentOS常用命令查看開(kāi)機(jī)運(yùn)行時(shí)間
uptime
09:44:45 up 67 days, 23:32, ...
看來(lái)剛才確實(shí)是網(wǎng)段的問(wèn)題,我的機(jī)器還是67天前開(kāi)機(jī)的。
#系統(tǒng)資源使用情況
vmstat 1 -S m procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 0 233 199 778 0 0 4 25 1 1 3 0 96 0 0 0 0 0 233 199 778 0 0 0 0 1029 856 13 1 86 0 0

十五:使用CentOS常用命令查看開(kāi)機(jī)運(yùn)行時(shí)間
uptime
09:44:45 up 67 days, 23:32, ...
看來(lái)剛才確實(shí)是網(wǎng)段的問(wèn)題,我的機(jī)器還是67天前開(kāi)機(jī)的。
#系統(tǒng)資源使用情況
1. vmstat 1 -S m
2. procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
3. r b swpd free buff cache si so bi bo in cs us sy id wa st
4. 0 0 0 233 199 778 0 0 4 25 1 1 3 0 96 0 0
5. 0 0 0 233 199 778 0 0 0 0 1029 856 13 1 86 0 0
6.
對(duì)大家推薦很好使用的Linux CentOS系統(tǒng),像讓大家對(duì)Linux CentOS系統(tǒng)有所了解,然后對(duì)Linux CentOS系統(tǒng)全面講解介紹,希望對(duì)大家有用Linux CentOS常用的命令.
wget$ wget -r -np -nd http://example.com/packages/ 這條命令可以下載 http://example.com 網(wǎng)站上 packages 目錄中的所有文件。Linux CentOS其中,-np 的作用是不遍歷父目錄,-nd 表示不在本機(jī)重新創(chuàng)建目錄結(jié)構(gòu)。
$ wget -r -np -nd --accept=iso http://example.com/centos-5/i386/ 與上一條命令相似,Linux CentOS但多加了一個(gè) --accept=iso 選項(xiàng),這指示 wget 僅下載 i386 目錄中所有擴(kuò)展名為 iso 的文件。你也可以指定多個(gè)擴(kuò)展名,Linux CentOS只需用逗號(hào)分隔即可。
$ wget -i filename.txt 此命令常用于批量下載的情形,Linux CentOS把所有需要下載文件的地址放到 filename.txt 中,然后 wget 就會(huì)自動(dòng)為你下載所有文件了。 Linux CentOS$ wget -c http://example.com/really-big-file.iso 這里所指定的 -c 選項(xiàng)的作用為斷點(diǎn)續(xù)傳。
$ wget -m -k (-H) http://www.example.com/ 該命令可用來(lái)鏡像一個(gè)網(wǎng)站,wget 將對(duì)鏈接進(jìn)行轉(zhuǎn)換。Linux CentOS如果網(wǎng)站中的圖像是放在另外的站點(diǎn),那么可以使用 -H 選項(xiàng)。


VI 編輯命令命令模式
移動(dòng)光標(biāo)
[Ctrl] + [f] → 屏幕『向下』移動(dòng)一頁(yè),相當(dāng)于 [Page Down]按鍵
[Ctrl] + [b] → 屏幕『向上』移動(dòng)一頁(yè),相當(dāng)于 [Page Up] 按鍵
nspace> → n 表示『數(shù)字』。按下數(shù)字后再按空白鍵,光標(biāo)會(huì)向右移動(dòng)這一行的 n 個(gè)字元
0 → 數(shù)字『 0 』:移動(dòng)到這一行的最前面字元處
$ → 移動(dòng)到這一行的最后面字元處
G → 移動(dòng)到這個(gè)文件的最后一行
nG → n 為數(shù)字。移動(dòng)到這個(gè)文件的第 n 行(可配合 :set nu)
gg → 移動(dòng)到這個(gè)文件的第一行,相當(dāng)于 1G
nEnter> → n 為數(shù)字。光標(biāo)向下移動(dòng) n 行
Linux CentOS查找與替換
n → 『重復(fù)前一個(gè)查找的動(dòng)作』
N → 與 n 剛好相反,為『反向』進(jìn)行前一個(gè)查找動(dòng)作
:n1,n2s/word1/word2/g → n1 與 n2 均為數(shù)字。在第 n1 與 n2 行之間查找 word1 字符串,并將該字符串替換為 word2。
如:在 1 到 9 行之間查找 eric4ever 并替換為 ERIC4EVER 則:『:1,9s/eric4ever/ERIC4EVER/g』
:1,$s/word1/word2/g → 從第一行到最后一行查找 word1 字符串,并將該字符串替換為 word2
:1,$s/word1/word2/gc → 從第一行到最后一行查找 word1 字符串,并將該字符窗替換為 word2,替換前顯示提示對(duì)話框是否確認(rèn)替換


Linux CentOS刪除、復(fù)制與粘貼
x, X → 在一行字當(dāng)中,x 為向后刪除一個(gè)字元 (相當(dāng)于 [del] 按鍵),
X 為向前刪除一個(gè)字元(相當(dāng)于 [backspace] 按鍵)
dd → 刪除光標(biāo)所在的那一整行
ndd → n 為數(shù)字。刪除光標(biāo)所在的向下 n 列
yy → 復(fù)制光標(biāo)所在的那一行
nyy → n 為數(shù)字。復(fù)制光標(biāo)所在的向下 n 列
p, P → p 為將已復(fù)制的內(nèi)容粘貼在光標(biāo)下一行上,P 則為粘貼在光標(biāo)的上一行
u → 還原前一個(gè)動(dòng)作
[Ctrl]+r → 重做上一個(gè)動(dòng)作
. → 小數(shù)點(diǎn),意思是重復(fù)前一個(gè)動(dòng)作
Linux CentOS編輯模式i, I → 插入:在目前的光標(biāo)所在處插入輸入的文字,已存在的文字會(huì)向后退; 其中, i 為『從目前光標(biāo)所在處插入』, I 為『在目前所在行的第一個(gè)非空白字元處開(kāi)始插入』a, A → a 為『從目前光標(biāo)所在的下一個(gè)字元處開(kāi)始插入』, A 為『從光標(biāo)所在行的最后一個(gè)字元處開(kāi)始插入』
o, O → o 為『在目前光標(biāo)所在的下一行處插入新的一行』, O 為『在目前光標(biāo)所在處的上一行插入新的一行』
r, R → r 為『取代光標(biāo)所在的那一個(gè)字元』, R 為『一直取代光標(biāo)所在的文字,直到按下 ESC 為止』
Esc → 退出編輯模式,回到一般模式中
Linux CentOS末行指令模式
:w → 將編輯的文件寫(xiě)入到硬盤(pán)上
:q → 退出 vi
:set nu → 顯示行號(hào)
:set nonu → 取消顯示行號(hào)
Linux CentOSvim 塊操作
Ctrl+v 進(jìn)入視圖模式
Esc>退出視圖模式
在Ctrl+v 后:
Dollar>+ A在塊的每行末尾添加
I 插入
y 塊抽取
p 塊粘貼
c 修改
Linux centos已被廣泛應(yīng)用但是也在不斷的更新,這里介紹Linux centos安裝設(shè)置使用,幫助大家安裝更新Linux centos系統(tǒng)手動(dòng)配置Linux centos的IP地址
今天在vmware server上裝了個(gè)centos-4.7(免費(fèi)的redhat,是小紅帽的的克隆版本,跟小紅帽的版本是對(duì)應(yīng)的),其中ip安裝時(shí)沒(méi)設(shè)好,一般Linux centos的網(wǎng)卡IP地址是存放在文件中的,這個(gè)配置文件在/etc/sysconfig/network-scripts下,
名稱(chēng)分別為ifcfg-eth0,ifcfg-eth1....如果你有一塊網(wǎng)卡,就只有ifcfg-eth0一個(gè)文件,如果你有兩塊或者兩塊以上的網(wǎng)卡,就會(huì)有ifcfg-eth1、ifcfg-eth2等文件的出現(xiàn)。


文件結(jié)構(gòu):
DEVICE=eth0 //指出設(shè)備名稱(chēng)
ONBOOT=yes//是否啟動(dòng)應(yīng)用
BOOTPROTO=static //啟動(dòng)類(lèi)型 靜態(tài) (默認(rèn)dhcp)
IPADDR=192.168.0.77 //IP地址
NETMASK=255.255.255.0//子網(wǎng)掩碼
GATEWAY=192.168.0.1 //網(wǎng)關(guān)
步驟:
1、vi /etc/sysconfig/network-scripts/ifcfg-teh0 (也可通過(guò)管理工具setup或netconfig命令設(shè)置)
2、重新啟動(dòng)網(wǎng)絡(luò)服務(wù)service network restart
要想和主機(jī)連接:還需配置xp主機(jī),在vmware上設(shè)置為 host-only模式,xp里修改vmnet1的IP地址為192.168.0.1, 修改Linux centos IP為192.168.0.77
共享上網(wǎng)設(shè)置:xp里修改第一塊虛擬網(wǎng)卡的網(wǎng)絡(luò)屬性為共享internet(屬性->高級(jí)->鉤選“允許其他網(wǎng)絡(luò)用戶通過(guò)此計(jì)算機(jī)的Internet連接來(lái)連接”) 會(huì)自動(dòng)把vmnet1改為192.168.0.1,Linux centos就能上網(wǎng)了
CentOS Vsftpd配置經(jīng)過(guò)長(zhǎng)時(shí)間的發(fā)展,這里我發(fā)表一下個(gè)人理解,下面就這就來(lái)講術(shù)CentOS Vsftpd配置。調(diào)整CentOS Vsftpd配置文件:
1.編輯CentOS Vsftpd配置文件前先備份
[root@KcentOS5 ~]cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
2.編輯主CentOS Vsftpd配置文件Vsftpd.conf
[root@KcentOS5 ~]vi /etc/vsftpd/vsftpd.conf
這里我將原CentOS Vsftpd配置文件的修改完全記錄,凡是修改的地方我都會(huì)保留注釋原來(lái)的配置。其中加入我對(duì)每條配置項(xiàng)的認(rèn)識(shí),對(duì)于一些比較關(guān)鍵的配置項(xiàng)這里我做了我的觀點(diǎn),并且原本英語(yǔ)的說(shuō)明我也不刪除,供參考對(duì)比用。
Example config file /etc/vsftpd/vsftpd.conf
The default compiled in settings are fairly paranoid. This sample file
loosens things up a bit, to make the ftp daemon more usable.
Please see vsftpd.conf.5 for all compiled in defaults.
READ THIS: This example file is NOT an exhaustive list of vsftpd options.
Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
capabilities.
Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES
anonymous_enable=NO
設(shè)定不允許匿名訪問(wèn)


Uncomment this to allow local users to log in.
local_enable=YES設(shè)定本地用戶可以訪問(wèn)。注意:主要是為虛擬宿主用戶,如果該項(xiàng)目設(shè)定為NO那么所有虛擬用戶將無(wú)法訪問(wèn)。
Uncomment this to enable any form of FTP write command.
write_enable=YES
設(shè)定可以進(jìn)行寫(xiě)操作。
Default umask for local users is 077. You may wish to change this to 022,
if your users expect that (022 is used by most other ftpd's)
local_umask=022
設(shè)定上傳后文件的權(quán)限掩碼。
Uncomment this to allow the anonymous FTP user to upload files. This only
has an effect if the above global write enable is activated. Also, you will
obviously need to create a directory writable by the FTP user.
anon_upload_enable=YES
anon_upload_enable=NO
禁止匿名用戶上傳。
Uncomment this if you want the anonymous FTP user to be able to create
new directories.
anon_mkdir_write_enable=YES
anon_mkdir_write_enable=NO
禁止匿名用戶建立目錄。
Activate directory messages - messages given to remote users when they
go into a certain directory.
dirmessage_enable=YES
設(shè)定開(kāi)啟目錄標(biāo)語(yǔ)功能。
Activate logging of uploads/downloads.
xferlog_enable=YES
設(shè)定開(kāi)啟日志記錄功能。


Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
設(shè)定端口20進(jìn)行數(shù)據(jù)連接。
If you want, you can arrange for uploaded anonymous files to be owned by
a different user. Note! Using "root" for uploaded files is not
recommended!
chown_uploads=YES
chown_uploads=NO
設(shè)定禁止上傳文件更改宿主。
chown_username=whoever
You may override where the log file goes if you like. The default is shown
below.
xferlog_file=/var/log/vsftpd.log
設(shè)定CentOS Vsftpd配置的服務(wù)日志保存路徑。注意,該文件默認(rèn)不存在。必須要手動(dòng)touch出來(lái),并且由于這里更改了CentOS Vsftpd配置的服務(wù)宿主用戶為手動(dòng)建立的Vsftpd。必須注意給與該用戶對(duì)日志的寫(xiě)入權(quán)限,否則服務(wù)將啟動(dòng)失敗。
If you want, you can have your log file in standard ftpd xferlog format
xferlog_std_format=YES
設(shè)定日志使用標(biāo)準(zhǔn)的記錄格式。
You may change the default value for timing out an idle session.
idle_session_timeout=600
設(shè)定空閑連接超時(shí)時(shí)間,這里使用默認(rèn)。將具體數(shù)值留給每個(gè)具體用戶具體指定,當(dāng)然如果不指定的話,還是使用這里的默認(rèn)值600,單位秒。

You may change the default value for timing out a data connection.
data_connection_timeout=120
設(shè)定單次最大連續(xù)傳輸時(shí)間,這里使用默認(rèn)。將具體數(shù)值留給每個(gè)具體用戶具體指定,當(dāng)然如果不指定的話,還是使用這里的默認(rèn)值120,單位秒。
It is recommended that you define on your system a unique user which the
ftp server can use as a totally isolated and unprivileged user.
nopriv_user=ftpsecure
nopriv_user=vsftpd
設(shè)定支撐CentOS Vsftpd服務(wù)的宿主用戶為手動(dòng)建立的Vsftpd用戶。注意,一旦做出更改宿主用戶后,必須注意一起與該服務(wù)相關(guān)的讀寫(xiě)文件的讀寫(xiě)賦權(quán)問(wèn)題。比如日志文件就必須給與該用戶寫(xiě)入權(quán)限等。
Enable this and the server will recognise asynchronous ABOR requests. Not
recommended for security (the code is non-trivial). Not enabling it,
however, may confuse older FTP clients.
async_abor_enable=YES
設(shè)定支持異步傳輸功能。
By default the server will pretend to allow ASCII mode but in fact ignore
the request. Turn on the below options to have the server actually do ASCII
mangling on files when in ASCII mode.
Beware that on some FTP servers, ASCII support allows a denial of service
attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
predicted this attack and has always been safe, reporting the size of the
raw file.
ASCII mangling is a horrible feature of the protocol.
ascii_upload_enable=YES
ascii_download_enable=YES
設(shè)定支持ASCII模式的上傳和下載功能。
You may fully customise the login banner string:
ftpd_banner=This Vsftp server supports virtual users ^_^
設(shè)定CentOS Vsftpd配置的登陸標(biāo)語(yǔ)。
You may specify a file of disallowed anonymous e-mail addresses. Apparently
useful for combatting certain DoS attacks.
deny_email_enable=YES


(default follows)
banned_email_file=/etc/vsftpd/banned_emails
You may specify an explicit list of local users to chroot() to their home
directory. If chroot_local_user is YES, then this list becomes a list of
users to NOT chroot().
chroot_list_enable=YES
chroot_list_enable=NO
禁止用戶登出自己的FTP主目錄。
(default follows)
chroot_list_file=/etc/vsftpd/chroot_list
You may activate the "-R" option to the builtin ls. This is disabled by
default to avoid remote users being able to cause excessive I/O on large
sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
the presence of the "-R" option, so there is a strong case for enabling it.
ls_recurse_enable=YES
ls_recurse_enable=NO
禁止用戶登陸FTP后使用"ls -R"的命令。該命令會(huì)對(duì)服務(wù)器性能造成巨大開(kāi)銷(xiāo)。如果該項(xiàng)被允許,那么擋多用戶同時(shí)使用該命令時(shí)將會(huì)對(duì)該服
務(wù)器造成威脅。
When "listen" directive is enabled, vsftpd runs in standalone mode and
listens on IPv4 sockets. This directive cannot be used in conjunction
with the listen_ipv6 directive.
listen=YES
設(shè)定該CentOS Vsftpd服務(wù)工作在StandAlone模式下。順便展開(kāi)說(shuō)明一下,所謂StandAlone模式就是該服務(wù)擁有自己的守護(hù)進(jìn)程支持,在ps -A命令下我們將可用看到vsftpd的守護(hù)進(jìn)程名。如果不想工作在StandAlone模式下,則可以選擇SuperDaemon模式,在該模式下 vsftpd將沒(méi)有自己的守護(hù)進(jìn)程,而是由超級(jí)守護(hù)進(jìn)程Xinetd全權(quán)代理,與此同時(shí),Vsftp服務(wù)的許多功能將得不到實(shí)現(xiàn)。
This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
sockets, you must run two copies of vsftpd whith two configuration files.
Make sure, that one of the listen options is commented !!
listen_ipv6=YES
pam_service_name=vsftpd



設(shè)定PAM服務(wù)下CentOS Vsftpd配置驗(yàn)證文件名。因此,PAM驗(yàn)證將參考/etc/pam.d/下的vsftpd文件配置。
userlist_enable=YES
設(shè)定userlist_file中的用戶將不得使用FTP。
tcp_wrappers=YES
設(shè)定支持TCP Wrappers。
KC: The following entries are added for supporting virtual ftp users.
以下這些是關(guān)于Vsftpd虛擬用戶支持的重要CentOS Vsftpd配置項(xiàng)目。默認(rèn)Vsftpd.conf中不包含這些設(shè)定項(xiàng)目,需要自己手動(dòng)添加配置。
guest_enable=YES
設(shè)定啟用虛擬用戶功能。
guest_username=overlord
指定虛擬用戶的宿主用戶。
virtual_use_local_privs=YES
設(shè)定虛擬用戶的權(quán)限符合他們的宿主用戶。
user_config_dir=/etc/vsftpd/vconf
設(shè)定虛擬用戶個(gè)人Vsftp的配置文件存放路徑。也就是說(shuō),這個(gè)被指定的目錄里,將存放每個(gè)Vsftp虛擬用戶個(gè)性的配置文件,一個(gè)需要注意的
地方就是這些配置文件名必須和虛擬用戶名相同。保存退出。
3.建立CentOS Vsftpd配置的日志文件,并更該屬主為Vsftpd的服務(wù)宿主用戶:
[root@KcentOS5 ~]touch /var/log/vsftpd.log
[root@KcentOS5 ~]chown vsftpd.vsftpd /var/log/vsftpd.log
4.建立虛擬用戶CentOS Vsftpd配置文件存放路徑:
[root@KcentOS5 ~]mkdir /etc/vsftpd/vconf/
CentOS vsftp已被廣泛應(yīng)用但是也在不斷的更新,這里介紹CentOS vsftp安裝設(shè)置使用,幫助大家安裝更新CentOS vsftp系統(tǒng)。


CentOS vsftp安裝:
1.安裝CentOS Vsftpd服務(wù)相關(guān)部件:
[root@KcentOS5 ~]# yum install vsftpd*
2.確認(rèn)安裝PAM服務(wù)相關(guān)部件:
[root@KcentOS5 ~]# yum install pam*
開(kāi)發(fā)包,其實(shí)不裝也沒(méi)有關(guān)系,主要的目的是確認(rèn)PAM。
3.安裝DB4部件包:
這里要特別安裝一個(gè)db4的包,用來(lái)支持文件數(shù)據(jù)庫(kù)。
[root@KcentOS5 ~]# yum install db4*
CentOS vsftp系統(tǒng)帳戶
1.建立CentOS vsftp服務(wù)的宿主用戶:
[root@CentOS5 /]#chmod 700 /home/vftpsite
[root@KcentOS5 ~]# useradd vsftpd -s /sbin/nologin
默認(rèn)的Vsftpd的服務(wù)宿主用戶是root,但是這不符合安全性的需要。這里建立名字為vsftpd的用戶,用他來(lái)作為支持Vsftpd的服務(wù)宿主用戶。由于該用戶僅用來(lái)支持Vsftpd服務(wù)用,因此沒(méi)有許可他登陸系統(tǒng)的必要,并設(shè)定他為不能登陸系統(tǒng)的用戶。[root@CentOS5 /]#useradd –d /home/vftpsite –s /sbin/nologin vftpuser
2.建立CentOS vsftp虛擬宿主用戶:
[root@KcentOS5 nowhere]# useradd overlord -s /sbin/nologin
本篇主要是介紹Vsftp的虛擬用戶,虛擬用戶并不是系統(tǒng)用戶,也就是說(shuō)這些FTP的用戶在系統(tǒng)中是不存在的。他們的總體權(quán)限其實(shí)是集中寄托在一個(gè)在系統(tǒng)中的某一個(gè)用戶身上的,所謂Vsftpd的虛擬宿主用戶,就是這樣一個(gè)支持著所有虛擬用戶的宿主用戶。由于他支撐了FTP的所有虛擬的用戶,那么他本身的權(quán)限將會(huì)影響著這些虛擬的用戶,因此,處于安全性的考慮,也要非分注意對(duì)該用戶的權(quán)限的控制,該用戶也絕對(duì)沒(méi)有登陸系統(tǒng)的必要,這里也設(shè)定他為不能登陸系統(tǒng)的用戶。
(這里插一句:原本在建立上面兩個(gè)用戶的時(shí)候,想連用戶主路徑也不打算給的。本來(lái)想加上 -d /home/nowhere 的,據(jù)man useradd手冊(cè)上講
述:“ -d, --home HOME_DIR
The new user will be created using HOME_DIR as the value for the
user鈙 login directory. The default is to append the LOGIN name to
BASE_DIR and use that as the login directory name. The directory
HOME_DIR does not have to exist but will not be created if it is
missing.
使用-d參數(shù)指定用戶的主目錄,用戶主目錄并不是必須存在的。如果沒(méi)有存在指定的目錄的話,那么它將不會(huì)被建立”。結(jié)果我嘗試 -d /home/nowhere 指定到一個(gè)并不存在的目錄的時(shí)候,我KAO!竟然給我自己新建了一個(gè)= =#)
【原創(chuàng)】FTP服務(wù)時(shí)互聯(lián)網(wǎng)上比較古老的一種應(yīng)用,至今Interner應(yīng)用面非常廣泛,但令管理員頭痛不已的是其用戶管理,既多且雜,如何解決這一問(wèn)題呢?使用MySQL與ProFTP或VsFTP軟件結(jié)合可以搭建一個(gè)高效、穩(wěn)定且集中管理的FTP服務(wù)器。本來(lái)就來(lái)介紹一下如何搭建一個(gè)方便管理的基于MySQL數(shù)據(jù)庫(kù)的FTP服務(wù)器。


一、軟件版本的選擇:
搭建基于數(shù)據(jù)庫(kù)的FTP服務(wù)器首先要選擇合適的軟件。下面就是所選擇軟件的詳細(xì)信息:
◆Linux版本RHEL5;
◆MySQL版本MySQL-standard-5.1.30-1.rhel5.src.rpm;
◆FTP服務(wù)器proftpd-1.3.2.tar.gz和vsftpd-2.2.1.tar.gz;
◆MySQL的PAM驗(yàn)證程序pam_mysql-0.8RC1.tar.gz;
需要說(shuō)明的是,RHEL5安裝時(shí)自定義安裝,“development tools”項(xiàng)必須選擇,否則編譯調(diào)試軟件時(shí)需要的軟件包需另行安裝;其次,要確保所安裝Linux系統(tǒng)時(shí)沒(méi)有安裝MySQL與FTP服務(wù)器等軟件,如果有則先卸載;再次,ProFTPD與VsFTPD兩者不要在同臺(tái)計(jì)算機(jī)同時(shí)使用,這樣會(huì)造成意想不到的問(wèn)題,讀者根據(jù)自己的需求和軟件的具體功能選擇其中之一。
建立程序安裝目錄
整個(gè)安裝過(guò)程以root用戶執(zhí)行如下命令:
#cd /soft/programe
#mkdir mysq
需要注意目錄名稱(chēng)的大小寫(xiě)。
#mkdir proftpd
#mkdir pam_mods
MySQL的安裝目錄為/soft/program/mysql,ProFTPD的安裝目錄為/soft/program/proftpd,pam_mysq1.so的安裝目錄為/soft/program/pam_mods,/storage是一個(gè)已經(jīng)存在的目錄,所有的FTP用戶上傳和下載文件都存放在這里。
安裝MySQL
◆ 增加一個(gè)管理MySQL的用戶和組:
#groupadd mysqlgrp
#useradd -g mysqlgrp mysqladm
#passwd mysqladm
◆ 切換到MySQL-stan-dard-5.1.30-1.rhel5.src.rpm文件所在的目錄,執(zhí)行以下步驟安裝:
#rpm-ivh MySQL-stan-dard-5.1.30-1.rhel5.src.rpm
此條命令解壓出mysql-5.1.30.tar.gz文件存放在以下的目錄中。
#cd /usr/src/redhat/SOURCE
#tar zxvf mysqt-5.1.30.tar.gz
#cd mysql-5.1.30
#./configure Prefix=/soft/program/mysql --with-extra-charsets=all
其中,“--prefix=/soft/program/mysql”參數(shù)是用來(lái)指定Mysql的安裝目錄,“--with-extra-charsets=all”是用來(lái)支持所有的字符集。
#make
#make install


◆ 初始化數(shù)據(jù)庫(kù)
#cd /soft/program/mysql/bin
#./mysql_install_db
◆ 為了安全要修改數(shù)據(jù)庫(kù)存放目錄的屬主信息和訪問(wèn)模式/soft/program/mysqll/var為數(shù)據(jù)庫(kù)存放的缺省目錄
#cd /soft/program/mysql
#chown –R mysqladm:mysqlgrp var
#chmod -R go-wrx var
◆ 修改配置文件
#cd /soft/program/mysql/share/mysql
#cp my-small.cnf /etc/my.cnf
#cd /etc
在my.cnf文件中,增加如下內(nèi)容:
[mysql]
user=mysqladm #表示用mysqladm 用戶啟動(dòng)MySQL#
default-character-set=utf8 #表示使用UTF-8字符集,此種字符集通用性較好,也很好的支持中文,當(dāng)然也可以直接使用GBK。
[clent]
Default-character-set=utf8
◆ 啟動(dòng)
啟動(dòng)方式有兩種,一種是手工啟動(dòng),一種是自動(dòng)啟動(dòng),其中手工啟動(dòng)的操作如下:
#cd /soft/program/mysql/bin
#./mysqld_safe
自動(dòng)啟動(dòng)則需要在/etc/rc.d/rc/local中加入以下的內(nèi)容,開(kāi)機(jī)自動(dòng)啟動(dòng)MySQL數(shù)據(jù)庫(kù):
If [-x /soft/program/mysql/bin/mysqld_safe]; then
install_path_name /bin/mysqld_safe
fi


◆ 修改管理員密碼
使用如下命令修改數(shù)據(jù)庫(kù)密碼:
#cd /soft/program/mysql/bin
#./mysqladmin -h localhost -u root password '123456'
上述命令的意思是本機(jī)上(-h host)使用的管理數(shù)據(jù)庫(kù)的缺省管理賬號(hào)root。需要注意的事,此root并非Linux系統(tǒng)中的root用戶,密碼設(shè)置為123456.

安裝ProFTPD
◆切換到proftpd-1.3.2.tar.gz文件所在的目錄,執(zhí)行以下步驟安裝:
#tar zxvf proftpd-1.3.2.tar.gz
#cd proftpd-1.3.2
#./configure--prefix=/soft/program/proftpd --with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql
此參數(shù)將支持MySQL和Quota模塊添加進(jìn)來(lái)。
--with-includes=/soft/program/mysql/include/mysql
上述參數(shù)指定MySQL中include的目錄路徑。
--with-libraries=/soft/program/mysql/lib/mysql
此參數(shù)指定MySQL中l(wèi)ib的目錄路徑。
#make
#make install
使用如下命令建立一個(gè)用于管理ProFTPD的Linux系統(tǒng)賬號(hào)和組。
#groupadd -g 2009 ftpgroup
#useradd -u 2009 –s /bin/false -d /storage -g ftpgroup ftpuser
#chown -R ftpuser.ftpgroup /storage
#chmod –R go-wrx- /storage
#chmod –R u+wrx /storage
簡(jiǎn)單修改ProFTPD配置文件,使之正常運(yùn)行:
#cd /soft/program/proftpd/etc
用編輯器打開(kāi)proftpd.conf,修改一下的內(nèi)容:
#Set the user and group under which the server will run.
User ftpuser
Group ftpgroup


◆啟動(dòng)ProFTPD
啟動(dòng)Proftpd同樣有兩種方法,即手工啟動(dòng)和自動(dòng)啟動(dòng),其中手工啟動(dòng)操作如下:
#cd /soft/program/proftpd/sbin/
#./proftpd
此時(shí)一個(gè)基本的FTP服務(wù)器已經(jīng)搭建成,可以進(jìn)行測(cè)試了。需要注意的是,啟動(dòng)時(shí)如果出現(xiàn)具有以下信息的錯(cuò)誤:
error while loading shared libraries:libmysqlclient.so.15:cannot open shared object file:No such file or directory
通常的解決辦法如下:
#cd /etc
用文本工具打開(kāi)ld.so.conf,添加以下的內(nèi)容/soft/program/mysql/lib/mysql
#ldconflg
更新ld.so cache file。
要讓ProFTPD自動(dòng)啟動(dòng)在/etc/rc.d/rc.local中加入以下的內(nèi)容,開(kāi)機(jī)即可自啟動(dòng)ProFTPD:
/soft/program/proftpd/sbin/proftpd


二、MySQL與ProFTPD組合
在MySQL 中建立一個(gè)名為ftp的數(shù)據(jù)庫(kù),在該數(shù)據(jù)庫(kù)中建立以下的四個(gè)表:
◆登錄FTP服務(wù)器的用戶表ftpusers,字段信息如下所示,這些字段是必需的,其他字段根據(jù)自己的需要添加,參考字段如下:
'userid' text NOT NULL #用戶登錄賬號(hào)#
'passwd' text NOT NULL #用戶登錄密碼#
'uid' int(11)NOT NULL default '2009', #與Linux系統(tǒng)賬號(hào)ftpuser的UID號(hào)一致#
'gid' int(11)NOT NULL default '2009', #與Linux系統(tǒng)組#
ftpgroup 的GID號(hào)一致'homedir' text,用戶文件上傳下載目錄,如賬號(hào)名為abc,此處就填寫(xiě)/storage/abc,'shell' text default ,'/sbin/nologin'這個(gè)是用來(lái)指定用戶是否能登錄Linux系統(tǒng),這里默認(rèn)的是不能登錄。
◆FTP用戶歸屬表ftpgroups,字段信息如下所示,關(guān)于建立該組的目的將在quotalimits表中說(shuō)明
'groupname' text NOT NULL #組名#
'gid' smallint(6) NOT NULL default'0',#組的id號(hào)#
'memembers' text NOT NULL #成員#
◆用于設(shè)置磁盤(pán)限額相關(guān)信息的表quotalimits和quotatallies,這兩個(gè)表的字段請(qǐng)不要改動(dòng),它是與ProFTPD的配置文件緊密聯(lián)系,quotalimits表的字段信息如下:
'name' varchar(30)default NULL,
'quota_type' enum('user','group','class','all')NOT NULL default 'user',
'per_session' enum('false','true')NOT NULL default'false',
'limit_type' enum('soft','hard')NOT NULL default'soft',
'bytes_in_avail'float NOT NULL default'0',
'bytes_out_avail'float NOT NULL default'0',
'bytes_xfer_avail'float NOT NULL default'0',
'files_in_avail'int(10) unsigned NOT NULL default'0',
'files_out_avail'int(10)unsigned NOT NULL default'0',
'files_xfer_avail'int(10)unsigned NOT NULL default'0'
需要注意的是,name應(yīng)該這樣理解,既能表示單個(gè)用戶,也能表示用戶組名。如果在quota_type(限額類(lèi)型)中使用group來(lái)認(rèn)證的話,那就得在這里設(shè)置組名,這樣整組都具有統(tǒng)一的磁盤(pán)限額的特性,當(dāng)然要在ftpgroups表中插入組記錄,并且在member字段中得把用戶一個(gè)一個(gè)的列進(jìn)去。默認(rèn)值可以為空NULL。如果為空,則針對(duì)所在有quota_type中設(shè)置的類(lèi)型,比如在quota_type中設(shè)置為user,就是針對(duì)所有ftpusers中的用戶起作用,如果是group名,也是對(duì)ftpgroups所有組作用。quota_type磁盤(pán)限額類(lèi)型,可以設(shè)置為用戶,也可以設(shè)置為用戶組group。如果name寫(xiě)的是用戶組,這里就得設(shè)置為group來(lái)認(rèn)定。默認(rèn)為user認(rèn)證。per_session默認(rèn)為false.limit_type默認(rèn)為soft。Bytes_in_avail用戶占用空間大小,也就是FTP用戶空間容量,單位是byte,默認(rèn)為0,0是不受限制,以下同理。bytes_out_avail所有下載文件的總和,默認(rèn)為0。
bytes_xfer_avail一個(gè)用戶上傳下載流量總和,默認(rèn)為0。files_in_avail限制上傳文件總和,默認(rèn)為0。files_out_avail限制下載文件個(gè)數(shù)總計(jì),默認(rèn)為0。files_xfer_avail允許下載和上傳的文件總和,默認(rèn)為0。Quotatallies表的字段信息,各字段信息參照quotalimits。配置參考參數(shù)如下:


name VARCHAR(30)NOT NULL,
quota_type ENUM("user","group","class","all")NOT NULL,
bytes_in_used FLOAT NOT NULL,
bytes_out_used FLOAT NOT NULL,
bytes_xfer_used FLOAT NOT NULL,
files_in_used INT UNSIGNED NOT NULL,
files_out_used INT UNSIGNED NOT NULL,
files_xfer_used INT UNSIGNED NOT NULL
此外,在proftpd.conf文件中增加以下的內(nèi)容:
◆數(shù)據(jù)庫(kù)連接的信息,ftp是數(shù)據(jù)庫(kù)名,localhost是主機(jī)名,root是連接數(shù)據(jù)庫(kù)的用戶名,123456是密碼。
root 123456
◆數(shù)據(jù)庫(kù)認(rèn)證的類(lèi)型,Plaintext表示明文認(rèn)證方式
SQLAuthTYpes Backend Plaintext
◆指定用來(lái)做用戶認(rèn)證的表的有關(guān)信息
SALUserlnfo ftpusers userid passwd uid gid homedir shell
SQLGrouplnfo ftpgroups groupname gid members
◆校驗(yàn)數(shù)據(jù)表
SQLAuthenticate users groups usersetfast groupsetfast
◆如果home目錄不存在,則系統(tǒng)會(huì)根據(jù)ftpusers表中的home字段。
新建一個(gè)目錄:
SQLHomedirOnDemand on
◆打開(kāi)磁盤(pán)限額引擎
QuotaEngine on
◆設(shè)置磁盤(pán)限額
QuotaDirectoryTally on




◆設(shè)置磁盤(pán)容量顯示時(shí)的單位
QuotaDisplayUnits Mb
◆設(shè)置磁盤(pán)限額日志文件
QuotaLog”/usr/local/proftpd/var/quota”
◆顯示磁盤(pán)限額信息
ftp登錄后可執(zhí)行quote site quota命令查看當(dāng)前磁盤(pán)使用情況:
QuotaShowQuotas on
◆設(shè)置磁盤(pán)限額日志文件
QuotaLog”/var/log/quota”
◆指定磁盤(pán)限額模塊使用的數(shù)據(jù)庫(kù)信息
SQLNamedQuer get-quota-limit SELECT "name,quota_type,bytes_in_avail,bytes_out_avail,bytes_xfer_avail,files_in_avail,files_out_avail,files_xfer_avail FROM quotalimits WHERE name='%{0}'AND quota_type='%{1}'"
SQLNamedQuery get-quota-tally SELECT"name,quota_type,bytes_in_used,bytes_out_used,bytes_xfer_used,files_in_used,files_out_used,filed_xfer_used,FROM quotatallies WHERE name='%{0}'AND quota_type ='%{1}"
SQLNamedQuery update-quota-tally UPDATE"bytes_in_used =bytes_in_used+%{0},bytes_out_used=bytes_out_used+%{1},bytes_xfer_used=bytes_xfer_used+%{2},files_in_used=files_in_used+%{3},files_out_used=files_out_used+%{4},files_xfer_used =files_xfer_used+%{5} WHERE name='%{6}'AND quota_type = '%{7}'" quotatallies
SQLNamedQuery insert-quota-tally INSERT"%{0},%{1},%{2},%{3},%{4},%{5},%{6},%{7}"quotatallies
QuotaLimitTable sql:/get-quota-limit
QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
另外,讀者還可以在proftpd.conf中添加一些有關(guān)超時(shí)、限制連接次數(shù)、加快連接速度、支持?jǐn)帱c(diǎn)傳輸及安全傳輸?shù)葍?nèi)容。
anon_other_write_enable=YES
ascll_upload_enable=YES
ascll_download_enable=YES
VsFTPD配置文件中還可以進(jìn)行更多的設(shè)置,如磁盤(pán)配額、虛擬用戶個(gè)人目錄的建立、性能與負(fù)載控制、FTP被動(dòng)模式斷口設(shè)置、安全設(shè)置等,讀者根據(jù)自己的需要進(jìn)一步的完善。
◆編輯文件
修改/etc/pam.d/ftp中去掉其他的內(nèi)容,添加以下的內(nèi)容:
#auth
auth required/soft/program/pam_mods/pam_mysql.so
user=ftpuser passwd=6789host=localhost db=ftp
table=ftpusers usercolumn=userid passwdcolumn=passwd crypt=0
#account
Account required/soft/program/pam_mods/pam_mysql.so
User=ftpuser passwd=6789 host=localhost db=ftp table=ftpusers usercolumn=userid passwdcolumn=passwd crypt=0
涉及到的參數(shù),只要對(duì)應(yīng)前面數(shù)據(jù)庫(kù)的設(shè)置就可以明白它們的含義。其中:crypt=0,口令以明文方式(不加密)保存在數(shù)據(jù)庫(kù)中,crypt=1,口令使用Unix系統(tǒng)的DES加密方式加密后保存在數(shù)據(jù)庫(kù)中;crypt=2,口令經(jīng)過(guò)MySQL的password()函數(shù)加密后保存。FTP數(shù)據(jù)庫(kù)中ftpusers表的授權(quán)用戶ftpusers和密碼必須正確設(shè)置。


◆開(kāi)機(jī)自啟動(dòng)VsFTPD
請(qǐng)將vsftpd-2.2.1/xinetd.d/vsftpd文件制到/etc/xinetd.d/中(如果該目錄中沒(méi)有該文件)。此外,還需設(shè)置vsftpd.conf中l(wèi)isten和Tcp_Wrappers參數(shù),將其都設(shè)置為NO,最后,用ntsysv命令,選中Vsftpd守護(hù)進(jìn)程即可。
通過(guò)上面的知識(shí),結(jié)合Apache、PHP等軟件可以開(kāi)發(fā)許多功能,如自動(dòng)申請(qǐng)主頁(yè)空間等,而且使用phpMyAdmin可以以Web方式管理MySQL,很容易的添加和刪除用戶,這樣FTP用戶管理就輕松多了。

標(biāo)簽:儋州 通化 玉溪 泰安 蕪湖 玉樹(shù) 瀘州 臨汾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《CentOS命令大全 包括:系統(tǒng)命令,各種服務(wù)器搭建等》,本文關(guān)鍵詞  CentOS,命令,大全,包括,系統(tǒng),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《CentOS命令大全 包括:系統(tǒng)命令,各種服務(wù)器搭建等》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于CentOS命令大全 包括:系統(tǒng)命令,各種服務(wù)器搭建等的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    永州市| 班玛县| 宕昌县| 额济纳旗| 昌江| 惠州市| 通山县| 抚顺市| 长丰县| 九台市| 陇川县| 五原县| 昌吉市| 自贡市| 礼泉县| 桦川县| 随州市| 南岸区| 志丹县| 清原| 理塘县| 青浦区| 富锦市| 辽中县| 温宿县| 福州市| 伊宁市| 南溪县| 宿松县| 东乡族自治县| 茌平县| 宁安市| 平安县| 健康| 安远县| 米泉市| 法库县| 德保县| 峨山| 博客| 黑龙江省|