Ubuntu 学习笔记(一)

 

Ubuntu 学习笔记

软件包和服务管理

 

l  查看软件包有没有安装

apt-cache search ssh

 

l  显示软件包的详细信息

apt-cache show openssh-client

 

l  配置软件安装或升级的本地源

目的是将光盘作为本地源,用以安装和升级软件。

Step 1: 挂载光盘                                 

1.        modprobe loop

2.        mount –t iso9660 –o loop /dev/cdrom/mnt/cdrom

Step 2: 修改/etc/apt/sources.list,先备份,然后删除所有的内容并添加下面一行。

deb file:///mnt/cdrom maverick mainrestricted

 

其实,这句话帮助apt-get到以下的地方寻找软件包。

1.        /mnt/cdrom/dists/maverick/main

2.        /mnt/cdrom/dists/maverick/restricted

 

实验方法:安装一个openssh-server

sudo apt-get install openssh-server*

apt-cache show openssh-server

 

l  图形界面安装“任务”的命令:tasksel。

比如说安装一个“mail server”

root@patrick:/usr/share/tasksel#tasksel - -task-packages mail-server

dovecot-imapd

procmail

dovecot-common

libpth20

postfix

libgpgme11

libmysqlclient16

mutt

ssl-cert

libpq5

bsd-mailx

dovecot-pop3d

mysql-common

 

 

root@patrick:/usr/share/tasksel# tasksel --list-tasks

u eucalyptus-walrus     Cloud computing: Walrus storage service

u eucalyptus-simple-cluster     Cloud computing: all-in-one cluster

u eucalyptus-cluster    Cloud computing: cluster controller

u eucalyptus-node       Cloud computing: node controller

u eucalyptus-storage    Cloud computing: storage controller

u eucalyptus-cloud      Cloud computing: top-level cloudcontroller

u dns-server    DNS server

u lamp-server   LAMP server

u mail-server   Mail server

i openssh-server        OpenSSH server

u postgresql-server     PostgreSQL database

u print-server  Print server

u samba-server  Samba file server

u tomcat-server Tomcat Java server

u virt-host     Virtual Machine host

u manual        Manual package selection

 

l  dpkg命令

1)  #dpkg –l openssh*

查看软件包是否安装

2)  # dpkg –L openssh-server

显示软件包中包含的文件

3)  # dpkg –S /usr/share/man/man1/ssh-import-lp-id.1.gz

显示文件包含在哪个包中。

openssh-server:/usr/share/man/man1/ssh-import-lp-id.1.gz

 

root@patrick:/usr/share/tasksel# dpkg -S/bin/ls

coreutils: /bin/ls

 

l  设置ssh开机自动启动

# update-rc.d ssh defaults

update-rc.d: warning: ssh stop runlevelarguments (0 1 6) do not match LSB Default-Stop values (none)

 Adding system startup for /etc/init.d/ssh ...

  /etc/rc0.d/K20ssh -> ../init.d/ssh

  /etc/rc1.d/K20ssh -> ../init.d/ssh

  /etc/rc6.d/K20ssh -> ../init.d/ssh

  /etc/rc2.d/S20ssh -> ../init.d/ssh

  /etc/rc3.d/S20ssh -> ../init.d/ssh

  /etc/rc4.d/S20ssh -> ../init.d/ssh

  /etc/rc5.d/S20ssh -> ../init.d/ssh

 

从上面的输出可以看到,执行这条命令的结果是在/etc/rc2(3,4,5).d/中添加启动ssh服务的脚本,而在/etc/rc0(1,6).d/中添加停止ssh的脚本。

 

还有更加灵活的命令。如指定某shell脚本在运行级别2,3开机运行,同时指定在级别1,5中默认停止。

 

先把test.sh拷贝到/etc/init.d/中,然后执行:

root@patrick:/etc/rc2.d# update-rc.d test.sh start 802 3 . stop 82 1 5 .

update-rc.d: warning: /etc/init.d/test.shmissing LSB information

update-rc.d: see

 Adding system startup for /etc/init.d/test.sh...

  /etc/rc1.d/K82test.sh -> ../init.d/test.sh

  /etc/rc5.d/K82test.sh -> ../init.d/test.sh

  /etc/rc2.d/S80test.sh -> ../init.d/test.sh

  /etc/rc3.d/S80test.sh -> ../init.d/test.sh

 

