linux系统入门命令集+四大服务(DHCP、SAMBA、FTP、DNS)
Linux 命令总结
第一章Linux安装及服务控制 1. uname -r //查看linux版本号 2.cat /proc/cpuinfo //查看CPU信息 3.cat /proc/meminfo //查看内存信息 memtotal总容量 memfree空闲容量 swaptotal交换分区总容量 swapfree交换分区空闲容量 4. hostname 计算机名 //修改计算机名 5. bash //刷新用户配置文件 6. ifconfig //查看ip地址、网卡配置信息 7.Shutdown -h now //关机 Poweroff halt init 0 8.shutdow -r now //重新启动 reboot init 6 9.任何命令 --help //显示命令的帮助信息 10. man 命令 //man手册,提供在线帮助 Q退出 11.| //管道符,连续多个命令,前一个命令执行的结果是后面命令的操作对象 12.> //文本重定向,将前一个命令执行后显示的结果,保存到指定的文件中 13. >> //文本双重重定向,追加数据 14. man mkdir | col -b | > /tmp/abc.txt //除去乱码的mkdir的man手册保存在/tmp/abc.txt 15. cd //显示当前路径 目录名 //切换到制定目录 .. //返回上一级目录 / //返回根目录 ~ //返回家目录 回车 //返回家目录 - //返回上一次工作过的工具 16. ls //查看文件名 -l //查看文件详细信息 -a //查看所有文件,包括隐藏文件 目录名 //查看制定目录中的文件名 文件名 //查看指定文件 -h //查看存储单位容量 -lh //查看存储文件下的详细信息 -ldh //查看目录本身详细信息 -lah //查看存储文件下所有文件的详细信息 17.alias //设置简化命令 alias 简化名=”命令语句”
18. du -sh 目录名 //查看目录的空间占用量 19. ? //代替任意一个字母,不能连续出现 20. * //代替任意一组字符 21. mkdir //创建文件 目录名 如:mkdir lpc 目录1 目录2 目录3 …… 如: mkdir 1.txt 2.txt 3.txt -p 目录1/目录2 //同时创建父子目录 如: mkdir -p /lpc/1.txt a{1..100} //连续创建指定数量的文件或目录 如: mkdir a{1..100} 22. touch 文件名 //创建空文件 如: touch 3.txt
23. ln //创建连接文件(快捷方式) -s 源文件的绝对路径/源文件名目标路径/目标文件名 //软连接 如: ln -s /benet/xueyuan/xueyuan.txt /root ln 源文件的绝对路径/源文件名目标路径/目标文件名 //硬连接
24. pwd //查看当前位置 25.cp //复制文件或者目录 cp 源文件的路径/源文件名目标路径/目标文件名 -f //覆盖文件时不给提示 -r //复制目录 -p //复制时保持原有属性和权限 -i //覆盖文件时提醒用户确认
26. rm //删除文件 -r //删除目录 -i //删除文件时提醒用户确认 -f //不给提示,直接删除
27.mv //移动文件,文件改名 mv 源文件的路径/源文件名目标路径/目标文件名 28. which //查找外部命令的程序文件所在位置 which 外部命令如:which ping 29. find //查找文件或目录的所在位置 find 目标目录查找方式文件名 -name //按名称查找,可使用通配符*和? -type //按文件类型查找 -size //按文件大小查找 -user //按所属用户查找 -a //代表“与”并且的意思,多个条件必须全部满足,语句才成立 如:find / -name “ . *”–a -type d -o //代表“或”或者的意思,多个条件中满足任意条件,语句就成立 如:find / -name smb.conf -o –name ifcfg-eth0
30关闭当前防火墙 service 服务名 start开/stop关/restart重启/reload重载/status查状态 如: service iptables stop /etc/init.d/服务名start开/stop关/restart重启/reload重载/status查状态 实际上service后面跟的服务名在/etc/init.d/是以一个文件形式存在,文件名就是服务名 如:/etc/init.d/iptables stop
31关闭防火墙启动项 chkconfig --list——查看所有服务的启动项列表 chkconfig --list 服务名称——查询某个服务的启动信息 如:chkconfig --list iptables iptables 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 iptalbes这个服务在运行级别0,1,6不自动启动,在运行级别2,3,4,5,中自动启动 32更改服务器启动项的方法 chkconfig --level 级别服务名称 on启动/off关闭 如:chkconfig --level 35 iptables off 修改运行级别3和5,iptables这个服务部自动启动 chkconfig iptables off——常用级别全部关闭
33关闭selinux 使用图形化编辑/etc/sysconfig/selinux文件,修改 SELINUX=enforcing为SELINUX=disabled保存退出即可 或者: vim /etc/sysconfig/selinux
|
第二章目录和文件管理
1.cat //显示文件内容,可以同时显示多个文件内容 如: cat /proc/cpuinfo /proc/meminfo 2. more //分页查看文件内容 N查看上一个 n查看下一个 如: more /etc/httpd/conf/httpd.conf 或 ls -lh /etc/ * . conf | more 3. less //分页查看文件内容 N查看上一个 n查看下一个 与more 用法相同,是more的升级版 4. head //查看文件开头的部分内容 -n(具体数字) //指定查看文件开头的多少行内容(默认为十行) 如: head -5 /etc/passwd 5. tail //查看文件末尾的部分内容 -n(具体数字) //指定查看文件开头的多少行内容(默认为十行) 如: tail -6 /etc/passwd 6. wc //统计文件中的单词数量(Word Count)、行数等命令 -c //统计文件中内容的字节数 -l //统计文件中内容的行数 -w //统计文件中内容的单词个数(以空格或制表位作为分隔) 如: ps aux | wc -l 或 wc -l /etc/passwd 7. grep //检索、过滤文件内容 ^a //以a开头 如:grep ^a /etc/httpd/conf/httpd.conf A$ //以a结尾 如:df -hT | grep A$ ^$ //表示空行 如:df -ht | grep ^$
-i //查找内容时忽略大小写 -v //反向查找,即输出与查找条件不相符的行 如:grep -v ^# /etc/httpd/conf/httpd.conf | grep -v ^$ 或: cat /etc/httpd/conf/httpd.conf | grep -v ^# | grep -v ^$ 8. gzip 文件名 //压缩,以.gz为扩展名的文件 如; gzip -9 lpc 9. gunzip 文件名.tar.gz //解压缩以.gz为扩展名的文件 如: gunzip lpc.gz gzip -d //解压缩以.gz为扩展名的文件 如:gzip -d lpc.gz
10. bzip2 //压缩,以.bz2为扩展名的文件 如: bzip2 -9 lpc 11. Bunzip2 //解压缩以.bz2为扩展名的文件 如: bunzip2 lpc.bz2 Bzip2 -d //解压缩以.bz2为扩展名的文件 如: bzip2 -d lpc.bz2
12. tar //对目录和文件进行归档 -c(小写) //创建.tar格式的包文件 -C(大写) //解压时指定释放的目标文件夹 -f(小写) //表示使用归档文件 -j(小写) //调用bzip2程序进行压缩或解压 -p(小写) //打包时保留文件及目录的权限 -P(大写) //打包时保留文件及目录的绝对路径 -t(小写) //列表查看包内的文件 -v(小写) //输出详细信息 -x(小写) //解开.tar格式的包文件 -z(小写) //调用gzip程序进行压缩或解压
(1) 制作压缩包 tar cfz 压缩包的存放位置压缩对象1 压缩对象2 压缩对象3 tar cfj 压缩包的存放位置压缩对象1 压缩对象2 压缩对象3 例句:将/etc/ /bin/ /sbin/以gzip形式打包保存到/root/中起名为s2t115.tar.gz tar cfz /root/s2t115.tar.gz /etc/ /bin/ /sbin/
(2) 解开压缩包 tar xfz 压缩包的存放位置 -C 解压缩的位置 tar xfj 压缩包的存放位置 -C 解压缩的位置 例句:将/root/s2t115.tar.gz解压缩到/benet/目录中 tar xfz /root/s2t115.tar.gz -C /benet/
(3) 查看压缩包内容 tar tfz 压缩包的存放位置 tar tfj 压缩包的存放位置 例句:查看/root/s2t115.tar.gz中包含哪些内容 tar tfz /root/s2t115.tar.gz
13. vi编辑器
vi 文件名字(如果文件已存在则开始编辑修改,如果文件不存在则新建文件) ps:初学者推荐使用vim编辑器,是vi编辑器的升级版,具有语法检测功能(命令敲对了会有提示例如变色)
vi编辑器使用方法
在vi编辑器中分为三种模式 命令模式:所有按键均为快捷键 a:光标后一个插入,i:光标处插入,o:另一行插入 按 a I o 进入输入模式 按:进入末行模式 输入模式:所有按键均为输入信息 ESC退回到命令模式 末行模式:输入一些高级命令,例如另存,置入,保存退出,查找替换等 按ESC 退回到命令模式
(1) vi编辑器“命令模式”常见操作 ★ 光标的移动 gg:光标移动到第一行 G:光标移动到最后一行 数字gg或者数字G:跳转到数字行 显示行号 (末行模式:set nu显示行号)
★ 删除操作 x或者del:删除光标所在位置的单个字符 dd:删除光标所在行 数字dd:删除光标所在行向下数字行,例如15dd:删除光标所在行往下15行
★ 复制操作 yy:复制光标所在行 数字yy:复制光标所在行向下数字行,例如15yy:复制光标所在行往下15行 p:光标处往下黏贴,单次黏贴使用,跟windows的ctrl+v一样 P:光标处往上黏贴,适用于多次黏贴!
★ 其他操作 ZZ:保存退出 u:全文撤销一次 U:光标所在行撤销一次
★ 文章中查找关键字 /关键字:往下文查找关键字 ?关键字:往上文查找关键字 n:跳转到下一处关键字的位置 N:跳转到上一处关键字的位置
(2) 末行模式常见命令 :w——保存 :w 文件名——另存为一个文件名 :wq——保存退出 :q——退出 :q!——强制退出 :e 文件名——用当前编辑器编辑另外一个文件 :r 文件名——将另外一个文件的内容置入到当前文件光标所在行往下。 :sp 文件名——分屏编辑多个文件,切换多个文件的方法按住ctrl再按一下w,左手松开键盘,键盘的↑和↓箭头切换文档。所有命令可以跨文档执行,例如将文档B的信息复制黏贴到文档A内。 ★查找替换 :100,500 s/Server/fuwuqi/g——将100行到500行之间所有的Server替换为fuwuqi,小写g的意思替换整行内容,没有小写g,一行中有4处可替换内容,只替换第一处,就换到下一行了。 :% s/Server/fuwuqi/g——替换全文 :% s/Server/fuwuqi/gc——交互式替换全文
|
第三章安装及管理程序 (1) 查询已安装的 RPM 软件信息 格式:rpm -q[子选项] [软件名] rpm -q: 查看软件包是否安装 rpm–q httpd -qa:查看系统中已安装的所有RPM软件包列表 rpm -qa rpm -qa | wc -l rpm -qa | grep httpd -qi:查看指定软件的详细信息 rpm -qi httpd -ql:查询指定软件包所安装的目录、文件列表 rpm -ql httpd -qc:仅显示指定软件包安装的配置文件 rpm -qc httpd -qd:仅显示指定软件包安装的文档文件 rpm -qd httpd
(2) 查询文件或目录属于哪个 RPM 软件 格式: rpm - qf 文件或目录名 Which vim /usr/bin/vim rpm -qf /usr/bin/vim
(3) 查询未安装的 RPM 包文件 格式: rpm - qp[子选项] rpm包文件 rpm -qpi:通过.rpm包文件查看该软件的详细信息 rpm -qpi tar-1.23-11.el6.x86_64.rpm -qpl:查看.rpm安装包内所包含的目录、文件列表 rpm -qpl tar-1.23-11.el6.x86_64.rpm -qpc:查看.rpm安装包内包含的配置文件列表 rpm -qpc tar-1.23-11.el6.x86_64.rpm -qpd:查看.rpm安装包内包含的文档文件列表 rpm -qpd tar-1.23-11.el6.x86_64.rpm
(4) 安装或升级RPM软件 格式: rpm [选项] rpm包文件 ... 选项 -i:安装一个新的 rpm 软件包 -U:升级某个 rpm 软件,若原本未装,则进行安装 -F:更新某个 rpm 软件,若原本未装,则放弃安装
辅助选项 --force:强制安装所指定的rpm软件包 --nodeps:安装、升级或卸载软件时,忽略依赖关系 -h:以“#”号显示安装的进度 -v:显示安装过程中的详细信息
rpm(常以组合的方式实现) rpm -ivh tar-1.23-11.el6.x86_64.rpm rpm -Uvh tar-1.23-11.el6.x86_64.rpm
(5)卸载指定的RPM软件 格式: rpm -e 软件名 rpm -e tar 或 rpm -e net-tools
(6)重建RPM数据库 rpm --rebuilddb 或 rpm --initdb
导入验证公钥 rpm --import /media/cdrom/RPM-GPG-KEY-redhat-release (7)完整性校验 md5sum校验工具 (计算MD5校验和,并与官方提供的值相比较,判断是否一致) 如: md5sum tar-1.23-11.el6.x86_64.rpm
(8)查看源代码编译工具的版本信息 gcc --version make--version
(9)源代码软件包的编译安装 编译安装实验1:
编译安装apache软件 service httpd start ------启动web服务 使用firefox打开127.0.0.1的页面看到了红色的欢迎页面 (这是rpm版的apache的欢迎页面) 卸载掉rpm版的apache软件 rpm -e httpd --nodeps 然后准备用编译安装apache软件 1.把httpd.tar.gz源代码包拷贝到linux中
2.使用tar软件将包解压缩到规范目录——解包 tar zxf /root/httpd-2.2.15.tar.gz -C /usr/src/
3.使用configure定制编译安装的制定路径——配置 cd /usr/src/httpd-2.2.15/——切换到源代码所在目录 ./configure --prefix=/usr/local/httpd/——配置安装路径
4.将配置好的软件文件编译为二进制——编译 make
5.将编译好的二进制文件安装到系统指定路径 make install
6.验证安装成功 ls /usr/local/httpd/有内容就是安装成功了
7.手动开启编译安装的httpd服务进程 /usr/local/httpd/bin/apachectl start
8.在firefox中再次访问127.0.0.1,看到It works就是成cd功了。
编译安装2: 有打补丁过程的编译安装 把zhcon软件和补丁拽到linux的root目录,然后init 3,切换到纯命令行 1.解包 将安装文件解包到/usr/src目录 rar zxf /root/zhcon-0.2.5.tar.gz -C /usr/src gunzip /root/zhcon-0.2.5-to-0.2.6.diff.gz cp zhcon-0.2.5-to-0.2.6.diff /usr/src/ 2.打补丁 cd /usr/src/zhcon-0.2.5/——切换到安装包所在目录 patch -p1(p壹) < /usr/src/zhcon-0.2.5-to-0.2.6.diff——将升级补丁打进去
3.配置 ./configure --prefix=/usr/local/zhcon
4.编译&&5.编译安装 make && make install
|
第四章账户管理和权限 1.useradd命令 格式: useradd [选项]... 用户名 useradd -d:指定家目录,当不希望家目录在/home/xxx时候,修改家目录需要注意,管理员需要提前将用户家目录的上一级目录创建完成,家目录本身不要用mkdir创建,由useradd命令自动创建 例如希望创建lpc用户,家目录放到/benet/lpc中 (1)错误操作 mkdir /benet/lpc useradd -d /benet/lpc lpc (2)正确操作 mkdir /benet/ useradd –d /benet/lpc lpc
如:修改账户zhangsan家目录为/benet/s2t115源目录/home/zhangsan usermod -d /benet/s2t115 zhangsan 告诉居委会我要搬家 mv /home/zhangsan /benet/s2t115 物理移动 grep zhangsan /etc/passwd查看是否搬家成功
-e:指定账户过期时间格式 -e 2017-11-11 如:useradd -e 2020-11-11 lisi
-g:指定基本组名字或GID 如:useradd –g root zhangsan
-G:指定附加组名字或GID(组需要提前创建好) 如:useradd -G root zhangsan
-M:创建用户时不初始化家目录(创建程序用户需要用) 如:useradd -M mysql
-s:指定用户登录系统时附加什么环境脚本常用的/bin/bash和/sbin/nologin(拒绝本地登录) 如:useradd -s /sbin/nologin mysql
如:创建lisi,指定uid号555,家目录位于/benet/lisi,账户在2020-11-11过期 mkdir /benet先创建目录 useradd -u 555 -d /benet/lisi -e 2020-11-11 lisi ls -a /benet/lisi
如:指定mike的基本组为mike,并加入到ftpuser组,指定主目录为/ftphome/mike 不允许mike通过本地登录服务器 注:对应的基本组、附加组必须存在 useradd -d /ftphome/mike -g mike -G ftpuser -s /sbin/nologin mike
2. passwd命令 (设置用户账户的密码,允许空密码登录,禁用,启用) 格式 : passwd [选项]... 用户名 Passwd
- d:允许空密码登录(默认shadow文件中密码位置为!!,密码位置有!!开头,!开头,*开头均为该账户是禁用的) - l:禁用账户 - u:启用账户 - S:查看账户状态是禁用还是启用
设定密码的方式 Passwd zhangsan 输入密码 123.com 确认输入密码 123.com 修改成功
3.usermod命令 (修改用户属性(useradd只能用户新建用户,后期修改用户属性需要用到这个命令)
格式: usermod [选项]... 用户名 usermod : -l:更改用户帐号的登录名称 -L:锁定用户账户 -U:解锁用户账户 -d -e -g -G-s跟useradd效果一样,用于修改用户属性 如: 修改zhangsan的UID为1983 usermod -u 1983 zhangsan
4.userdel命令 格式: userdel [-r] 用户名 (添加 -r 选项时,表示连用户的宿主目录一并删除) userdel -r 杀人+抄家 如:userdel -r zhangsan ls -ld /home/zhangsan ls: /homezhangsan: 没有那个文件或目录
5. groupadd命令 格式 : groupadd [-g GID] 组账号名 用户组的相关内容 查看组中有哪些用户,查看/etc/group文件 新建组 groupadd -g GID 组名 如: groupadd -g 1500 s2t115
用户加入组的方式 (1)首次用户加入组 gpasswd -M 用户1,用户2,用户3 组名
(2)后期用户加入组 gpasswd -a用户名组名
注意 :-M不能代替-a -a:用户“加入”组!不会影响组内以后成员 -M:更新组成员列表,写谁谁在组里,没写的反而会被踢出组
(3)用户加入的组的各种方法:
先有用户再有组: useradd zhangsan lisi wangwu groupadd -g 1500 s2t115
方法1 gpasswd -M zhangsan ,lisi,wangwu 方法2 gpasswd -a zhangsan gpasswd -a lisi gpasswd -a wangwu 方法3 usermod -G s2t115 zhangsan usermod -G s2t115 lisi usermod -G s2t115 wangwu
先有组再有用户: groupadd -g 1500 s2t115 useradd -G 1500 zhangsan useradd -G 1500 lisi useradd -G 1500 wangwu
6. gpasswd命令 (设置组帐号密码(极少用)、添加/删除组成员) 格式: gpasswd [选项]... 组帐号名
如:删除组成员zhangsan gpasswd -d zhangsan root
7. groupdel命令 格式:groupdel 组帐号名
如:groupdel lpc
8.查询账号信息 id命令 用途:查询用户身份标识 id [用户名]
groups命令 用途:查询用户所属的组 groups [用户名]
users、w 、who命令 用途:查询已登录到主机的用户信息
9.修改权限的方法 方法1 chmod ugoa+-=rwx 目标对象 u:修改属主权限 g:修改属组权限 o:修改其他权限 a:修改所有对象权限 +:增加权限 -:去掉权限 =:刷新权限列表 r,w,x代表3个权限
例如原始文件属性如下 - rw- r-- r--. 1 root root 69K 7月 7 2015 install.log 例句 chmod u+x /root/install.log 结果 - rwx r-- r--. 1 root root 69K 7月 7 2015 install.log 例句 chmod g+wx /root/install.log 结果 - rwx rwx r--. 1 root root 69K 7月 7 2015 install.log 例句 chmod o-r /root/install.log 结果 - rwx rwx ---. 1 root root 69K 7月 7 2015 install.log 例句 chmod a=r /root/install.log 结果 - r-- r-- r--. 1 root root 69K 7月 7 2015 install.log
方法2 用8进制数来表示3个权限 r:4 w:2 x:1 chmod nnn 对象目标 第一个n:属主权限 第二个n:属组权限 第三个n:其他权限
例如原始文件属性如下 - rw- r-- r--. 1 root root 69K 7月 7 2015 install.log 例句 chmod 750 /root/install.log 结果 - rwx r-x ---. 1 root root 69K 7月 7 2015 install.log 例句 chmod 764 /root/install.log 结果 - rwx rw- r--. 1 root root 69K 7月 7 2015 install.log 例句 chmod 777 /root/install.log 结果 - rwx rwx rwx. 1 root root 69K 7月 7 2015 install.log
10.修改对象的属主和属组 chown 主:组对象 chown 主对象 chown :组对象
-R递归修改指定目录下所有文件、子目录的归属 chmod和chown都可以使用这个选项,代表同时修改子对象权限(类似windows的强制继承)
例 - rwx rwx rwx. 1 root root 69K 7月 7 2015 install.log
chown zhangsan:lisi /root/install.log - rwx rwx rwx. 1 zhangsan lisi 69K 7月 7 2015 install.log
chown :lisi /root/install.log - rwx rwx rwx. 1 root lisi 69K 7月 7 2015 install.log
chown zhangsan /root/install.log - rwx rwx rwx. 1 zhangsan root 69K 7月 7 2015 install.log
|
第五章磁盘和文件系统管理(一)
fdisk命令: 1.fdisk -l查看所有的磁盘分区信息 2.fdisk -l[磁盘设备]查看一块磁盘的分区信息 如: fdisk - l /dev/sdb 查看SCSI的第二块磁盘 3. fdisk命令在交互式的操作环境中管理磁盘分区 格式:fdisk [磁盘设备] m:查看操作指令的帮助信息 p:列表查看分区信息 n:新建分区 d:删除分区 t:变更分区类型(修改ID号)
如:fdisk /dev/sdb t →1(/dev/sdb1分区号)→b(ID)→w 修改兼容Windows的分区ID号(fat32)
t →3(/dev/sdb3分区号)→86(ID)→w 修改兼容Windows的分区的ID号(NTFS)
t →2(/dev/sdb2分区号)→82(ID)→w 修改swap交换分区的ID号(Linux)
t →2(/dev/sdb2分区号)→83(ID)→w 修改ext4分区的ID号(Linux)
w:保存分区设置并退出 q:放弃分区设置并退出
如:一块1G的硬盘,分一个100M的主分区,再分一个200M的主分区,分一个700M的扩展分区,在扩展分区中分一个200M的逻辑分区,再把剩余空间分到另一个逻辑分区。
分区的过程: fdisk /dev/sdb n→p→1→回车→+100M回车 n→p→2→回车→+200M回车 n→e→3→回车→回车 n→l→回车→+200M回车 n→l→回车→回车 w保存退出
4.创建文件系统 mkfs命令Make Filesystem,创建文件系统(格式化)
格式:mkfs -t 文件系统类型分区设备
(1)ls /sbin/mkfs*查询与mkfs相关的文件
/sbin/mkfs /sbin/mkfs.ext2 /sbin/mkfs.msdos /sbin/mkfs.cramfs /sbin/mkfs.ext3 /sbin/mkfs.vfat
(2)创建ext4文件系统(格式化ext4文件系统)makefilesystem 如:mkfs -t ext4 /dev/sdb1 或:mkfs.ext4 /dev/sdb1
(3)创建fat32文件系统 (格式化为fat32文件系统) 如:mkfs -t vfat -F 32 /dev/sdb2 或:mkfs.vfat -F 32 /dev/sdb2
(4)创建swap交换文件系统(格式化swap文件系统) mkswap 命令(make swap) 格式:mkswap分区设备 如: mkswap /dev/sdb5格式化swap文件系统
swapon /dev/sdb5启用新增加的交换分区
swapoff/dev/sdb5停用指定的交换分区
grep Swap /proc/meminfo查看swap文件系统的摘要信息
5.挂载、卸载文件系统 mount命令挂载文件系统、ISO镜像到指定文件夹 格式:mount 存储设备挂载点目录
1.普通挂载 如:将sdb1和sdb6分别挂载到wendang和dianying目录 mkdir /wendang /dianying创建挂载目录
mount /dev/sdb1 /wendang/ 将/dev/sdb1挂载到/wendang/目录下
mount /dev/sdb6 /dianying/ 将/dev/sdb6挂载到/dianying/目录下
2.光盘挂载 挂载的另外用途: (设备在没有自动挂载的情况下,也需要mount命令才可以 访问他们,例如光驱)
mkdir /media/cdrom创建光盘的挂载目录 mount /dev/cdrom /media/cdrom 挂载光盘设备/dev/cdrom/到/media/cdrom/下
3. 挂载直接下载的ISO镜像文件 格式:mount -o loop ISO镜像文件挂载点目录 如: mkdir /media/image创建挂载目录 mount -o loop /root/JINHU-SYSTOOL-2012.ISO /media/image
4. mount查看挂载情况
6. umount命令卸载已挂载的文件系统 格式:(1)umount 存储设备位置 如: umount /dev/sdb1 通过设备文件卸载
(2)umount 挂载点目录 (经常使用) 如:umount /benet/s2t115 通过挂载目录卸载
7. 设置文件系统的自动挂载 mount的配置文件在/etc/fstab ,包含需要开机后自动挂载的文件系统记录 cat /etc/fstab 查看配置文件的内容 vim /etc/fstab用vim编辑器编辑配置文件
永久挂载文件系统的方法:(只要开机自动挂载) 修改/etc/fstab文件,在最下面一行输入如下信息 vim /etc/fstab
挂在设备 挂载目录文件系统类型 属性自检和自动备份控制位 /dev/sdb1 /wendang ext4 defaults 0 0 /dev/sdb6 /dianying ext4 defaults 00
如:用vim进入配置文件,然后按照上边格式在最后一行进行编辑即可
8. 查看磁盘使用情况 df命令 格式:df [选项] [文件] 如:df -hT——查看各个分区的磁盘占用情况
df -hT | grep sdb1 ——过滤一个分区的磁盘占用情况
mount ——查看所有挂载信息
|
第六章磁盘和文件系统管理(二)
1.建立PV与PV的查询 PV Pvcreate: 将物理分区建成PV 格式:pvcreate 磁盘分区 如:pvcreate /dev/sdb1 /dev/sdc1
Pvscan:搜索当前系统里任何具有PV的磁盘 如: pvscan Pvdisplay:显示当前系统的PV状态 如: pvdisplay Pvremove:将PV属性删除,让该分区不具有PV属性 如:pvremove /dev/sdb1
2.开始创建VG vgcreate: 建立VG 如:vgcreate s2t115vg /dev/sdb1 /dev/sdc1
vgscan:搜索系统上面是否有VG存在 如:vgscan
vgdisplay:显示当前系统上的VG状态 如:vgdisplay
vgextend:在VG内增加额外的pv 格式:vgextend vg名称 pv名称 如:vgextend s2t115vg /dev/sdd1
vgreduce:在VG中删除pv 格式:vgreduce vg名称 pv1名称… 如:vgreduce s2t115vg /dev/sdb1
vgremove:删除一个VG 如:vgremove s2t115vg
3.与lv相关的命令 (注意:卷组完整名称是/dev/卷组名/逻辑卷名) lvcreate: 建立lv 格式:lvcreate -l PE数量 -n 逻辑卷名卷组名 如:lvcreate -l 500 -n lpclv s2t115vg lvcreate -L 容量 -n 逻辑卷名卷组名 如:lvcreate -L 100M -n lpclv s2t115vg
lvscan:查询系统上的lv 如:lvscan lvdisplay:显示系统上的lv状态 如: lvdisplay lvresize:在lv里增加容量 格式:lvresize -L 空间大小/dev/卷组名/逻辑卷名 如:lvresize -L +1024M /dev/t115vg/t115lv lvresize -L PE数量/dev/卷组名/逻辑卷名 lvresize -l +500 /dev/t115vg/t115lv
lvreduce:在lv里减少容量 如:格式:lvreduce -L 空间大小/dev/卷组名/逻辑卷名 如: lvreduce -L -1024M /dev/t115vg/t115lv lvreduce -L PE数量/dev/卷组名/逻辑卷名 lvreduce -l -500 /dev/t115vg/t115lv
lvremove:删除一个lv 如:lvremove lpclv
4.刷新lv的分区容量 格式:resize2fs -f /dev/卷组名/逻辑卷名 选项 -f 强制进行resize操作 如:resize2fs /dev/s2t115vg/lpclv
5.完整的实验 一 . 新建lvm 逻辑卷 (物理磁盘→pv阶段→vg阶段→lv阶段→格式化→挂载) (1)创建分区 格式:fdisk 磁盘 如: fdisk /dev/sdb n—p—1—回车—回车 //将一块磁盘创建一个分区
更改分区ID值为lvm 格式: fdisk 磁盘 如: fdisk /dev/sdb t—8e—w
(2)pv阶段(将物理分区转为物理卷) pvcreate /dev/sdb1 /dev/sdc1 pvscan (3)vg阶段(将物理卷整合为一个卷组) vgcreate s2t115vg /dev/sdb1 /dev/sdc1 vgdisplay
(4) lv阶段(在卷组中设置逻辑卷) lvcreate -l 500 -n lpclvs2t115vg lvdisplay
(5)格式化(将逻辑卷格式化创建文件系统) mkfs -t/dev/s2t115vg/lpclv
(6)挂载(将创建好的逻辑卷进行挂载) mkdir /ftproot mount /dev/t115vg/t115lv /ftproot
二.扩展逻辑卷
(1)将扩展硬盘分区,修改ID号为8e (2)pv阶段 (3)vg扩展阶段 vgextend t115vg /dev/sdd1 (4)lv扩展阶段 lvresize -L +1024M /dev/s2t115vg/lpclv lvresize -l +500 /dev/s2t115vg/lpclv (5)刷新lv的分区容量 resize2fs /dev/s2t115vg/lpclv
6.磁盘配额 (1)让你的磁盘分区支持配额 (添加 usrquota、grpquota 挂载参数) 1)已经挂载分区,且不想重启系统 mount -o remount,usrquota,grpquota /dev/t115vg/t115lv /ftproot 2)之前没有挂载,不想重启系统 mount -o usrquota,grpquota /dev/t115vg/t115lv /ftproot 3)永久挂载支持配额,重启生效 vim /etc/fstab 在defaults变成defaults,usrquota,grpquota 4)验证 mount | grep /ftproot 看到(rw,usrquota,grpquota)即可 (2)在支持配额的分区下生成配额表文件 (使用 quotacheck 命令创建配额文件) 格式:quotacheck -ugcv /dev/t115vg/t115lv 没有指定–a 时,必须指定一个分区 quotacheck -augcv 选项: -u、-g:检测用户、组配额 -c:创建配额数据文件 -v:显示执行过程信息 -a:检测所有可用的分区 如:quotacheck -augcv 验证: ls /ftproot/看到两个配额表文件即可
(3)创建测试用户,修改目录权限 Useradd zhangsan passwd zhangsan chmod 777 /ftproot
(4)编辑用户和组帐号的配额设置 格式:edquota -u 用户名 edquota-g 组名 如:为用户zhangsan编辑配额表 edquota -u zhangsan 会进入一个vi编辑器
(5)启用、关闭文件系统的配额功能 quotaon -ugv /ftproot/ //启用 quotaoff-ugv /ftproot/ //关闭 (6)验证配额功能 切换张三用户,去目录创建6个文件 su -l zhangsan cd /ftproot/ touch 11 22 33 44 55 touch 66
(7)查看配额使用情况 quota -u zhangsan //以zhangsan用户为基础,查看zhangsan在各个分区的配额情况 repquota–a //以分区为基础,查看这个分区上各个用户的配额情况
|
第七章进程个计划任务管理
1.查看进程信息 (1) ps 查看静态的进程统计信息 格式: ps aux ps -elf 选项:a 显示当前终端下的所有进程信息,包括其他用户信息 u 以用户为主的格式显示进程信息 x 显示当前用户在所有终端下的进程信息
(2)top命令查看动态的进程排名信息 格式:top
top界面中的相关操作: P cpu占用情况排序 M 内存占用情况排序 q 退出 K 输入PID ,回车可以结束进程
(3)pgrep命令专门查询进程 PID 信息 格式:pgrep -l 进程名 选项:-l显示进程名 如: pgrep -l crond -U 指定特定用户 -t 指定终端 如:pgrep -l -U teacher -t tty1
(4)pstree命令以树形结构列出进程信息 格式:pstree -aup pstree -ap zhangsan 选项:-a显示完整信息 -u列出对应用户名 -p列出对应PID号
(5)后台启动:在命令行尾加入“&”符号 如:cp /dev/cdrom /lpc.iso&
2.进程的前后台调度 (1)Ctrl+Z 组合键 将当前进程挂起,即调入后台并停止执行
(2)jobs -l 查看处于后台的任务列表
(3)fg 1(后台编号) 将后台进程恢复到前台运行,可指定任务序号
(4)bg 1(后台编号) 将后台编号所属的挂起的进程继续在后台执行
3.终止进程的运行 (1)Ctrl+C 组合键 中断正在执行的命令
(2)kill、killall 命令 kill 用于终止指定PID号的进程 killall 用于终止指定名称的所有进程 选项: -9 用于强制终止 如: pgrep -l crond kill -9 2869 killall -9 vim
(3)pkill命令根据特定条件终止相应的进程 选项:-U 根据进程所属的用户名终止相应进程 -t 根据进程所在的终端终止相应进程 如:pgrep –l -U zhangsan pkill -9 -U zhangsan
4一次性计划任务 at命令 格式: at 14:55 2014-05-05 at>输入要执行的命令 按Ctrl+D键提交任务
atq 查看未执行的任务列表
atrm 2(任务序列号) 删除第2条任务
5 周期性计划任务 crontab 命令 (如果是root用户给其他用户设置计划任务是可以用-u指定用户名) (1)编辑计划任务 crontab -e [-u 用户名]
(2)查看计划任务 crontab -I [-u 用户名]
(3)删除计划任务 crontab -r [-u 用户名]
(4)编辑任务表是的特殊符号:
* 表示该范围内的任意时间 , 表示间隔的多个不连续时间点 _ 表示一个连续的时间范围 / 指定间隔的时间频率 应用示例 0 17 * * 1-5 周一到周五每天17:00 30 8 * * 1,3,5 每周一、三、五的8点30分 0 8-18/2 * * * 8点到18点之间每2小时 0 * */3 * * 每3天
注:在设置命令的时候,要先用which查出命令字的绝对路径来,然后在表里以绝对路径加命令语句进行设置 |
第八章分析和排查系统故障
1.日志消息级别: 0 emerg (紧急) 会导致主机系统不可用的情况 1 alert (警告)必须马上采取措施来解决 2 crit (严重) 比较严重的情况 3 err (错误) 运行出现的错误 4 warning (提醒) 可能会影响系统功能 5 notlce (注意) 不会影响系统但值得注意 6 info (信息) 一般信息 7 debug (调试) 程序或系统调试信息
2.用户日志的分析工具
user who w 显示当前登录的用户信息
last 显示登陆成功的用户信息
lastb 显示登陆失败的用户信息
3.程序日志的分=分析工具
grep awk sed 检索三剑客
4.修复MBR 扇区故障
(1)新加一块硬盘 分区:n——p——1——回车——回车 格式化: mkfs -t ext4 /dev/sdb1 创建挂载目录: mkdir /benet 挂载: mount /dev/sdb1 /benet
(2)备份MBR扇区数据 dd if=/dev/sda of=/benet/sda.mbr.bak bs=512 count=1
(3)模拟扇区故障 dd if=/dev/zero of=/dev/sda bs=512 count=1
(4)链接镜像,将镜像挂到指定位置,然后重新启动(reboot) 虚拟机——设置——CD/CVD(SATA)——已连接——浏览添加镜像 重启reboot
(5)重新启动后进入急救模式,用光盘里的系统加入内存,然后启动修复MBR
Rescue installed system——ok——ok——no——coutinue——ok——ok——bash-4.1# (6)重新启动后,以前磁盘上的东西都没有了,包括挂载目录也没有了。
(7)创建一个新的挂载目录,/s2t115 重新挂载 mkdir /s2t115 mount /dev/sdb1 /s2t115 ls (8)恢复MBR扇区
dd if=/s2t115/sda.mbr.bak of=/dev/sda bs=512 count=1
(9)重启
5. 修复GRUB引导故障
(1) cat /boot/grub/grub.conf
(2)查看到内容的最后三行,做备份(每台计算机的都不一样),重新启动 root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=1f87848f-b307-4130-ac6c-b272545bddab rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-431.el6.x86_64.img
(3)将备份的三行文本分三次输入并执行,然后输入boot继续引导,
boot 继续引导
6.修改root用户的密码
在重启的界面按任何键进入急救模式,然后按e ,选中第二行继续按e ,接着在打开的界面输入single 或 s 或 1 ,然后输入b, 进入单用户模式, 最后输入passwd root ,设置密码重新启动即可
7.修改文件系统
(1)模拟破坏/dev/sda /磁盘分区, 然后重新启动 dd if=/dev/zero of=/dev/sdb bs=512 count=4
(2)检测能否挂载该分区,挂载失败 mkdir /benet mount /dev/sdb1 /benet
(4)对 /dev/sda 分区进行修复
fsck -y -t ext4 /dev/sdb1
(5)再次挂载,可以了 mount /dev/sdb1 /benet
8. 查看 i 节点耗尽
df -i /挂载目录
9.检测磁盘坏道
badblocks -sv /dev/sdb -s 显示进度信息 -v 显示详情
10. /dev/zero -----白洞里面存放的都是垃圾 /dev/mull ------黑洞到黑洞的东西都会消失,可以粉碎文件用 |
第九章 Linux基础网络设置
(1)ifconfig 格式:ifconfig 查看所有活动网络接口 ifconfig网络接口名(eth0)查看一块网卡的的信息
(2)ifconfig设置网络接口的ip地址、子网掩码 格式: 1.ifconfig eth0 192.168.3.1
2.ifconfig 接口名ip地址netmask 子网掩码 如:ifconfig eth0 192.168.3.1 netmask 255.255.255.0
3.ifconfig 网络接口 ip地址/掩码长度 如:ifconfig eth0 192.168.3.1/24
(3)ifconfig 设置虚拟网络接口
格式:ifconfig 接口名:序号 IP地址 如: ifconfig eth0:1 192.168.3.1 ifconfig eth0:2 192.168.3.2
(4)ifconfig 禁用或者重新激活网卡
格式: ifconfig 网络接口 up ifconfig 网络接口 down
如: ifconfig eth0 up ifconfig eth0 down
(5)禁用、启用网络接口
ifup eth0 启用 ifdown eth0 禁用
2. hostname命令
hostname查看或设置当前主机名 hostname 主机名称修改主机名 bash刷新bash环境
3. netstat查看系统的网络连接状态、路由表、接口统计等信息
格式:netstat [选项] 选项: -a:显示所有活动连接 -n:以数字形式显示 -p:显示进程信息 -t:查看 TCP 协议相关信息 -u:查看UDP协议相关信息 -r:显示路由表信息
如:netstat -anpu | grep ":67" netstat -anpt | grep
4.ping 测试网络连通性
格式:ping [选项] 目标主机 选项: -s 数据包大小 -f 极限测试 -i 发送周期 -c 数据包个数
5.route命令
(1)route查看路由表条目 (2)route—n 查看或设置主机中路由表信息
(3)route 添加和删除静态的路由条目
route add -net 目标网段 gw 下一跳IP 如: route add -net 192.168.3.0/24 gw 192.168.4.254 route add -net 目标网段 如:route del -net 192.168.3.0/24
(4)添加和删除网关
route eth0 default gw 192.168.1.254 route eth0 default gw 192.168.1.254
6.traceroute路由跟踪 测试从当前主机到目的主机之间经过的网络节点
格式:traceroute 目标主机地址 如:traceroute 202.106.0.20
7.nslookup测试DNS域名解析
格式 : nslookup 目标主机地址 DNS服务器地址
如:nslookupwww.google.com 或: nslookup 192.168.1.1 或:nslookupwww.baidu.com 8.8.8.8 让谷歌解析百度的IP
8. 网络接口配置文件(IP 子网掩码网关 DNS) (1)vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE——设备名 BOOTPROTO ——IP地址的获取方式(静态static或者dhcp) HWADDR ——MAC地址 ONBOOT ——开机启动 IPADDR ——IP地址 NETMASK-----子网掩码 BROADCAST-----广播地址 NETWORK-------网段 GATEWAY-----网关 DNS1=首选dns : wq (2)重启服务生效
service network restart
9.主机名称配置文件(设置主机名)
vim /etc/sysconfig/network
NETWORKING=yes HOSTNAME=www.benet.com
10 .域名解析配置文件(保存本机使用的DNS服务器的IP)
vim/etc/resolv.conf
search localdomain nameserver 202.106.0.20 nameserver 202.106.148.1
11.DHCP的主配置文件
(1) vim /etc/dhcp/dhcpd.conf
subnet 192.168.3.0netmask 255.255.255.0{ range192.168.3.100 192.168.3.200; option domain-name-servers 202.106.0.20; option domain-name "internal.example.org"; option routers192.168.3.254; option broadcast-address 192.168.3.255; default-lease-time 600; max-lease-time 7200; }
dhcp服务的重启 service dhcpd restart 或/etc/rc.d/init.d/dhcpd restart
(2)保留 vim /etc/dhcp/dhcpd.conf host lpc {保留的名称 hardware ethernet 00:c0:c3:22:46:81;指定对应主机的 MAC 地址 fixed-address192.168.3.250;指定为该主机保留的 IP 地址 }
dhcp服务的重启 service dhcpd restart 或/etc/rc.d/init.d/dhcpd restart
12.查看DHCP服务器的租约文件 /var/lib/dhcpd/dhcpd.lease
less /var/lib/dhcpd/dhcpd.leases
13.客户端获取和释放IP
首先将网卡的配置文件改为自动获取(dhcp) dhclient 为除了回环接口以外的所有接口获取ip,自动调动后台运行
dhclient -d eth0 -d 在前台运行
dhclient -d eth0 -r 释放IP |
第十章 Samba文件共享服务
1.netstat -anput | grep smb ——监听smb服务是否开启
2.grep -v # /etc/samba/smb.conf | grep -v ^; | grep -v ^$ ——查看smb.conf 配置文件中的有效字段
3.testparm ——检索smb.conf配置文件的正确性
4.实验:
实验一【可匿名访问的共享】 现在需要将/benet/目录进行共享,要求每个人都可以只读形式访问。
实验步骤:
前期准备 (1)首先配置配置IP地址, ifconfig eth0 192.168.3.1 ifconfig (2)挂载镜像, mkdir /media/cdrom mount /dev/cdrom /media/cdrom (3)然后安装samba 主软件包 cd /media/ cdrom RHEL_6.5\ x86_64\ Disc\ 1/Packages/
rpm -ivh samba-3.6.9-164.el6.x86_64.rpm
(4)创建共享目录 mkdir /benet/ touch /benet/1.txt /benet/2.txt
正式开始:
vim /etc/samba/smb.conf
[global]——全局配置 security =share——共享级别 passdb backend = tdbsam——共享账户文件的类型
2.在配置文件最底端输入
[benet-share]——共享名 path=/benet/——共享目录的本地路径 public=yes或者guest ok=yes ——是否所有人可以访问 read only=yes或者writable=yes ——是否拥有写入权限 :wq——保存退出
3.重启服务 service smb start service nmb start
4.验证
实验二【需用户验证的访问共享】 我们将/zhang/目录共享,要求zhangsan用户和lisi用户以及root组都可以访问,并且zhangsan用户和root组可以写入
实验步骤:
ifconfig eth0 192.168.3.1——设置临时IP ifconfig——查看IP
mkdir /media/cdrom——创建挂载点 mount /dev/cdrom /media/cdrom ——挂载镜像
cd /media/ cdrom/RHEL_6.5\ x86_64\ Disc\ 1/Packages/ ——切换目录 rpm -ivh samba-3.6.9-164.el6.x86_64.rpm ——安装软件包
useradd zhangsan useradd lisi useradd wangwu——创建账户 gpasswd -a wangwu root——用户加入组
mkdir /zhang——创建目录 chmod 777 /zhang——修改目录权限
vim /etc/samba/smb.conf [global]——全局配置 security =share——共享级别 passdb backend = tdbsam——共享账户文件的类型
[Z]——共享名 path=/zhang/——共享目录的本地路径 public=no——是否所有人可以访问 read only=yes——是否拥有写入权限 valid users=zhangsan,lisi,@root——哪些人可以访问 write list=zhangsan,@root——哪些人可以写入
(1)pdbedit -a -u zhangsan ——将zhansan用户添加为samba用户 pdbedit -a -u lisi ——从samba用户中添加lisi用户 pdbedit -a -u wangwu ——从samba用户中添加wangwu用户
(2)pdbedit -L ——列出所有Samba用户
(3)pdbedit -vL zhangsan——显示vina用户的详细信息
(4)pdbedit -x -u zhangsan ——删除共享用户zhangsan
4.重启服务 service smb restart service nmb restart
5.用客户机访问samba验证权限 客户机配置: 同网段IP,网络适配器一个LAN区段,UNC路径访问,如:\\192.168.3.1
实验三【需用户验证的访问共享——综合实验】
实验需求: 公司有技术部,财务部,销售部,经理,4个部门目录需要共享,共享权限要求如下:
6.权限分配图:
实验步骤:
前期准备:
1)首先配置配置IP地址, ifconfig eth0 192.168.3.1 ifconfig (2)挂载镜像, mkdir /media/cdrom mount /dev/cdrom /media/cdrom (3)然后安装samba 主软件包 cd /media/ cdrom RHEL_6.5\ x86_64\ Disc\ 1/Packages/
rpm -ivh samba-3.6.9-164.el6.x86_64.rpm
1.创建组,组里添加用户 groupadd -g 1500 jishuzu groupadd xiaoshouzu groupadd caiwuzu——创建组 tail -3 /etc/group——查看组
useradd -G jishuzu js01 useradd -G jishuzu jszg useradd -G caiwuzu cw01 useradd -G caiwuzu cwzg useradd -G xiaoshouzu xs01 useradd -G xiaoshouzu xszg——组里添加用户
useradd jingli——创建用户
mkdir /jishubu /caiwubu /xiaoshoubu/jingli ——创建共享目录 ls /——查看创建的目录
chmod777 /xiaoshoubu/ /caiwubu/ /jishubu/ /jingli/ ——给共享目录设置权限 ll /——查看设置的权限
vim /etc/samba/smb.conf ——编辑Samba的配置文件
[global]——全局配置
security =user——共享级别 passdb backend = tdbsam——共享账户文件的类型
[js]——共享名 path=/jishubu/——共享目录的本地路径 public=no ——是否所有人可以访问 read only=yes——是否拥有写入权限 valid users=@jishuzu,@xiaoshouzu,jingli,root——哪些人可以访问 write list=jszg,jingli,root——哪些人可以写入 [cw] path=/caiwubu/ public=no read only=yes valid users=@caiwuzu,jingli,root write list=cwzg,jingli,root [xs] path=/xiaoshoubu/ public=no read only=yes valid users=@jishuzu,@xiaoshouzu,jingli,root write list=xszg,root,jingli [jingli] path=/jingli/ public=no read only=yes valid users=root,jingli write list=root,jingli
service smb restart service nmb restart
pdbedit -a -u jingli——添加系统用户为Samba用户 new password:——设置Samba专属密码 retype new password:
pdbedit -a -u js01 new password: retype new password:
pdbedit -a -u jszg new password: retype new password:
pdbedit -a -u cw01 new password: retype new password:
pdbedit -a -u cwzg new password: retype new password:
pdbedit -a -u xs01 new password: retype new password:
pdbedit -a -u xszg new password: retype new password:
pdbedit -a -u root new password: retype new password:
net use * /del ——断开连接
客户机配置: 同网段IP,网络适配器一个LAN区段,UNC路径访问,如:\\192.168.3.1
实验四【用户映射——别名】
1.修改/etc/samba/smbusers 格式:真名 =别名别名
jingli=ergou haha
2.修改/etc/samba/smb.conf,在全局配置下添加
[global]——全局配置 username map=/etc/samba/smbusers——别名地址
3. 重新启动服务 service smb restart service nmb restart
4.客户机验证
实验五【主机地址访问限制】
主机访问过滤
[global]——全局配置 hosts allow=192.168.3.1 192.168.3.2 192.168.3.23 ——仅允许 或者: hosts deny=192.168.3.1 ——仅拒绝
实验六【使用smbclient访问共享文件夹】
smbclient -L 192.168.3.1/目标主机名 -U ——查询目标主机的共享资源
smbclient //192.168.3.1/benet/ ——登录并访问共享文件夹(匿名)
smbclient -U zhangsan //192.168.3.1/benet/ -U lisi ——登录并访问共享文件夹(需验证的共享)
smb:\> ls ——查看列表 pwd ——查看当前路径 get或 mget ——上传 put 或 mput——下载 ?或help——在线帮助 quit——退出
实验七【使用mount 挂载共享目录】
mkdir /media/smbguazai ——创建挂载目录 mount -o username=zhangsan //192.168.3.1/benet/ /media/smbguazai ——挂载
|
第十一章 FTP 文件传输服务
实验一 匿名访问: 要求:开启匿名访问,并且开启某文件夹的写入权限 1.设置IP地址,挂载镜像,安装vsftpd服务(软件包) vim /etc/sysconfig/network-scripts/ifcfg-eth0 或者:ifconfig eth0 192.168.3.1
mkdir /media/cdrom mount /dev/cdrom /media/cdrom
cd /media/ cdrom RHEL_6.5\ x86_64\ Disc\ 1/Packages/
rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
2.修改/var/ftp/pub/的属主(匿名访问的FTP的默认的根目录) chown ftp /var/ftp/pub ll /var/ftp/ 3.修改主配置文件vsftpd.conf客户机匿名登录 vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES默认开启 anon_upload_enable=YES本来就有,去掉注释即可 ——上传文件 anon_mkdir_write_enable=YES本来就有,去掉注释即可 ——上传目录 anon_other_write_enable=YES需要手动添加, ——修改删除
4.重启服务,验证/var/ftp/pub/中匿名用户有了修改权限 service vsftpd restart
实验二 本地用户访问 需求:本地用户访问的vsftpd,直接开启服务,useradd添加用户,passwd设置用户密码然后可以验证访问了。
实验步骤: 1.新建用户zhangsan ,lisi ,在zhangsan家目录中创建zhangsan.txt测试文件 useradd zhangsan passwd 123.com useradd lisi passwd 123.com
touch /home /zhangansan/zhangsan.txt
2.修改/etc/vsftpd/user_list ,添加zhangsan,为了效果可以删除其他的用户 vim /etc/vsftpd/user_list 9999dd (从用户开始) zhangsan
3.在/etc/vsftpd/vsftpd.conf 配置文件的最后,添加一行 userlist_deny=NO ,启动白名单,只有位于user_list文件中的用户才可以登录ftp服务器。
vim /etc/vsftpd/vsftpd.conf pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES userlist_deny=NO (最后一行)
4.使用zhangsan和lisi分别验证(注意如果希望匿名继续访问,还需要添加anonymous和ftp)
实验三 vsftpd 虚拟用户 实验步骤:
1.确认vsfptd和db4-utils是否安装 rpm -q vsftpd vsftpd-2.2.2-11.el6_4.1.x86_64 rpm -q db4-utils db4-utils-4.7.25-18.el6_4.x86_64
2.手动创建用户认证文件。 vim /etc/vsftpd/vusers.list——奇数行用户名,偶数行密码
vim /etc/vsftpd/vusers.list zhangsan 123.com lisi 123.com :wq
3.将手写的普通文件转化为数据库文件 cd /etc/vsftpd db_load -T -t hash -f vusers.list vusers.db 多了一个文件 vusers.db
4.为了增强安全性,回收一些用户数据库文件的权限(跟实验结果无关)
chmod 600/etc/vsftpd/vusers.* ll /etc/vsftpd/
5.创建虚拟用户使用的真实映射用户(也就是说虚拟用户是以某个真实用户的身份登录的ftp)
useradd -d /var/ftproot/ -s /sbin/nologin lpc(用户名未必叫lpc) tail -1/etc/passwd lpc:x:500:500::/var/ftproot/:/sbin/nologin
6.修改/var/ftproot/目录的权限 chmod 755 /var/ftproot ll /var
7.手敲PAM认证文件(创建一个虚拟用户的认证文件,告诉系统当FTP虚拟用户登录的时候,我应该去哪个数据库里找到相应的登录凭证) vim /etc/pam.d/vsftpd.vu #%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/vusers account required pam_userdb.so db=/etc/vsftpd/vusers :wq
8. 在vsftpd.conf中启用虚拟用户 在文件最下面 pam_service_name=vsftpd.vu guest_enable=YES guest_username=lpc userlist_enable=YES tcp_wrappers=YES
启动服务 service vsftpd start
9. 阶段1验证:在/var/ftproot/中新建几个文件,测试虚拟用户访问FTP 存在问题:zhangsan和lisi访问都看到同样的目录,那么没必要创建虚拟用户,并且zhangsan和lisi对这个目录都没有权限。
首先在/var/ftproot/创建测试文件lpc.txt touch /var/ftproot/lpc.txt
10.为虚拟用户设置权限,虚拟用户的权限是跟着anon匿名权限走的! vim /etc/vsftpd/vsftpd.conf anon_upload_enable=YES(原本存在,去掉注释即可)
11.阶段2验证:赋予匿名用户上传文件(虚拟用户权限用的就是匿名权限)的权限后发现zhangsan和lisi同时继承了主配置文件vsftpd.conf中的权限
结果:zhangsan 和 lisi 都可以上传文件了
12. 为虚拟用户创建独立的权限配置文件,实现zhangsan可以读取,上传文件,上传目录,修改删除,lisi可读取,可以上传文件,可上传目录,不可以修改删除
(1)首先人为创建存放独立配置文件的目录 mkdir /etc/vsftpd/vusers_dir(名称可以自拟,在vsftpd中一样就行)
(2)其次在vsftpd主配置文件中声明个人配置的目录在哪 vim /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/vusers_dir
(3)最后在刚才的目录中创建用户的独立配置文件 1. mkdir /zhangsan/zs -p touch /zhangsan/zs/zhangsan.txt vim /etc/vsftpd/vusers_dir/zhangsan anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/zhangsan/zs
2.mkdir /lisi/ls/ -p touch /lisi/ls/lisi.txt vim /etc/vsftpd/vusers_dir/lisi anon_mkdir_write_enable=YES local_root=/lisi/ls
重启服务 service vsftpd restart
13.阶段3验证:zhangsan和lisi拥有不同的权限。拥有不同的家目录. 结果: zhangsan可以读取,上传文件,上传目录,修改删除, lisi可读取,可以上传文件,可上传目录,不可以修改删除 |
第十二章 DNS 域名解析服务
部署DNS服务器:
1.配置IP地址,安装DNS相关软件包:bind——libs , bind——9.8.2,bind——utils
cd /media/RHEL_6.5\ x86_64\ Disc\ 1/Packages/ rpm -ivh bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
2.修改主配置文件(/etc/named.conf)
vim /etc/named.conf 将文件中的 listen-on port 53 { 127.0.0.1; }; allow-query { localhost; }; 修改为 listen-on port 53 { any; }; allow-query { any; };
3.在区域配置文件中声明benet.com和accp.com两个正向查找区域和3.168.192.arpa一个反向查找区域 (可以在主配置文件声明也可以在/etc/named.rfc1912.zones文件中声明)
vim/etc/named.rfc1912.zones 复制如下5行作为《正向》声明的样板 zone "localhost.localdomain" IN { type master; file "named.localhost"; allow-update { none; }; }; 修改为 zone "benet.com" IN { type master; file "benet.com.zone"; allow-update { none; }; }; zone "accp.com" IN { type master; file "accp.com.zone"; allow-update { none; }; }; 复制如下5行作为《反向》声明的样板 zone "1.0.0.127.in-addr.arpa" IN { type master; file "named.loopback"; allow-update { none; }; }; 修改为 zone "3.168.192.in-addr.arpa" IN { type master; file "3.168.192.arpa.zone"; allow-update { none; }; }; 4.人为创建区域数据库文件
cd /var/named cp -pnamed.localhost benet.com.zone cp -p named.localhost accp.com.zone cp -p named.loopback 3.168.192.arpa.zone
5.开始修改区域数据库
vim benet.com.zone 修改 TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 为 TTL 86400 @ IN SOA benet.com. tang.163.com. ( 2017080801 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns1.benet.com. ns1 IN A 192.168.3.1 www IN A 123.123.123.123 ftp IN A 1.1.1.1 * IN A 8.8.8.8
accp.com.zone数据库同benet.com.zone数据库,不再列举
6.制作反向区域的区域数据库文件
vim 3.168.192.arpa.zone 修改 $TTL 86400 @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 AAAA ::1 PTR localhost.
为 $TTL 1D @ IN SOA s2t115.com. tang.163.com. ( 2017080801 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns1.s2t115.com. ns1 IN A 192.168.3.1 1 IN PTR gjjlin.bjnet.s2t115.com.
7.开启DNS服务
service named start
8.检测配置文件的语法
named-checkconf ——检测主配置文件的语法 named-checkzone 区域区域数据库 named-checkzone benet.com benet.com.zone ——检测区域文件的语法
9.验证 客户机配置:设置同网段的IP,然后首选DNS指向Linux服务器,设置LAN段
10.设置vsftpd的解析
(1) 安装vsftpd软件包,
rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
(2)创建登录FTP 的本地登录用户,且设置密码,并在zhangsan目录中创建测试文件
useradd zhangsan passwd zhangsan touch /home/zhangsan/zhangsan.txt
(3)开启vsftpd服务
service vsftpd start
(4)在区域数据库里添加vsftpd的解析
TTL 86400 @ IN SOA benet.com. tang.163.com. ( 2017080801 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns1.benet.com. ns1 IN A 192.168.3.1 www IN A 123.123.123.123 ftp IN A 192.168.3.1 * IN A 8.8.8.8
(5)客户机验证
|