Linux常用命令和服務器配置

一、             添加用戶useradd命令

例子:

#useradd –m –g users –G wheel,sales –s /bin/tcsh –c “a user” myname

#useradd -c "ftp Administrator" -d /var/ftp/ -G ftpAdmin -s /sbin/nologin -r ftpAdmin

-m  自動創建用戶的主目錄,並把框架目錄(/etc/skel)文件複製到用戶目錄上。

-g  設置基本組,用戶將在該組中。

-G  把用戶加到所有逗號間隔的分組中。

-s  制定使用的shell。

-c  描述信息。

-d  爲賬號設置主目錄。

-r  系統帳號,無需再/home下創建主目錄。

最後的是用戶名

二、             指定口令(密碼)passwd

例子: #passwd 用戶名

回車就會提示輸入密碼了。

三、             刪除用戶userdel

例子:  #userdel 用戶名

        #userdel –r 用戶名

-r 刪除其主目錄(/home/…..)

四、    文件系統命令

    4.1   fdisk命令

(1)fdisk –l  :顯示硬盤上的所有分區。既分區類型(FAT32、Ext3)。

    (2)df –h :顯示文件系統是如何掛載的。

    (3)fdisk  /dev/hdb1           :格式化第二個IDE磁盤

    4.2   mount命令掛載文件系統

    (1)mount (不使用參數)查看系統掛載情況。

    (2)mount /mnt/cdrom       :掛載光驅,可用cd /mnt/cdrom 後ls查看光盤上的內容。

    (3)mount /mnt/floppy  :掛載軟盤,可用cd /mnt/floppy 後ls查看軟盤上的內容。

        2、3中可以使用/dev/cdrom和/dev/fd0代替掛載點,得到同樣的效果!

    (4)mount –t msdos  /dev/fd0   /mnt/floppy   :掛載DOS軟盤到/mnt/floppy下。

    (5)掛載Windows分區

         #fdisk  -l      :列出硬盤分區。

         #mkdir  /mnt/win    :創建一個目錄,用於掛載。

         #mount  -t  vfat    /dev/hda1       /mnt/win    :假設Windows在第一個IDE硬盤的第一個分區上。

       注:可以使用–t auto 參數令系統自動監測文件類型!

      -r        以只讀方式掛載。

      -w        讀寫方式掛載。

    4.3 umount命令卸載文件系統

(1) umount /mnt/floppy    將設備(如/dev/fd0)從掛載點/mnt/floppy卸載。也可以使用下列方式完成這一工作:  umount /dev/fd0

爲了使該分區對於Linux永久可用,需在/etc/fstab文件中添加如下一行:

/dev/hda1       /mnt/win        vfat        defaults        0   0

五、             文件相關命令

5.1 文件權限chmod

    例子:

chmod 777 files  -〉rwxrwxrwx

chmod 755 files  -〉rwx r-x r-x

chmod 644 files  -〉rw- -r- -r-

chmod 000 files  -〉- - -  - - -  - - -

chmod u+x g+w o+r file(給file以擁有者可執行、同組可寫、其他人可讀取的權利)



      $ chmod –R   777     /tmp/test   :更改目錄中所有文件和目錄的權限(所有權限)。

      $ chmod –R   664     /tmp/test   :關閉執行權限。

5.2 文件所有權

chown user1 file(把file分配給user1)

5.3 移動文件mv

    例子: mv abc def       本文件abc移動更名爲def。

六、             iptables命令面面觀

外網:eth0 123.45.67.89

內網:eth1 10.0.0.1        LAN上的計算機IP地址都在10.0.0.2~~10.0.0.254之間。

(1)一個rc.local的例子,在rc.local中加入如下命令

    echo 1 > /proc/sys/net/ipv4/ip_forward      #啓動IP轉發

    echo 1 > /proc/sys/net/ipv4/ip_dynaddr      #啓動動態IP地址

#Policies(Default)設置默認策略爲拒絕

iptables    -P INPUT DROP

iptables    -P OUTPUT DROP

iptables    -P FORWARD DROP

