ls

cd

mkdir、rmdir

cp

rm

mv

du,df

cat

more,less

pwd

clear

ln

grep

find

ar

rpm

mount,umount

用户和组管理

进程及服务管理

网卡设置

FTP服务

Web服务(httpd) Linux基本操作命令

模式切换

获得帮助

ls

cd

mkdir、rmdir

cp

rm

mvdu,dfcatmore,lesspwdclearlngrepfindarrpmmount,umount用户和组管理进程及服务管理网卡设置FTP服务Web服务(httpd)

Linux基本操作命令

  首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们现在要了解的是基于Linux操作系统的基本控制台命令。有一点一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的。

模式切换

  1、 由字符到图型#startx或#init 5

  2、 由图形到字符#logout或init 3

  3、 注销#logout或exit或ctrl+d

  4、 关机#poweroff或init 0或shutdown now或 halt -p

  5、 重启#reboot或init 6或shutdown -r now

获得帮助

  #help提供内部命令的帮助#man或info提供外部命令的帮助。

  如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man。Man实际上就是察看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细,但是因为它都是英文,看起来非常的头痛。建议大家需要的时候再去看man,平常吗,记得一些基本用法就可以了。

ls

  这个命令就相当于dos下的dir命令一样,这也是Linux控制台命令中最为重要几个命令之一。ls最常用的参数有三个: -a -l -F。

  ls -a

  Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。

  ls -l(这个参数是字母L的小写,不是数字1)

  这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):

  位置1 2 3 4 5 6 7

  文件属性 文件数 拥有者 所属的group 文件大小 建档日期 文件名

  drwx------ 2 Guest users 1024 Nov 21 21:05 Mail

  -rwx--x--x 1 root root 89080 Nov 7 22:41 tar*

  -rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*

  lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip

  -rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*

  -rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*

  下面,我为大家解释一下这些显示内容的意义。

  第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):

  rwx(Owner)r-x(Group)r-x(Other)

  这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。

  第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。

  第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。

  第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。

  第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb来显示一个文件的大小单位,不过一般我们还是以byte为主。

  第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。

  第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。

  ls –F(注意,是大写的F)

  使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

cd

  这个命令是用来进出目录的,它的使用方法和在dos下没什么两样,所以我觉得没什么可说的,但有两点我补充一下。首先,和dos不同的是Linux的目录对大小写是敏感的,如果大小写没拼对,你的cd操作是成功不了的。其次,cd如果直接输入,cd后面不加任何东西,会回到使用者自己的Home Directory。假设如果是root,那就是回到/root.这个功能同cd ~是一样的。

mkdir、rmdir

  mkdir命令用来建立新的目录,rmdir用来删除已建立的目录,这两个指令的功能不再多加介绍,他们同dos下的md,rd功能和用法都是基本一样的。

cp

  这个命令相当于dos下面的copy命令,具体用法是:cp –r 源文件(source) 目的文件(target)

  参数r是指连同源文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。

rm

  这个命令是用来删除文件的,和dos下面的rm(删除一个空目录)是有区别的,大家千万要注意。rm命令常用的参数有三个: -i,-r,-f。

  比如我现在要删除一个名字为test的一个文件:rm –i test

  系统会询问我们:“rm:remove ‘test’?y”,敲了回车以后,这个文件才会真的被删除。之所以要这样做,是因为linux不象dos那样有undelete的命令,或者是可以用pctool等工具将删除过的文件救回来,linux中删除过的文件是救不回来的,所以使用这个参数在删除前让你再确定一遍,是很有必要的。

  rm –r 目录名:这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。

  rm –f 文件名(目录名):这个操作可以进行强制删除。

mv

  这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。它的用法同dos下面的move基本相同,这里不再多讲。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。如果你想给一个文件或目录重命名时可以用以下方法:mv 原文件(目录)名 新的文件(目录)名。

du,df

  du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况(这个功能可是dos没有的呦)。不过我一般不喜欢用du,因为它给出的信息是在是太多了,我看不过来,而df这个命令我是最常用的,因为磁盘上还剩多少空间对我来说是很重要的。

cat

  这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。它的用法如下:

  cat text 显示text这个文件;

  cat file1 file2 依顺序显示file1,file2的内容;

  cat file1 file2>file3 把file1,file2的内容结合起来,再“重定向(>)”到file3文件中。

  “〉”是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。如果〉左边没有文件的名称,而右边有文件名,例如:

  cat >file1:结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。这个过程和dos里面的copy con file1的结果是一样的。

  另外,如果你使用如下的指令:

  cat file1>>file2:这将变成将file1的文件内容“附加”到file2的文件后面,而file2的内容依然存在,这种重定向符〉〉比〉常用,可以多多利用。