要删除这些链接,执行命令:

 

# apt-get –f test.sh remove

 

# sysv-rc-conf apache2 off                    

# sysv-rc-conf apache2 on                                             ==update-rc.d apach2 defaults

# sysv-rc-conf --level 2345 iptables on

网络主配置文件

root@patrick:/etc/network#cat interfaces           (/etc/network/interfaces)

# This file describes the networkinterfaces available on your system

# and how to activate them. For moreinformation, see interfaces(5).

 

# The loopback network interface

auto lo

iface lo inet loopback

 

# The primary network interface

auto eth0

iface eth0 inet dhcp

 

# iface eth0 inet static

         address192.168.217.136

         netmask255.255.255.0

         gateway192.168.217.1

 

重启网络服务:/etc/init.d/networking restart

 

l  FTP实现的功能

4)  支持TLS加密

5)  支持chroot

6)  支持FXP协议

7)  虚拟用户(锁定/解锁)

8)  磁盘限额(quota

9)  文件数量的限制

10)             (上传/下载)速率限制

11)             同一个IP的并发数限制

12)             上传/下载比例限制

13)             支持匿名访问

14)             通过Web管理FTP用户

 

FTP服务器软件

ProFTPd

Pure-FTPd

vsFTPd

 

配置Pure-FTPd

1)      安装Pure-FTPd

#apt-getpure-ftpd-mysql mysql-server

 

安装mysql的目的是用于用户认证。

 

2)      添加用户和组

# groupadd –g 2001ftpgroup

# useradd –u 2001 –s/bin/false –d /dev/null –c “Pure-FTPd User” –g ftpgroup ftpuser

 

3)      Chroot设置

sh –c “echo ‘yes’> /etc/pure-ftpd/conf/ChrootEveryone”

 

4)      手工创建用户目录

告诉Pure-FTPd不要为用户自动创建HOME目录。

# sh –c “echo ‘No’> /etc/pure-ftpd/conf/CreateHomeDir”

 

 

 

nmap的使用

1)扫描网段的所有主机

# nmap –sP192.168.220.*

# nmap –sP192.168.220.0/24

 

2)  扫描主机(192.168.220.6)所有已经使用的端口

# nmap –sS192.168.220.6 –D 192.168.220.6

# nmap –sT192.168.220.6

 

3)  扫描主机的端口25

# nmap –sT –p 25 –oG– 192.168.220.6

 

 

修改内核参数

比如打开IP包的Forward功能。

在文件/etc/sysctl.conf中找到net.ipv4.ip_forward,把其设置为1。

然后加载一遍sysctl –p

 

 

iptables

 

iptables –t nat –A PREROUTING –p tcp --dport 80 –j DNAT -- to-dest 192.168.0.20

iptables –t nat –A OUTPUT –p tcp –dport 80 –jDNAT - -to-dest     192.168.0.200:3128

 

iptables –A INPUT –t tcp –s192.168.220.0/24 –dport 80 –j ACCEPT

 

保存和开机恢复iptables的rules。

iptables-save > /etc/iptables.up.rules

 

在文件/etc/network/interfaces中添加:

pre-up iptables-restore

lsof 命令

l  显示打开文件test.tmp的进程

lsof ./test.tmp

 

l  22端口被什么程序打开

lsof –i:22

 

l  进程sshd打开的文件

lsof –c sshd

 

l  显示归属gid的进程情况

lsof -g gid

 

l  显示用户patrick打开的文件

lsof –u Patrick

l  显示PID为2042的进程打开的文件

lsof –p 2042

 

l  显示目录/home/patrick/test下的文件被进程打开的情况

lsof +d/home/patrick/test/

 

显示所有可用的shell

# /etc/shells: valid login shells

/bin/csh

/bin/sh

/usr/bin/es

/usr/bin/ksh

/bin/ksh

/usr/bin/rc

/usr/bin/tcsh

/bin/tcsh

/usr/bin/esh

/bin/dash

/bin/bash

/bin/rbash

 

root@patrick:/etc/init.d# which du

/usr/bin/du

 

 

你可能感兴趣的:(Ubuntu 学习笔记(一))