#User-defined   chain for ACCEPTed TCP packets用戶自定義鏈,鏈名爲“okay”

iptables    -N okay

iptables    -A okay –p TCP  - - syn  –j   ACCEPT

iptables    -A okay –p TCP  -m state - -state ESTABLISHED,RELATED –j ACCEPT

iptables    -A okay –p TCP –j DROP

#INPUT chain rules

# Rules for incoming packets from LAN

iptables    -A  INPUT   -p  ALL -i eth1 -s 10.0.0.0/8   -j  ACCEPT  #LAN中的地址可接受

iptables    -A  INPUT   -p  ALL -i  lo  -s 127.0.0.1   -j  ACCEPT  #允許接受本身的數據包

iptables    -A  INPUT   -p  ALL -i  lo  -s 10.0.0.1    -j  ACCEPT  #允許接受本身的數據包

iptables    -A  INPUT   -p  ALL -i  lo  -s 123.45.67.89 -j  ACCEPT  #允許接受本身的數據包

iptables    -A  INPUT   -p  ALL -i  eth1 –d 10.0.0.255 -j  ACCEPT  #允許接受LAN內的廣播包

# Rules for incoming packets from the Internet

# packets for established connections

iptables    -A  INPUT   -p  ALL -d  123.45.67.89    -m state –state ESTABLISHED,RELATED –j ACCEPT

# TCP rules  由okay鏈處理

iptables    -A  INPUT   -p  TCP -i  eth0    -s  0/0 --destination-port 21 –j okay

iptables    -A  INPUT   -p  TCP -i  eth0    -s  0/0 --destination-port 22 –j okay

iptables    -A  INPUT   -p  TCP -i  eth0    -s  0/0 --destination-port 80 –j okay

iptables    -A  INPUT   -p  TCP -i  eth0    -s  0/0 --destination-port 113 –j okay

# UDP rules  定義開放的UDP端口

iptables    -A  INPUT   -p  UDP -i  eth0    -s  0/0 --destination-port 53 –j ACCEPT

iptables    -A  INPUT   -p  UDP -i  eth0    -s  0/0 --destination-port 2074 –j ACCEPT

iptables    -A  INPUT   -p  UDP -i  eth0    -s  0/0 --destination-port 4000 –j ACCEPT

# ICMP rules

iptables    -A  INPUT   -p  ICMP    -i  eth0    -s  0/0 --destination-port 8 –j ACCEPT

iptables    -A  INPUT   -p  ICMP    -i  eth0    -s  0/0 --destination-port 11 –j ACCEPT

# FORWARD chain rules

#Accept the packets we want to forward

iptables    -A  FORWARD -i  eth1    -j  ACCEPT

iptables    -A  FORWARD -m  state   --state ESTABLISHED,RELATED -j  ACCEPT

# OUTPUT chain rules

# Only output packets with local addresses (no spoofing)

iptables    -A  OUTPUT  -p  ALL -s  127.0.0.1   -j  ACCEPT

iptables    -A  OUTPUT  -p  ALL -s  10.0.0.1    -j  ACCEPT

iptables    -A  OUTPUT  -p  ALL -s  123.45.67.89    -j  ACCEPT

# POSTROUTING chain rules  網關的IP僞裝

iptables    -t nat –A POSTROUTING –o eth0 –j SNAT –to-source 123.45.67.89



(2)網關的IP僞裝:靜態地址 使用SNAT,動態地址(撥號) 使用MASQUERADE

例子:

MASQUERADE必須提供接口名(eth0,ppp0等)來指明路徑,好像靜態地址也可以使用MASQUERADE:

iptables    -t  nat -A  POSTROUTING –o eth0 –j MASQUERADE

SNAT也必須指明實際的IP如下所示:

iptables    -t  nat -A  POSTROUTING -o  eth0    -j  SNAT    --to-source 12.12.12.12

(3)端口轉發

例子:將對防火牆計算機(-d 15.15.15.15)的所有Web服務重定向到LAN上的某臺計算機(10.0.0.25)