more,less

  这是两个显示一般文本文件的指令。如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。More指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。

pwd

  pwd [--help][--version]

  说明:执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。

clear

  这个命令是用来清除屏幕的,它不需要任何参数,和dos下面的clr具有相同的功能,如果你觉得屏幕太紊乱,就可以使用它清除屏幕上的信息。

  这个命令的作用是显示用户当前的工作路径,这个命令不用多说,大家一试即知。

ln

  这是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:ln 源文件 –s 目标文件。

  当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln /bin/less –s /usr/local/bin/less

  -s 是代号(symbolic)的意思。

  这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

  如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。

grep

  用于查找文件中符合字符串的哪行。

  e.g. grep -nr "network_ssl" ./ [查找当前文件夹下所有文件内容,列出包含有 network_ssl该字串的行,并显示行号]

  参数说明: -a :将 binary 文件以 text 文件的方式搜寻数据

  -c :计算找到 '搜寻字符串' 的次数

  -i :忽略大小写的不同,所以大小写视为相同

  -n :顺便输出行号

  -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!

find

  $ find . -name "*.txt" -print 用于查找所有的‘ *.txt’文件在当前目录及子目录中;

  $ find . -name "[A-Z]*" -print 用于当前目录及子目录中查找文件名以一个大写字母开头的文件;

  $ find /etc -name "host*" -print 在/etc目录中查找文件名以host开头的文件;

  $find . -name "[a-z][a-z][0--9][0--9].txt" -print 在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt的文件;

  1、find命令的一般形式为;

  find pathname -options [-print -exec -ok ...]

  2、find命令的参数;

  pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

  -print: find命令将匹配的文件输出到标准输出。

  -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。

  -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

  3、find命令选项

  -name

  按照文件名查找文件。

  -perm

  按照文件权限来查找文件。

  -prune

  使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

  -user

  按照文件属主来查找文件。

  -group

  按照文件所属的组来查找文件。

  -mtime -n +n

  按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。

  -nogroup

  查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

  -nouser

  查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

  -newer file1 ! file2

  查找更改时间比文件file1新但比文件file2旧的文件。

  -type

  查找某一类型的文件,诸如:

  b - 块设备文件。

  d - 目录。

  c - 字符设备文件。

  p - 管道文件。

  l - 符号链接文件。

  f - 普通文件。

  -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

  -depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

  -fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

  -mount:在查找文件时不跨越文件系统mount点。

  -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

  -cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

  另外,下面三个的区别:

  -amin n

  查找系统中最后N分钟访问的文件

  -atime n

  查找系统中最后n*24小时访问的文件

  -cmin n

  查找系统中最后N分钟被改变文件状态的文件

  -ctime n

  查找系统中最后n*24小时被改变文件状态的文件

  -mmin n

  查找系统中最后N分钟被改变文件数据的文件

  -mtime n

  查找系统中最后n*24小时被改变文件数据的文件

ar

  功能说明:建立或修改备存文件,或是从备存文件中抽取文件。

  语 法:ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][备存文件][成员文件]

  补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。

  参 数:

  指令参数

  -d 删除备存文件中的成员文件。

  -m 变更成员文件在备存文件中的次序。

  -p 显示备存文件中的成员文件内容。

  -q 将问家附加在备存文件末端。

  -r 将文件插入备存文件中。

  -t 显示备存文件中所包含的文件。

  -x 自备存文件中取出成员文件。

  选项参数

  a<成员文件> 将文件插入备存文件中指定的成员文件之后。

  b<成员文件> 将文件插入备存文件中指定的成员文件之前。

  c 建立备存文件。

  f 为避免过长的文件名不兼容于其他系统的ar指令指令,因此可利用此参数,截掉要放入备存文件中过长的成员文件名称。

  i<成员文件> 将问家插入备存文件中指定的成员文件之前。

  o 保留备存文件中文件的日期。

  s 若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表。

  S 不产生符号表。

  u 只将日期较新文件插入备存文件中。

  v 程序执行时显示详细的信息。

