Linux常用命令和服务器配置

一、添加用户useradd命令
例子:
#useradd �Cm �Cg users �CG wheel,sales �Cs /bin/tcsh �Cc “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 �Cr 用户名
-r 删除其主目录(/home/…..)
四、     文件系统命令
     4.1    fdisk命令
(1)fdisk �Cl   :显示硬盘上的所有分区。既分区类型(FAT32、Ext3)。
     (2)df �Ch :显示文件系统是如何挂载的。
     (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 �Ct msdos   /dev/fd0    /mnt/floppy    :挂载DOS软盘到/mnt/floppy下。
     (5)挂载Windows分区
          #fdisk   -l       :列出硬盘分区。
          #mkdir   /mnt/win     :创建一个目录,用于挂载。
          #mount   -t   vfat     /dev/hda1        /mnt/win     :假设Windows在第一个IDE硬盘的第一
个分区上。
        注:可以使用�Ct 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 �CR    777      /tmp/test    :更改目录中所有文件和目录的权限(所有权限)。
       $ chmod �CR    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 �Cp TCP   - - syn   �Cj    ACCEPT
iptables     -A okay �Cp TCP   -m state - -state ESTABLISHED,RELATED �Cj ACCEPT
iptables     -A okay �Cp TCP �Cj 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 �Cd 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 �Cstate ESTABLISHED,RELATED �Cj
ACCEPT
# TCP rules   由okay链处理
iptables     -A   INPUT    -p   TCP -i   eth0     -s   0/0 --destination-port 21 �Cj okay
iptables     -A   INPUT    -p   TCP -i   eth0     -s   0/0 --destination-port 22 �Cj okay
iptables     -A   INPUT    -p   TCP -i   eth0     -s   0/0 --destination-port 80 �Cj okay
iptables     -A   INPUT    -p   TCP -i   eth0     -s   0/0 --destination-port 113 �Cj okay
# UDP rules   定义开放的UDP端口
iptables     -A   INPUT    -p   UDP -i   eth0     -s   0/0 --destination-port 53 �Cj ACCEPT
iptables     -A   INPUT    -p   UDP -i   eth0     -s   0/0 --destination-port 2074 �Cj ACCEPT
iptables     -A   INPUT    -p   UDP -i   eth0     -s   0/0 --destination-port 4000 �Cj ACCEPT
# ICMP rules
iptables     -A   INPUT    -p   ICMP     -i   eth0     -s   0/0 --destination-port 8 �Cj ACCEPT
iptables     -A   INPUT    -p   ICMP     -i   eth0     -s   0/0 --destination-port 11 �Cj 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 �CA POSTROUTING �Co eth0 �Cj SNAT �Cto-source 123.45.67.89
(2)网关的IP伪装:静态地址 使用SNAT,动态地址(拨号) 使用MASQUERADE
例子:
MASQUERADE必须提供接口名(eth0,ppp0等)来指明路径,好像静态地址也可以使用MASQUERADE:
iptables     -t   nat -A   POSTROUTING �Co eth0 �Cj 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 �Cdprot 80 �Cj   DNAT �C
to-destination 10.0.0.255
七、IP地址类型(第一部分数字的范围)
         A类地址:0~127;可容纳计算机数量为 256*256*256。子网掩码255.0.0.0。
         B类地址:128~191;可容纳计算机数量为 256*256。子网掩码255.255.0.0。
         C类地址:192~233;可容纳计算机数量为 250个。子网掩码255.255.255.0。
         0和255不能被指定为主机地址。
         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

你可能感兴趣的:(linux,职场,休闲)