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
轉載于:https://blog.51cto.com/1039395110/1036498
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Linux常用命令和服务器配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: awk学习笔记(10) - 数组
- 下一篇: Linux下安装oracle数据库步骤