[编辑本段]rpm

  一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件,与Dpkg类似。

  RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

  常用rpm命令

  查询rpm软件包

  #rpm -q 软件包名

  #rpm -qa //查询安装的所有软件包

  #rpm -qa|grep 软件包字符串

  #rpm -qf /bin/命令 //查询命令由哪些软件包安装得到

  #rpm -qi 软件包名 //查询软件包的详细信息

  #rpm -ql 软件包名 //查询软件包的安装位置

  软件包的安装

  #rpm -ivh 软件包

  软件包的升级

  #rpm -Uvh 软件包

  软件包的卸载

  #rpm -e 软件包名

  文件打包

  #tar -cvf [文件名.tar] [文件……目录]

  查看包文件的内容

  #tar -tf 文件名.tar

  向已有的包中添加新文件

  #tar -rvf [文件名.tar] [新文件……]

  释放包文件#tar -xvf 文件名.tar

  压缩文件#gzip 文件名

  解压缩文件

  #gzip -d 文件名.gz 或#gunzip 文件名.gz

  创建压缩包

  #tar -zcvf [文件名.tar.gz] [文件1 文件2 …]

  查看压缩包中的内容

  #tar -ztf 文件名.tar.gz

  释放压缩包

  #tar -zxvf 文件名.tar.gz

mount,umount

  mount是Linux下的一个命令,它可以将分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将分区和/mnt这个目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。目前mount已经不仅仅局限于Linux了,在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。

  注意事项

  1、必须将光盘、U盘等放入驱动器在实施挂载操作

  2、不能在挂载目录下实施挂载操作,至少在上一级

  3、不能在同一目录下挂载两个以上的文件系统

  4、Linux预留挂载目录为/mnt

  5、不能在挂载目录下实施卸载操作

  6、挂载目录必须事先存在

  挂载光盘

  #mount -t iso9660 /dev/cdrom /mnt/cdrom

  卸载光盘

  #umount /mnt/cdrom或#umount /dev/cdrom或#cd;eject

  挂载U盘

  #mount /dev/sdb1 /mnt/usb

  挂载iso镜像

  #mount -t iso9660 -o loop iso镜像文件 /mnt/cdrom

用户和组管理

  #useradd 用户名 //创建用户和组

  #passwd 用户名 //设置用户密码

  #groupadd 组名 //创建组

  #usermod –d 路径 用户名 //修改用户宿主目录

  #usermod –u uid 用户名 //修改用户的UID

  #usermod -s /bin/[csh] 用户名 //修改用户启动shell

  #usermod -G 组名 用户名 //将用户加入组, 创建私有组

  #usermod -g 组名 用户名 //用户加入组但不创建私有组

  #gpasswd -a 用户名 组名 //同-G

  #gpasswd -d 用户名 组名 //将用户从组中删除

  #gpasswd -A 用户名 组名 //指定用户成为组的管理员

  #usermod -L 用户名 //锁定用户#passwd -l 用户名 //同上

  #usermod -U 用户名 //解锁用户#passwd -u 用户名 //同上

  #usermod -l 新名 原名 //重命名用户

  #groupmod -n 新名 原名 //重命名组

  #userdel 用户名 //删除用户#userdel –r 用户名 //彻底删除,包括用户的宿主目录

  #groupdel 组名 //删除组

  #passwd -d 用户名 /删除用户密码/

进程及服务管理

  查看进程

  #ps -aux //查看所有进程(静态)

  #top //查看动态变化的进程

  #pstree //查看进程树

  将进程放在后台运行

  #命令 &

  查看后台运行的进程

  #jobs

  将后台运行的进程调入前台

  #fg 编号

  强制结束进程

  #kill -9 PID 或#killall -9 进程名

  init进程是所有进程的父进程其级别如下

  0 关机

  1 单用户

  2 多用户字符,但是不支持NFS

  3 完全多用户字符

  4 用户自定义

  5 图形

  6 重启

  查看服务启动情况(独立启动方式)

  #chkconfig --list //查看所有服务的启动状态

  #chkconfig --list httpd

  设置独立启动服务

  #chkconfig --level 35 httpd on或off

  设置非独立启动服务

  #chkconfig telnet on或off#service xinetd restart

  设置服务在开机时自动运行

  #ntsysv

网卡设置

  1、 设置ip地址(即时生效,重启失效)

  #ifconfig eth0 ip地址 netmask 子网掩码

  2、 设置ip地址(重启生效,永久生效)

  #setup

  3、 通过配置文件设置ip地址(重启生效,永久生效)

  #vi /etc/sysconfig/network-scripts/ifcfg-eth0

  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地址

  4、 重启网络服务

  #service network restart //重启所有网卡

  5、 禁用网卡,启动网卡

  #ifdown eth0

  #ifup eth0

  6、 屏蔽网卡,显示网卡

  #ifconfig eth0 down

  #ifconfig eth0 up

  7、 配置DNS客户端(最多三个)

  #vi /etc/resolv.conf

  nameserver 202.99.96.68

  8、更改主机名(即时生效)

  #hostname 主机名

  9、更改主机名(重启计算机生效,永久生效)

  #vi /etc/sysconfig/network

  HOSTNAME=主机名

