ubuntu上安装和配置samba服务器

没有评论

2010 年 12 月 22 日 at 下午 10:28分类:Linux

参考:http://www.linuxsir.org/main/?q=node/278
一. samba的安装:
sudo apt-get insall samba
sudo apt-get install smbfs
二. 创建共享目录:
mkdir /home/share
sodu chmod 777 /home/share
三. 创建Samba配置文件:
1. 保存现有的配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2. 修改现配置文件
sudo gedit /etc/samba/smb.conf
在smb.conf最后添加
[share] 这里的share名字是共享的文件夹的名字
path = /home/share #共享的路径
available = yes #制定的共享资源是否可用
browsealbe = yes #制定的共享资源是否可以浏览
public = yes #是否允许guest账户访问
#guest ok = yes/no #意思和上面的public意义相同
writeable = yes #该共享路径是否可写
valid users = username,………… # 只有该用户才可以访问
invalid users = xxxx,………… #禁止访问该共享的用户
四. 创建samba帐户
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a sambauser #创建一个samba服务器的帐号
然后会要求你输入samba帐户的密码
五. 重启samba服务器
sudo /etc/init.d/smbd restart
六. 测试
smbclient -L //localhost/share
七,使用
可以到windows下输入ip使用了,在文件夹处输入 “\\” + “Ubuntu机器的ip或主机名” + “\\” + “share”
此时我们在windows中是不许要帐号密码就可以进入的。
—————————————————————————————————————————————————————
若设为无权限目录共享,设置如下:
先是主机方面的设置:
[global]
workgroup = MSHOME
security = share
encrypt passwords = no
(其它按默认设置)
然后是共享目录设置:
[Share Directory]
path = /home/share
read only = yes
public = yes
writable = yes
设置完成后,我们先输入testparm来测试一下我们的设置有没有错,如果有,系统会有提醒…确定没有错后,我们还要重启一下我们的Samba服务器来让设置生效:
/etc/init.d/smbd restart
接下来我们再进行一次客户端的自我测试:
smbclient -L //localhost
然后我们就可以看到刚刚我们共享的目录名Share Directory,呵呵 … 进入Windows网上邻居找一下,我们就可以对Linux的共享目录进行访问了

若需要加强权限,设置如下:
主机方面的设置
[global]
workgroup = MSHOME
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
共享目录设置
[Share Directory ]
path = /home/share
writable = yes
create mode = 0664
directory mode = 0775
设置完成后,再次重启Samba服务器,但现在先不要急于跑到windows下去测试,因为这个是要用户名和密码。这个用户名和密码我们已经在第四步已经设置好了!查看一下我们的共享目录:
smbclient -L //localhost

linux开机启动流程

没有评论

2010 年 12 月 22 日 at 下午 2:51分类:Linux

根据我个人的理解大致的开机流程可以按照如下流程走:
BIOS => MBR,LiLo/Grub => KerNel => Init => /etc/rc.d/rc.syinit => /etc/rc.d/rc3.d
1、寻找BIOS,加载硬件信息。
加载的硬件信息如:CPU数据,开机顺序,硬盘大小,芯片组的工作状态,内存的频率等等……
2、读取硬盘的MBR,Kernel Loader。
首先是读取第一个开机硬盘的第一个扇区(MBR),在这里记录了主要的开机信息,如(LiLo,Grub),然后再是读取LiLo的信息,
然后安装LiLo里面的信息开机,如果你是grub开机的话,首先会提示开机选单,意思是要选择开机的选项,
3、载入linux的核心:KerNel。
通常开机的核心都在/boot目录下面,此时boot loader会在此目录下面寻找/boot/vmlinuz-xxx格式的核心文件
4、核心文件执行/sbin/init文件。
在执行完载入核心文件之后,那么就会有该核心文件去执行/sbin/init文件。首先要确定主机的开机状态,在RedHat中是加载/etc/inittab文件,但是在ubuntu当中呢是加载/etc/event.d,默认的情况下是没有那个inittab文件的
这个文件直接记录了系统的登入状态,(红帽子当中的默认值是3或者是5,ubuntu中是2)
5、init执行/etc/rc.d/rc.sysinit.
确定了登入系统的状态之后,init将会执行,将主机的信息读入Linux里面,这个里面的信息包括:PATH,HOSTNAME,等等……
如此以来在/etc/rc.d/rc.sysinit就已经将基本的系统设定数据都写好了,也将系统的数据设定完整,这一个过程就是相当与我们用dmesg命令查看的结果了
6、启动核心外挂模块(/etc/modules.conf)
这一个步骤主要是可以选择使用的模块形态来进行驱动程序的加载
7、init执行runlevel 的scripts
由于在之前已经讲开机的状态也就是等级啦加载了,那么在这里就是直接加载该状态下的脚本文件(/etc/rc.d/rcx.d)
至此开机启动完毕,接下来即将进入我们的终端了!

修改Ubuntu的runlevel

没有评论

2010 年 12 月 22 日 at 上午 9:56分类:Linux