iptables    -t  nat -A  PREROUTING  -p  tcp -d  15.15.15.15 –dprot 80 –j  DNAT –to-destination 10.0.0.25



七、             IP地址類型(第一部分數字的範圍)

        A類地址:0~127;可容納計算機數量爲 256*256*256。子網掩碼255.0.0.0。

        B類地址:128~191;可容納計算機數量爲 256*256。子網掩碼255.255.0.0。

        C類地址:192~233;可容納計算機數量爲 250個。0和255不能被指定爲主機地址。子網掩碼255.255.255.0。

C類私有IP地址 192.168.0.0~192.168.255.255

八、             ifconfig

         ifconfig            :判斷網絡連接情況。

         ifconfig eth0 up    :啓動eth0接口。

九、             配置網卡

配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0用vi編輯即可。例子如下

    DEVICE=eth0     #設備名,與文件同名。

    ONBOOT=yes      #在系統啓動時,啓動本設備。

    BOOTPROTO=static   

    IPADDR=202.118.75.91    #此網卡的IP地址

    NETMASK=255.255.255.0   #子網掩碼

    GATEWAY=202.118.75.1    #網關IP

    MACADDR=00:02:2D:2E:8C:A8   #mac地址

十、             FTP服務

10.1 使用setup命令開啓vsftpd服務進程。

10.2然後修改文件/etc/xinetd.d/vsftpd。(但vsftpd是依附於xinetd.d運行時2、3有效)

(1)把disable=yes改爲=no。

(2)配置每個客戶機的最大連接數:

在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置語句

per_source = 數值。例如:per_source = 5 表示每個客戶機的最大連接數爲5。

(3) 配置服務器總的併發連接數:

在配置文件/etc/xinetd.d/vsftpd 的{}中添加如下的配置語句:

instances = 數值。例如:instances = 200 表示FTP 服務器總共支持的最高連接數爲200。

(4)當vsftpd單獨運行時:要配置獨立運行的vsftpd很簡單,只需要在前面的主配置文件的基礎上添加如下的配置即可。

設置listen=YES      :指明vsftpd 以獨立運行方式啓動。

設置max_clients=200 :指明服務器總的併發連接數

設置max_per_ip=4    :指明每個客戶機的最大連接數。





10.3 配置/etc/vsftpd.conf(redhat9 是/etc/vsftpd/vsftpd.conf)文件。



# 允許真實用戶(在系統中有賬號的用戶)訪問

local_enable=YES

# 給真實用戶寫權限

write_enable=YES

# 真實用戶上傳文件的掩碼設爲022。這樣真實用戶上傳後的文件權限爲755(rwxr-xr-x),即文件所有者可讀寫執行、同組成員可讀可執行、

# 系統中的其它用戶可讀可執行。

local_umask=022

# 允許匿名用戶訪問。匿名用戶在系統中的賬號是ftp

anonymous_enable=YES

# 匿名用戶上傳文件的掩碼設爲000。這樣文件上傳後的權限爲777(rwxrwxrwx),即所有人都可以讀寫執行。

anon_umask=000

# 匿名用戶可上傳、可創建目錄。一下3行只有設置了write_enable=YES纔有效。

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_world_readable_only=NO

# 如果想要讓匿名用戶有刪除的權限可以加上如下代碼

# anon_other_write_enable=YES

# 進入每個目錄都顯示特定提示。這些提示放在各個目錄下.message文件中。

dirmessage_enable=YES

# 當用戶登陸ftp服務器時,不管是否登陸成功都顯示如下信息。

ftpd_banner=Welcome to NiHao FTP service.

# 使用日誌記錄上傳和下載。

xferlog_enable=YES

# 日誌文件的位置

#xferlog_file=/var/log/vsftpd.log

# 日誌使用標準fpd格式

xferlog_std_format=YES

# ftp服務的端口是20

connect_from_port_20=YES

# 用戶使用ftp訪問服務器時,把他們的登陸目錄作爲它們在ftp中看到的目錄,這稱爲chroot。

# 這樣用戶就無法訪問他們登陸目錄以外的內容,大大增強了安全性。匿名用戶的登陸目錄是/var/ftp/