FTP服务

  1 使用setup命令开启vsftpd服务进程。

  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 :指明每个客户机的最大连接数。

  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)。

  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 :把目录的权限设为所有者可读写执行,同组用户可读、可执行,所有人可读、可执行。

  这样,我们的管理员就可以开始管理了。

  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://www.cnblogs.com/wanyibu/p/4495671.html

转liunx 常用命令相关推荐

  1. linux快捷命令怎么拼日期,liunx常用命令,快捷键

    原标题:liunx常用命令,快捷键 一.常用命令介绍 在linux系统中存在很多命令,这些命令可以帮助我们完成不同的工作,在这里面我们先介绍一些常用的基础命令,这些命令可以帮助我们完成对应的基本操作, ...

  2. Liunx 常用命令 (几乎包含所有了)

    linux 常用命令: 关机 (系统的关机.重启以及登出 ) shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h ...

  3. liunx常用命令笔记

    安装软件教程 linux安装java:https://www.cnblogs.com/lamp01/p/8932740.html linux安装mysql:https://www.cnblogs.co ...

  4. liunx常用命令0

    1 开启Linux操作系统,要求以root用户登录GNOME图形界面,语言支持选择为汉语 点击"未列出?"-->输入root和密码 2 使用快捷键切换到虚拟终端2,使用普通用 ...

  5. Linux文件管理 | Liunx 常用命令

    文件与目录基本操作 目录: 一.显示文件内容 cat 命令 more 命令 less 命令 head 命令 tail 命令 二.文件内容查询(grep) 三.文件查找命令 find 命令 locate ...

  6. Liunx常用命令速查

    线上查询及帮助命令 (2 个) man 查看命令帮助,命令的词典,更复杂的还有 info,但不常用. help 查看 Linux 内置命令的帮助,比如 cd 命令. 文件和目录操作命令 (18 个) ...

  7. kali Liunx常用命令环 档案与目录 6个小时耐心总结

    在我们Linux系统当中,预设的情况下,所有的系统上的帐号与一般身份使用者,还有那个root的相关资讯, 都是记录在/etc/passwd这个档案内的.至于个人的密码则是记录在/etc/shadow这 ...

  8. liunx 常用命令-cut

    linux之cut用法 cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的. (1)其语法格式为: ...

  9. Linux常用命令及使用技巧

    Liunx常用命令 目录管理 clear :清屏 vim /etc/profile 进入系统配置(可配置java环境变量) cd(切换目录) cd目录名(绝对路径都是以 / 开头,相对路径,对于当前目 ...

  10. liunx系统的常用命令【实用】

    -- liunx系统的常用命令! 如何在 Vim 中搜索现有文本内容: 方法一,采用 * 符号 在正常模式(Normal mode)下,按 Shift + 数字8(* 符号),搜索光标所在字符串. 方 ...

最新文章

  1. xcode 4.2 不再支持 Window-Based Application 的解决办法(转载)
  2. 2.3.1 为超参数选择合适的范围
  3. 每周「Paper + Code」清单:句子嵌入,文本表示,图像风格转换
  4. 高效实用的.NET开源项目
  5. Android代码数字证书,有关Android中读取证书
  6. mybatis插入数据后返回自增主键ID详解
  7. 通过ID查询一个用户的两种开发方法
  8. java学习(29):大神指导(巩固练习)
  9. python中空位符_python中空位符_Python之路 - Python - 字符编码 - 期权论坛
  10. 此时无足够的可用内存,无法满足操作的预期要求,可能是由于虚拟地址随便造成的。请稍候重试。 .
  11. maven关联oracle,maven添加oracle jdbc依赖
  12. windows11安装不了怎么回事,电脑如何安装win11
  13. WCF 基础 契约 和 绑定
  14. 菜鸟的mybatis实战教程
  15. openwrt 自动签到插件-食用指南
  16. 计算机网络一、什么是计算机网络
  17. mongolass populate用法
  18. CSS span标签中文字水平垂直对齐
  19. XX is not defined import impor了还是not defined ant design组件import还是not defined
  20. LED驱动程序第一课

热门文章

  1. JS弹出框插件zDialog再次封装
  2. CSS浮动元素的水平居中
  3. C++Primer 学习笔记之关联容器
  4. Cornerstone详细操作
  5. 虚拟机Linux(Centos)上用户密码忘记了怎么办?
  6. vivoz3android版本多少,谁更值得买—荣耀V10 OR vivo Z3
  7. Nginx源码分析 - HTTP模块篇 - TCP连接建立过程(21)
  8. c++ static 关键字总结
  9. 二叉树的遍历_递归实现
  10. 将system.out.println的输出,输出调用类等其他参数的方法