Ubuntu的默认开机的runlevel是2,可以用命令runlevel来查看当前的默认运行级别。
debian系(ubuntu是基于debian)的Linux一直是用runlevel 2来默认启动,并且runlevel定义也与redhat有区别。
debian的runlevel级别定义如下:
0 – Halt
1 – Single
2 – Full multi-user with display manager (GUI)
3 – Full multi-user with display manager (GUI)
4 – Full multi-user with display manager (GUI)
5 – Full multi-user with display manager (GUI)
6 – Reboot
可以发现2~5级是没有任何区别的。
######而redhat的runlevel级别定义如下:
######0 – Halt
######1 – Single
######2 – Not used/User definable
######3 – Full multi-user NO display manager
######4 – Not used/User definable
######5 – Full multi-user with display manager (GUI)
######6 – Reboot
对应的配置文件夹如下:
/etc/rc0.d Run level 0
/etc/rc1.d Run level 1
/etc/rc2.d Run level 2
/etc/rc3.d Run level 3
/etc/rc4.d Run level 4
/etc/rc5.d Run level 5
/etc/rc6.d Run level 6
这里的runlevel3-5都是进入图形界面。这与其他的linux发行版不太一致,通常runlevel 3是Multi user mode,即直接登录到字符界面;而runlevel 5是Multi user mode with GUI,即登录到图形界面。
现在把runlevel3改为Multi user mode需要如下步骤:

一、删除gdm的启动项
找到/etc/rc3.d中的gdm项,把它删除,如果想恢复,可以重新建立一个到/etc/init.d中的gdm链接。

二、修改默认的runlevel
如果暂时修改,可以使用命令telinit N,这里的N可以是runlevel的代码[0-6]。如果想长期修改,可以在/etc/下建立inittab文件(这个文件在其他发行版中是存在的,而在Debian及其衍生版中是没有的)。文件内容如下

id:3:initdefault:
注意最后的冒号,这样就说明启动时默认为runlevel 3。

sudo reboot试试看是不是到了文本界面下。

参考文献:

http://www.linuxdiyf.com/viewarticle.php?id=92001

http://www.debianadmin.com/debian-and-ubuntu-linux-run-levels.html

PS: GDM

GDM (The GNOME Display Manager)是GNOME显示环境的管理器,并被用来替代原来的X Display Manager。与其竞争者(X3DM,KDM,WDM)不同,GDM是完全重写的,并不包含任何XDM的代码。GDM可以运行并管理本地和远程登录的X服务器(通过XDMCP)。详情请看http://www.gnome.org/projects/gdm/。gdm仅仅是一个脚本,实际上是通过他来运行GDM二进制可执行文件。gdm-stop是用来迅速终止当前正在运行的gdm守护进程的一个脚本。gdm-restart脚本将迅速重启当前守护进程。然而gdm-safe-restart会当所有人都注销后再重启。gdmsetup是一种可以很简单的修改多数常用选项的图形化界面工具。GNOM的帮助里有更完整的文档,在“应用程序”/“系统工具”这一章节。
  选项:
(gdm脚本和二进制文件都接受一下选项)
-nodaemon 不启动到后台;
–no-console 不运行控制台(本地)服务器;
–preserve-ld-vars 持续维持的LD_*变量;
–version 查看GDM版本信息;
–help 查看gdmsetup接受选项的简单描述
   配置
  可以直接运行gdmsetup或修改/etc/X11/gdm/gdm.conf文件来进行配置GDM(或/etc/gdm/gdm.conf文件)。图形化工具并不支持所有的选项,所以,有时有必要通过修改配置文件来达到目

UBUNTU下如何开启SSHD服务

没有评论

2010 年 12 月 21 日 at 下午 11:03分类:Linux

sudo apt-get install openssh-server
Ubuntu缺省安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可。
然后确认sshserver是否启动了:
ps -e |grep ssh
如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了。
ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后重启SSH服务:
sudo /etc/init.d/ssh resar
ssh连接:ssh linuxidc@192.168.1.1
1. 首先在服务器上安装ssh的服务器端。
$ sudo aptitude install openssh-server
2. 启动ssh-server。
$ /etc/init.d/ssh restart
3. 确认ssh-server已经正常工作。
$ netstat -tlp
tcp6 0 0 *:ssh *:* LISTEN -
看到上面这一行输出说明ssh-server已经在运行了。
4. 在客户端通过ssh登录服务器。假设服务器的IP地址是192.168.0.103,登录的用户名是hyx。
$ ssh -l hyx 192.168.0.103
接下来会提示输入密码,然后就能成功登录到服务器上了

ssh一般默认是开启的,你可以通过ps aux | grep ssh来看服务有没有开启,通过netstat -tpan | grep 22看下ssh默认的22端口有无开启,如果都开启了还连不上,关闭防火墙service iptables stop就能连了。

ubuntu下的quota配制

没有评论

2010 年 12 月 21 日 at 下午 2:10分类:Linux

启用 quota
一开始以为这个命令是可以直接能用的,结果还是得install一下的
$sudo apt-get install quota
完成后就可以使用了。首先编辑 /etc/fstab 文件。里面是当前整个linux的磁盘分区信息
找到你想要分配磁盘空间的区,只是为用户分配的话直接找/home 分区,如果你和我一样只有 / 分区的话那么就直接找 / 吧。。。
#这是我的。。只要在defaults后面加个usrquota就行了
/dev/sda1 / ext3 defaults,usrquota 1 1
好了,编辑好保存,重新启动服务器
开始分配
可以使用 quota 用户名 这样的命令来查看该用户有没有进行磁盘分配。没进行分配的用户,显示为:
Disk quotas for user 用户名 (uid ****): none
我们使用 edquota 用户名 这样命令来对指定的用户进行磁盘分配,转入以下画面:
Disk quotas for user 用户名 (uid *****):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 数字 0 0 数字 0 0
两个数字我们不需要改动,我们只要对付“前两个”soft 和 hard 就行了。单位是KB。soft 应该比 hard 的值稍微小些,实际的分配空间以hard 值为主。
我把soft设置为50000,就是50MB了,hard 为55000,这样用户还有5MB的缓冲区
保存下,再看看quota 用户名 :
Filesystem blocks quota limit grace files quota limit grace
/dev/sda1 数字 50000 55000 数字 0 0
说明生效了,你可以用ftp工具传下60MB的东西,会在传到49MB的时候终止。。呵呵