chroot_list_enable=YES

# 文件/etc/vsftpd.chroot_list中的用戶不chroot。

chroot_list_file=/etc/vsftpd.chroot_list

# 同時最多允許5個用戶登陸。

max_clients=5   #有些不支持此選項,註釋掉即可。

# ftp服務的密碼驗證模塊。

pam_service_name=vsftpd

# listen=YES                #如果是獨立運行的則加此項(redhat9)。

#tcp_wrappers=YES       #如果是獨立運行的則加此項(redhat9)。



10.4重新啓動xinetd服務,你就可以匿名訪問你的ftp服務器了。

    下面我們來建立一個ftp管理員賬號

    在Linux ftp服務中,用戶的權限受到雙重限制。一是Linux文件系統本身的權限限制。每個文件的訪問權限用rwxrwxrwx形勢表示。每個用戶只能做文件全縣允許的操作。二是ftp配置的限制。系統允許的操作,如果在ftp的配置文件中沒有被允許,用戶還是不能作這個操作。如:某個文件的權限爲rwxrwxrwx,即系統認爲任何人都有讀寫執行的權利。如果vsftpd.conf中不允許匿名用戶寫,匿名用戶還是不能修改這個問安。

    對於目錄文件的讀權限,意味着可以讀出這個目錄中的文件信息。目錄文件的寫權限,意味着可以在這個目錄下建立、刪除、重命名文件。

    用命令groupadd -r ftpAdmin添加一個ftp管理員組。其中-r表示這是一個系統組。

    用命令useradd -c "ftp Administrator" -d /var/ftp/ -G ftpAdmin -s /sbin/nologin -r ftpAdmin添加一個管理員用戶ftpAdmin。其中

         -c "ftp Administrator"  是對這個用戶的描述

         -d /var/ftp/            是這個用戶的登陸目錄

         -g ftpAdmin             是這個用戶所在的組

         -s /sbin/nologin    是這個用戶登陸時所用的shell。這個shell命令的功能極其弱,以至於不能用telnet登陸。也就是說這個管理員只能噹噹垃圾清掃員。(呵呵。好沒面子的管理員)

         -r                      表示這是個系統賬號,不用爲它建立登陸目錄。

    建好管理員以後把incoming目錄的管理權給他。

chown ftpAdmin /var/ftp/incoming    :把此目錄所有者設爲ftpAdmin。

chmod 755 /var/ftp/incoming     :把目錄的權限設爲所有者可讀寫執行,同組用戶可讀、可執行,所有人可讀、可執行。

    這樣,我們的管理員就可以開始管理了。

10.5    配置vsftpd 允許匿名用戶上傳

//修改vsftpd 的主配置文件/etc/vsftpd.conf

# vi /etc/vsftpd.conf

//將如下兩行前的#刪除

//① #anon_upload_enable=YES  允許匿名用戶上傳

//② #anon_mkdir_write_enable=YES  開啓匿名用戶的寫和創建目錄的權限

//若要以上兩項設置生效,同時還要求:

//(1) write_enable=YES

//(2) 匿名用戶對文件系統的上傳目錄具有寫權限

//添加如下的配置語句

// anon_world_readable_only=NO

//上面的配置語句用於放開匿名用戶的瀏覽權限

//修改後存盤退出vi

//

//創建匿名上傳目錄

# mkdir /var/ftp/incoming

# 修改上傳目錄的權限

# chmod o+w /var/ftp/incoming/

#

//重新啓動xinetd

# service xinetd restart



十一、 Web服務(httpd)

同樣在setup中選中httpd服務。www服務不需要xinetd作爲它的代理進程。httpd這個進程一直在系統中運行。www服務的默認目錄是/var/www/html。只要把主頁放到這個目錄下就可以訪問了。

    我們可以用建立ftp管理員的辦法建立一個www管理員wwwAdmin。只要把它的登陸目錄設爲/var/www/html即可。

    /etc/init.d/httpd start     #啓動服務

    /etc/init.d/httpd restart   #重新啓動

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