Linux下查看文件内容的命令(cat,tac,more,less,head,tail,nl)

2010 年 12 月 20 日 at 下午 1:47分类:Linux

在Linux下面查看文件内容,不像windows那么方便,双击鼠标就可以搞定。在linux下面,所有一切都是文件,需要用命令来打开。
有许多命令都可以查看文件,不同的命令有不同的优点,可以针对不同的需要分别选择命令以提高效率:
cat 由第一行开始显示内容,并将所有内容输出
tac 从最后一行倒序显示内容,并将所有内容输出
more 根据窗口大小,一页一页的现实文件内容
less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head 只显示头几行
tail 只显示最后几行
nl 类似于cat -n,显示时输出行号
我使用最多的是more和less!
1.cat 与 tac
cat的功能是将文件从第一行开始连续的将内容输出在屏幕上。但是cat并不常用,原因是当文件大,行数比较多时,屏幕无法全部容下时,只能看到一部分内容。
cat语法:cat [-n] 文件名
参数说明:-n : 显示时,连行号一起输出
例如:
[root@redhat ~]# cat .bashrc
# .bashrc
# User specific aliases and functions
alias rm=’rm -i’
alias cp=’cp -i’
alias mv=’mv -i’
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
加入-n参数
[root@redhat ~]# cat -n .bashrc
1 # .bashrc
2
3 # User specific aliases and functions
4
5 alias rm=’rm -i’
6 alias cp=’cp -i’
7 alias mv=’mv -i’
8
9 # Source global definitions
10 if [ -f /etc/bashrc ]; then
11 . /etc/bashrc
12 fi
tac的功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。我们可以发现,tac实际上是cat反过来写。
tac语法:tac 文件名
例如:
[root@redhat ~]# tac .bashrc
fi
. /etc/bashrc
if [ -f /etc/bashrc ]; then
# Source global definitions
alias mv=’mv -i’
alias cp=’cp -i’
alias rm=’rm -i’
# User specific aliases and functions
# .bashrc
发现没有,和cat输出的比较,完全是倒过来的。这个命令也不常用。

2.more和less(推荐使用)
相对于cat和tac来说,more和less很好用。
more的功能是将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容。
当一页无法全部输出时,可以用“回车键”向下翻3行(我的环境是3行,其他linux版本可能不同),或者使用“空格键”向下翻页。
退出查看页面,请按“q”键。
另外,more还可以配合管道符“|”(pipe)使用,例如:ls -al | more
more的语法:
more 文件名
less的功能和more相似,但是使用more无法向前翻页,只能向后翻。
less可以使用【pageup】和【pagedown】键进行前翻页和后翻页,这样看起来更方便。
less的语法:
less 文件名
less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有weblogic字符串,那么你可以这样来做:
[root@redhat etc]# less passwd
然后输入:
/weblogic
回车
此时如果有weblogic字符串,linux会把该字符已高亮方式显示。
退出查看页面,请按“q”键。

3.head和tail
head和tail通常使用在只需要读取文件的前几行或者后几行的情况下使用。
head的功能是显示文件的前几行内容
head的语法:
head 【-n number】 文件名
例如:
[root@redhat etc]# head -n 5 passwd –只显示5行内容
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
tail的功能恰好和head相反,只显示最后几行内容
tail的语法:
tail [-n number] 文件名
例如:
[root@redhat etc]# tail -n 10 passwd –只显示最后5行
userb:x:503:504::/home/userb:/bin/bash
userc:x:504:502::/home/userc:/bin/bash
zgz:x:505:505::/home/zgz:/bin/bash
myy:x:506:505::/home/myy:/bin/bash
weblogic:x:507:508::/home/weblogic:/bin/bash

4.nl
nl的功能和cat -n一样,同样是从第一行输出全部内容,并且把行号显示出来
nl的语法:
nl 文件名
例如:
[root@redhat etc]# nl ~/.bashrc
1 # .bashrc
2 # User specific aliases and functions
3 alias rm=’rm -i’
4 alias cp=’cp -i’
5 alias mv=’mv -i’
6 # Source global definitions
7 if [ -f /etc/bashrc ]; then
8 . /etc/bashrc
9 fi

linux的命令重导向

没有评论

2010 年 12 月 19 日 at 下午 10:13分类:Linux

基本上,这个子题是 bash 相当重要的观念,这里可得花点心思才行呦!
简单的说,命令重导向就是将你目前的所得资料转到其它地方去就是了!
除了这个 > 的符号之外,在 bash 命令执行的过程中,主要有三种输出入的状况,分别是:
标准输入;代码为 0 ;或称为 stdin ;使用的方式为 <
标准输出:代码为 1 ;或称为 stdout;使用的方式为 1>
错误输出:代码为 2 ;或称为 stderr;使用的方式为 2>
基本的指令书写方式为: 左边一定是指令,至于右边则可能是装置或者是档案!注意了!那个 1> 与 2> 之间并没有空格符!而相关的使用说明可以举例如下:

[test @test test]# ls -al >  list.txt  
将显示的结果输出到 list.txt 档案中,若该档案以存在则予以取代! 
[test @test test]# ls -al >> list.txt  
将显示的结果累加到 list.txt 档案中,该档案为累加的,旧数据保留! 
[test @test test]# ls -al 1> list.txt 2> list.err  
将显示的数据,正确的输出到 list.txt 错误的数据输出到 list.err 
[test @test test]# ls -al 1> list.txt 2>&1  
将显示的数据,不论正确或错误均输出到 list.txt 当中! 
[test @test test]# ls -al 1> list.txt 2> /dev/null 
将显示的数据,正确的输出到 list.txt 错误的数据则予以丢弃! 
注意!错误与正确档案输出到同一个档案中,则必须以上面的方法来写! 
不能写成其它格式!

这个观念相当的重要,尤其是在 /etc/crontab 当中执行的时候,如果我们已经知道错误的讯息为何,又不想要让错误的讯息一直填满 root 的信箱,就必须以 2> 搭配 /dev/null 这个垃圾桶黑洞装置,来将数据丢弃!这个相当的重要!

这里我们来说明一下命令重导向里面几个常用的符号与装置:
< :由 < 的右边读入参数档案; > :将原本由屏幕输出的正确数据输出到 > 右边的 file ( 文件名称 ) 或 device ( 装置,如 printer )去;
>> :将原本由屏幕输出的正确数据输出到 >> 右边,与 > 不同的是,该档案将不会被覆盖,而新的数据将以『增加的方式』增加到该档案的最后面;
2> :将原本应该由屏幕输出的错误数据输出到 2> 的右边去。
/dev/null :可以说成是黑洞装置!

例如下面为执行结果:里面的『 find: /home/root: Permission denied 』就告诉你该数据夹你没有权限进入,这就是错误的输出了,那么『 /home/test/tseting 』就是正确的输出了!

[test @test test]# find / -name testing 
find: /home/test1: Permission denied    <==这是错误的输出 
find: /home/root: Permission denied       <==这是错误的输出 
find: /home/masda: Permission denied      <==这是错误的输出 
/home/test/testing                        <==这是『正确』的输出 
[test @test test]# 

好了,那么假如我们想要将数据输出到 list 这个档案中呢?执行『 find / -name testing > list 』会有什么结果?呵呵,你会发现 list 里面存了刚刚那个『正确』的输出数据,至于屏幕上还是会有错误的讯息出现呢!伤脑筋!如果想要将正确的与错误的数据分别存入不同的档案中需要怎么做?!呵 呵!其实在数据的重导向方面,正确的写法应该是『 1> 』与『 2> 』才对!但是如果只有 > 则预设是以 1> 来进行数据的!那个 1> 是输出正确数据, 2> 则是错误数据输出项目。也就是说:
1> :是将正确的数据输出到指定的地方去
2> :是将错误的数据输出到指定的地方去

这样一来,刚刚执行的结果中,有 Permission 的那几行错误信息都会跑到 list_error 这个档案中,至于正确的输出数据则会存到 list_right 这个档案中啰!这样可以了解了吗?如果有点混乱的话,去休息一下再来看看吧!!

再来,如果我只要正确的数据,错误的信息我不要了呢?呵呵,这个时候 /dev/null 这个垃圾桶就很重要了!/dev/null 是什么呢?基本上,那就有点像是一个『黑洞』的垃圾桶功能!当你输入的任何东西导向到这个虚拟的垃圾桶装置时,『他就会凭空消失不见了~~』,这个东西有用的很!例如上面的例子中,我们可以这么做,来将错误的信息丢掉!

[test @test test]# find / -name testing 1> list_right 2> /dev/null

很神奇呦! error message 就会『不见了!』呵呵!真高兴!另外,如果我要将数据都写到同一个档案中呢?这个时候写法需要用到特殊写法,请注意底下的写法呦!

[test @test test]# find / -name testing 1> list 2> list<==错误写法 
[test @test tset]# find / -name testing 1> list 2>&1   <==正确写法

请特别留意这一点呢!同时写入同一个档案需要使用 2>&1 才对呦!

OK!了解了 >, 2>, >> 与 /dev/null 之后,那么那个 < 又是什么呀!?呵呵!以最简单的说法来说,那就是『将原本需要由键盘输入的数据,经由档案来读入』的意思,最明显的例子就是 mail 这个东西了!我们以 root 的身份来寄信给 root 好了,可以这样做: 1. 完全由键盘输入数据:

[root @test test]# mail -s "test" root <== -s 表示标题, root 为收件者 
I am root! <==以下的数据都是由键盘输入的 
That's OK 
.       <==要结束键盘的输入时,需要在一行的最前面加上 . 即可! 
CC.     <==是否需要有密件副本?不需要的话,直接按下 Enter ! 
EOF     <==表示送出的提示字符而已!
2. 由档案代替输入 
[test @test tset]# mail -s "test" root < /root/.bashrc <==将 .bashrc 内容寄给 root !

很有趣吧! ^_^ 这样就可以将信寄出去啰!所以说,熟悉命令重导像的话,对您可是相当的有帮助的呦!

好了,那么为何要使用命令输出重导向呢?这个问题一定会困扰你一下下的,如果你从来都没有写过 script 的话!好了,我们来说一说吧!
1、当屏幕输出的信息很重要,而且我们需要将他存下来的时候;
2、背景执行中的程序,不希望他干扰屏幕正常的输出结果时;
3、一些系统的例行命令(例如写在 /etc/crontab 中的档案)的执行结果,希望他可以存下来时;
4、一些执行命令,我们已经知道他可能的错误讯息,所以想以『 2> /dev/null 』将他丢掉时;
5、错误讯息与正确讯息需要分别输出时。
当然还有很多很多的功能的,最简单的就是网友们常常问到的:『为何我的 root 都会收到系统 crontab 寄来的错误讯息呢』这个咚咚是常见的错误,而如果我们已经知道这个错误讯息是可以忽略的时候,嗯!『 2> errorfile 』这个功能就很重要了吧!了解了吗??

ubuntu上面安装phpmyadmin

没有评论

2010 年 12 月 18 日 at 下午 10:45分类:Linux | MySQL | WEB开发

phpMyAdmin是一种MySQL的管理工具,它直接从web上去管理MySQL。
假设你的web(网页存放)根目录是 /var/www/ 假设你的主机web访问是这样的 http://192.168.1.11/
你可以把他安装到 /var/www/phpmyadmin 当然也可是/var/www/的任意下级目录
注意这个目录名字最好只有管理员知道.因此我们假设为 /var/www/onlyyouknow
A.先到 phpMyAdmin的官方站(http://www.phpmyadmin.net/home_page/downloads.php)上下载最近的 phpMyAdmin程序
然后把下载好的下压缩包解压到 /var/www/
#cd /var/www/
B. 修改目录名为 /var/www/onlyyoukown
# mv /var/www/phpMyAdmin-2.11.3-all-languages /var/www/onlyyoukown
D.修改设定档
1.找到 /libraries/config.default.php文件(config.default.php复制到phpmyadmin目录下,然后更名为 config.inc.php),该文件有如下项目(2-8)须自行配置,windows用写字板(不要用记事本,这是UTF8编码)进行编辑,在 linux下直接用vim编辑.
2.查找 $cfg['PmaAbsoluteUri'] 修改为你将上传到空间的phpMyAdmin的网址
如:$cfg['PmaAbsoluteUri'] = ‘http://192.168.1.11/onlyyouknow/’;
3.查找 $cfg['Servers'][$i]['host'] = ‘localhost’;(通常用默认,也有例外,可以不用修改)
4.查找 $cfg['Servers'][$i]['auth_type'] = ‘config’;
在自己的机子里调试用config;如果在网络上的空间用cookie,这里我们既然在前面已经添加了网址,就修改成cookie ,这里建议使用cookie.
5.查找 $cfg['Servers'][$i]['user'] = ‘root’; // MySQL user(mysql用户名,自己机里用root;)
6.查找 $cfg['Servers'][$i]['password'] = ”; // MySQL password (mysql用户的密码,自己的服务器一般都是mysql用户root的密码)
7.查找 $cfg['Servers'][$i]['only_db'] = ”; // If set to a db-name, only(你只有一个数据就设置一下;如果你在本机或想架设服务器,那么建议留空)
8.查找 $cfg['DefaultLang'] = ‘zh’; (这里是选择语言,zh代表简体中文的意思,这里不知道填gbk对否)
9.设置完毕后保存
如果出现“配置文件现在需要绝密的短语密码(blowfish_secret)”那么请在$ cfg['blowfish_secret'] = ‘ ‘;的等号里面设置你网站的cookie,例如:$cfg['blowfish_secret'] = ‘任意字符’;这是因为你的“$cfg['Servers'][$i]['auth_type'] = ‘cookie’的原因。
E.测试
开启浏览器,http://192.168.1.11/onlyyoukown/
个人看法:
我们认为从web上可以通过mysql的root用户控制mysql并非一种非常安全的方式.因此我的建议是如果是自己的服务器,当你用完了可以把phpadmin目录放到web不能访问的目录,当要用时把整个目录用mv命令移回原来位置

Linux下挂载U盘,硬盘和光驱

2010 年 12 月 18 日 at 上午 11:26分类:Linux

一.Linux挂载U盘:

1、插入u盘到计算机,如果目前只插入了一个u盘而且你的硬盘不是scsi的硬盘接口的话,那它的硬件名称为:sda1。
2、在mnt目录下先建立一个usb的目录(如:[root@localhost root]# mkdir /mnt/usb)
3、挂载U盘:mount -t vfat /dev/sda1 /mnt/usb
4、卸载U盘:umount /mnt/usb
5、删除usb目录:rm -rf /mnt/usb

二.Linux挂载硬盘:

1.加挂FAT32文件系统
最简单的用法mount /dev/hda6 /mnt/wine/dev/hda6是Windows的E盘,/mnt/wine是目录加挂点。Linux会识别到/dev/hda6分区的文件系统类型是什么,然后加挂的。当然也可以指定分区的文件系统类型,命令如下:
mount -t vfat /dev/hda6 /mnt/wine
在实际中操作中,直接加挂一个windows的分区,中文的文件名和目录名会出现乱码,为了避免这种情况可以指定字符集,命令如下:
mount /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936
mount -t vfat /dev/hda6 /mnt/d -o codepage=936,iocharset=cp936
mount -t vfat -o iocharset=cp936,codepage=936 /dev/hda6 /mnt/wine(作者常用)
注意:cp936是指简体中文,cp950是指繁体中文。
卸载所挂的硬盘 umount /mnt/wine
删除所挂的硬盘 rm -rf /mnt/wine

2.加挂NTFS文件系统
在目前多数的Linux版本上,需要重编译Linux核心才能,加挂NTFS分区(编译方法请参阅其它文章)。核心支持NTFS后,可以用以下命令加挂:
mount -t ntfs /dev/hda2 /mnt/c
同样对于中文的文件名和目录名会出现乱码的问题可以指定字符集,不过和加挂vfat分区不同,实际中用以下命令是可行的:
mount -t ntfs -o iocharset=cp936 /dev/hda2 /mnt/c -r
mount -t ntfs -o iocharset=cp936,rw /dev/hda2 /mnt/c
注意:cp936是指简体中文,cp950是指繁体中文。
卸载删除同上!

三.Linux自动挂载硬盘

打开/etc找到里面的fstab文件进行编辑,如果你是以管理员身份登入的话,可以直接右键–打开方式–gedit,可以直接在后面追加行:
/dev/hda6 /mnt/wine vfat
codepage=936,iocharset=cp936,defaults,umask=0 0 0
/dev/hda5 /mnt/wind vfat codepage=936,iocharset=cp936 0 0

四.Linux挂载光驱:

命令:mount -t iso9660 /dev/hdc /mnt/cdrom
卸载删除同上!
五.Linux挂载软盘:

很多朋友常常会使用到软盘,尤其是在网络有问题的时候,那么如何使用 Linux 将软盘挂上来呢?!首先,您给先了解你的磁盘档案的格式,例如 Linux 的档案格式( ext2 )与 Windows 的档案格式( vfat )是不一样的!分别可以使用如下的方式挂上来:
[root @test /] # mount -t ext2 /dev/fd0 /mnt/floppy<==Linux 格式 [root @test /] # mount -t vfat /dev/fd0 /mnt/floppy<==Windows 格式 [root @test /] # umount /mnt/floppy <==将软盘机卸载

Linux中fdisk分区使用方法

没有评论

2010 年 12 月 17 日 at 下午 10:15分类:Linux

原文:http://www.linux521.com/2009/newbie/200905/3989_7.html
一、fdisk 的介绍;
  fdisk – Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文文档;其实就是分区工具;
  fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux 、fat32、 linux 、linux swap 、fat16 以及其实类Unix类操作系统的文件系统等;当然我们用fdisk 对磁盘操作分区时,并不是一个终点,我们还要对分区进行格式化所需要的文件系统;这样一个分区才能使用;这和DOS中的fdisk 是类似的;
  二、合理规划您的硬盘分区;
  在操作分区之前,我们要明白硬盘分区一点理论,比如硬盘容量和分区大小的计算;对一个硬盘如何规划分区等,请参考如下文档,谢谢;
  《合理规划您的硬盘分区》
  三、fdisk -l 查看硬盘及分区信息;
  通过《合理规划您的硬盘分区》 ,我们知道主分区(包括扩展分区)的总个数不能超过四个;也不能把扩展分区包围在主分区之间;根据这个原则,我们划分硬盘分区就比较容易的多;也能为以后减少不必要的麻烦;
  1、通过fdisk -l 查看机器所挂硬盘个数及分区情况;

[root@localhost beinan]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523 83 Linux
/dev/hda10 7752 9729 15888253 83 Linux
Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 25 201568 c W95 FAT32 (LBA)
/dev/sda2 26 125 806400 5 Extended
/dev/sda5 26 50 201568 83 Linux
/dev/sda6 51 76 200781 83 Linux

  通过上面的信息,我们知道此机器中挂载两个硬盘(或移动硬盘),其中一个是hda 另一个是sda ;如果我们想查看单个硬盘情况,可以通过 fdisk -l /dev/hda1 或者fdisk -l /dev/sda1 来操作;以fdisk -l 输出的硬盘标识为准;
  其中 hda有三个主分区(包括扩展分区),分别是主分区 hda1 hda2 和hda3(扩展分区) ;逻辑分区是 hda5到hda10;
  其中 sda 有两个主分区(包括扩展分区),分别是 hda1 和hda2 (扩展分区);逻辑分区是 sda5 hda6 ;
  硬盘总容量=主分区(包括扩展分区)总容量
扩展分区容量=逻辑分区总容量
  通过上面的例子,我们可以得知 hda=hda1 hda2 hda3,其中hda3=hda5 hda6 hda7 hda8 hda9 hda10 …… ……
  2、关于fdisk -l 一些数值的说明;

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  这个硬盘是80G的,有255个磁面;63个扇区;9729个磁柱;每个 cylinder(磁柱)的容量是 8225280 bytes=8225.280 K(约为)=8.225280M(约为);

分区序列 引导 开始 终止 容量 分区类型ID 分区类型
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523 83 Linux
/dev/hda10 7752 9729 15888253 83 Linux

  说明:
  硬盘分区的表示:在Linux 是通过hd*x 或 sd*x 表示的,其中 * 表示的是a、b、c …… …… x表示的数字 1、2、3 …… …… hd大多是IDE硬盘;sd大多是SCSI或移动存储;
  引导(Boot):表示引导分区,在上面的例子中 hda1 是引导分区;
  Start (开始):表示的一个分区从X cylinder(磁柱)开始;
  End (结束):表示一个分区到 Y cylinder(磁柱)结束;
  id和System 表示的是一个意思,id看起来不太直观,我们要在fdisk 一个分区时,通过指定id来确认分区类型;比如 7表示的就NTFS 分区;这个在fdisk 中要通过t功能来指定。下面的部份会提到;
  Blocks(容量):这是我翻译的,其实不准确,表示的意思的确是容量的意思,其单位是K;一个分区容量的值是由下面的公式而来的;
  Blocks = (相应分区End数值 – 相应分区Start数值)x 单位cylinder(磁柱)的容量
  所以我们算一下 hda1的 Blocks 的大小 :
  hda1 Blocks=(765-1)x8225.280=6284113.92 K = 6284.113.92M
  注:换算单位以硬盘厂家提供的10进位算起,如果以操作系统二进制来算,这个分区容量应该更少一些,得出的这个值和我们通过 fdisk -l 看到的 /dev/hda1的值是大体相当的,因为换算方法不一样,所以也不可能尽可能的精确;再加上分区时的一点损失之类,有时或大或小是存在的;
  我们查看分区大小或者文件的时候,还是用十进制来计算比较直观;推算办法是 byte 向前推小数点三位就是K ,K单位的值向前推小数点三位就是M,M向前推小数点三位就是G…… …… 一般也差不了多少;这么算就行;
3、估算一个存储设备是否被完全划分;
  我们估算一个硬盘是否完全被划分,我们只要看 fdisk -l 输出的内容中的 cylinders(柱体) 上一个分区的End 和 下一个分区的Start是不是一个连续的数字,另外要看一下每个硬盘设备的fdisk -l 的开头部份,看一下他的 cylinders(柱体)的值;
  比如hda设备,我们看到的是 9729 cylinders ;我们通过 hda的分区表可以看到上一个分区的End的值 1 就是下一个分区的Start 的值;比如 hda2的Start的值是 hda1 的End 的值 1,这证明 hda1 和hda2 中间没有空白分区,是连续的,以此类推;在 hda10,我们看到 End 的值是9729 ,而在fdisk -l头部信息中也有9729 cylinders,证明这个硬盘已经完全划分;

Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 25 201568 c W95 FAT32 (LBA)
/dev/sda2 26 125 806400 5 Extended
/dev/sda5 26 50 201568 83 Linux
/dev/sda6 51 76 200781 83 Linux

  我们再看看 sda 移动储是不是被完全划分了;sda有 125个cylinders (柱体),有一个主分区和一个扩展分区构成;在扩展分区中,我们看到End的值为125,而这个移动硬盘的cylinder也是125,这能说明这个硬盘不可能再添加任何主分区了;根据我们上面所说的 sda1 sda2 sda5 sda6 之间未有任何未划分空间,但sda6 的cylinders (柱体)的End值却是 76 ,而 sda总的cylinders (柱体)有125个,由此看来sda 在 sda6后面有未划分区域;
  至于sda 有多少未划分空间,我们算一下就知道了;扩展分区总容量是 806400 K ,大约是 806.400M左右,而逻辑分区 sda5 和sda6 的大小加起来是 400M左右,所以还仍有400M左右未划分空间,并且只能划分为链逻辑分区;
  四、fdisk 对硬盘及分区的操作,进入fdisk 对硬盘操作阶段;
  我们可以对硬盘进行分区操作,前提是您把fdisk -l 弄明白了;通过fdisk -l ,我们能找出机器中所有硬盘个数及设备名称;比如上面的例子,我们会看到两个设备一个是/dev/hda ,另一个是/dev/sda ;
  fdisk 操作硬盘的命令格式如下:
  [root@localhost beinan]# fdisk 设备
  比如我们通过 fdisk -l 得知 /dev/hda 或者 /dev/sda设备;我们如果想再添加或者删除一些分区,可以用
  [root@localhost beinan]# fdisk /dev/hda
  或
  [root@localhost beinan]# fdisk /dev/sda
  注 在以后的例子中,我们要以 /dev/sda设备为例,来讲解如何用fdisk 来操作添加、删除分区等动作;
  1、fdisk 的说明;
  当我们通过 fdisk 设备,进入相应设备的操作时,会发现有如下的提示;以 fdisk /dev/sda 设备为例,以下同;

[root@localhost beinan]# fdisk /dev/sda
Command (m for help): 在这里按m ,就会输出帮助;
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 注:这是删除一个分区的动作;
l list known partition types 注:l是列出分区类型,以供我们设置相应分区的类型;
m print this menu 注:m 是列出帮助信息;
n add a new partition 注:添加一个分区;
o create a new empty DOS partition table
p print the partition table 注:p列出分区表;
q quit without saving changes 注:不保存退出;
s create a new empty Sun disklabel
t change a partition's system id 注:t 改变分区类型;
u change display/entry units
v verify the partition table
w write table to disk and exit 注:把分区表写入硬盘并退出;
x extra functionality (experts only) 注:扩展应用,专家功能;

  其实我们常用的只有注有中文的,其它的功能我们不常用(呵,主要是我不会用,否则早会卖弄一下了);x扩展功能,也不是常用的;一般的情况下只要懂得 d l m p q t w 就行了;
  下面以实例操作来详述,没有例子没有办法就,新手也看不懂;
  2、列出当前操作硬盘的分区情况,用p;

Command (m for help): p
Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 25 201568 c W95 FAT32 (LBA)
/dev/sda2 26 125 806400 5 Extended
/dev/sda5 26 50 201568 83 Linux
/dev/sda6 51 76 200781 83 Linux

  3、通过fdisk的d指令来删除一个分区;

Command (m for help): p 注:列出分区情况;
Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 25 201568 c W95 FAT32 (LBA)
/dev/sda2 26 125 806400 5 Extended
/dev/sda5 26 50 201568 83 Linux
/dev/sda6 51 76 200781 83 Linux
Command (m for help): d 注:执行删除分区指定;
Partition number (1-6): 6 注:我想删除 sda6 ,就在这里输入 6 ;
Command (m for help): p 注:再查看一下硬盘分区情况,看是否删除了?
Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 25 201568 c W95 FAT32 (LBA)
/dev/sda2 26 125 806400 5 Extended
/dev/sda5 26 50 201568 83 Linux
Command (m for help):

  警告:删除分区时要小心,请看好分区的序号,如果您删除了扩展分区,扩展分区之下的逻辑分区都会删除;所以操作时一定要小心;如果知道自己操作错了,请不要惊慌,用q不保存退出;切记切记!!!!在分区操作错了之时,千万不要输入w保存退出!!!
4、通过fdisk的n指令增加一个分区;
[code]
Command (m for help): p
Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 25 201568 c W95 FAT32 (LBA)
/dev/sda2 26 125 806400 5 Extended
/dev/sda5 26 50 201568 83 Linux
Command (m for help): n 注:增加一个分区;
Command action
l logical (5 or over) 注:增加逻辑分区,分区编号要大于5;为什么要大于5,因为已经有sda5了;
p primary partition (1-4) 注:增加一个主分区;编号从 1-4 ;但sda1 和sda2都被占用,所以只能从3开始;
p
Partition number (1-4): 3
No free sectors available 注:失败中,为什么失败?
  注:我试图增加一个主分区,看来是失败了,为什么失败?因为我们看到主分区 扩展分区把整个磁盘都用光了,看扩展分区的End的值,再看一下 p输出信息中有125 cylinders;最好还是看前面部份;那里有提到;
  所以我们只能增加逻辑分区了;
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l 注:在这里输入l,就进入划分逻辑分区阶段了;
First cylinder (51-125, default 51): 注:这个就是分区的Start 值;这里最好直接按回车,如果您输入了一个非默认的数字,会造成空间浪费;
Using default value 51
Last cylinder or size or sizeM or sizeK (51-125, default 125): 200M 注:这个是定义分区大小的, 200M 就是大小为200M ;当然您也可以根据p提示的单位cylinder的大小来算,然后来指定 End的数值。回头看看是怎么算的;还是用 200M这个办法来添加,这样能直观一点。如果您想添加一个10G左右大小的分区,请输入 10000M ;
Command (m for help):
  5、通过fdisk的t指令指定分区类型;
Command (m for help): t 注:通过t来指定分区类型;
Partition number (1-6): 6 注:要改变哪个分区类型呢?我指定了6,其实也就是sda6
Hex code (type L to list codes):L 注:在这里输入L,就可以查看分区类型的id了;
Hex code (type L to list codes): b 注:如果我想让这个分区是 W95 FAT32 类型的,通过L查看得知 b是表示的是,所以输入了b;
Changed system type of partition 6 to b (W95 FAT32) 注:系统信息,改变成功;是否是改变了,请用p查看;
Command (m for help): p
Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 25 201568 c W95 FAT32 (LBA)
/dev/sda2 26 125 806400 5 Extended
/dev/sda5 26 50 201568 83 Linux
/dev/sda6 51 75 201568 b W95 FAT32
6、fdisk 的退出,用q或者 w;
  其中 q是 不保存退出,w是保存退出;
  Command (m for help): w
  或
  Command (m for help): q
五、对分区进行格式化,以及加载;
  先提示一下;用 mkfs.bfs mkfs.ext2 mkfs.jfs mkfs.msdos mkfs.vfatmkfs.cramfs mkfs.ext3 mkfs.minix mkfs.reiserfs mkfs.xfs 等命令来格式化分区,比如我想格式化 sda6为ext3文件系统,则输入;
  [root@localhost beinan]# mkfs.ext3 /dev/sda6
  如果我想加载 sda6到目前系统来存取文件,应该有mount 命令,但首先您得建一个挂载目录;比如 /mnt/sda6 ;
[root@localhost beinan]# mkdir /mnt/sda6
[root@localhost beinan]# mount /dev/sda6 /mnt/sda6
[root@localhost beinan]# df -lh
Filesystem 容量 已用 可用 已用% 挂载点
/dev/hda8 11G 8.4G 2.0G 81% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/hda10 16G 6.9G 8.3G 46% /mnt/hda10
/dev/sda6 191M 5.6M 176M 4% /mnt/sda6
  这样我们就能进入 /mnt/sda6目录,然后存取文件了;
  具体的权限方法,以及mount 更详细的用法,在以后我会专门写一个帖子;在一帖中放下所有的内容实在有点为难;