文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux下Samba服务器的应用与入门命令

Linux下Samba服务器的应用与入门命令

时间:2007-05-27  来源:wenjiech

1.man 对你熟悉或不熟悉的命令提供帮助解释
  eg:man ls 就可以查看ls相关的用法
  注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行

  2.ls 查看目录或者文件的属*,列举出任一目录下面的文件
  eg: ls /usr/man
  ls -l
  a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link)
  b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x).

  3.cp 拷贝文件
  eg: cp filename1 filename2 //把filename1拷贝成filename2
  cp 1.c netseek/2.c //将1.c拷到netseek目录下命名为2.c

  4.rm 删除文件和目录

  eg: rm 1.c //将1.c这个文件删除

  5.mv 移走目录或者改文件名
  eg: mv filename1 filename2 //将filename1 改名为filename2
  mv qib.tgz ../qib.tgz //移到上一级目录

  6.cd 改变当前目录 pwd 查看当前所在目录完整路径
  eg: pwd //查看当前所在目录路径
  cd netseek //进入netseek这个目录
  cd //退出当前目录 

    7.cat,more命令
  将某个文件的内容显示出来.两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示
  eg; cat>1.c //就可以把代码粘帖到1.c文件里,按ctrl+d 保存代码。
  cat 1.c 或more 1.c //都可以查看里面的内容。
  gcc -o 1 1.c //将1.c编译成.exe文件,我们可以用此命编译出代码

  8.chmod 命令 权限修改 用法:chmod 一位8进制数 filename
  eg: chmod u+x filenmame //只想给自己运行,别人只能读
  //u表示文件主人, g 表示文件文件所在组. o 表示其他人 ;r 表可读,w 表可写,x 表可以运行
  chmod g+x filename //同组的人来执行

  9. clear,date命令 
    clear:清屏,相当与DOS下的cls;date:显示当前时间.

  10.mount 加载一个硬件设备
  用法:mount [参数] 要加载的设备 载入点
  eg: mount /dev/cdrom
  cd /mnt/cdrom //进入光盘目录

  11.su 在不退出登陆的情况下,切换到另外一个人的身份
  用法: su -l 用户名(如果用户名缺省,则切换到root状态)
  eg:su -l netseek (切换到netseek这个用户,将提示输入密码)

  12.whoami,whereis,which,id
  //whoami:确认自己身份.
  //whereis:查询命令所在目录以及帮助文档所在目录.
  //which:查询该命令所在目录(类似whereis)
  //id:打印出自己的UID以及GID.(UID:用户身份唯一标识.GID:用户组身份唯一标识.每一个用户只能有一个唯一的UID和 GID)
  eg: whoami //显示你自已登陆的用户名
  whereis bin 显示bin所在的目录, 将显示为:/usr/local/bin
  which bin

  13. grep,find 
    grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索
  eg: grep success *   /*查找当前目录下面所有文件里面含有success字符的文件

  14.kill 可以杀死某个正在进行或者已经是dest状态的进程
  eg; ps ax

  15.passwd 可以设置口令

  16.history 用户用过的命令
  eg: history //可以显示用户过去使用的命令

  17.!! 执行最近一次的命令

  18.mkdir命令
  eg: mkdir netseek //创建netseek这个目录

  19.tar 解压命令
  eg: tar -zxvf nmap-3.45.tgz //将这个解压到nmap-3.45这个目录里

  20.finger 可以让使用者查询一些其他使用者的资料
  eg: finger //查看所用用户的使用资料
  finger root //查看root的资料
    1、安装

Samba server需要用到三个软件包,即:samba服务器软件包、samba-client (samba客户端工具)、samba-common(通用工具和库)。由于我这个做实验的fedora在安装时只安装了development tools,所以这里会存 在一个软件的依存关系,需要先安装一个rpmdb的软件包(rpmdb是解决软件安装储 存关系的数据库),才可以继续安装samba的软件包。插入第三张光盘,挂载,并cd到Fedora/RPMS路径 ls | grep rpmdb 列出当前包括rpmdb的rpm包,即下面的rpmdb-fedora-2- 0.20040513.i386.rpm rpm -ivh rpmdb-fedora-2-0.20040513.i386.rpm /*这个软件处在fedora的第三 张光盘Fedora/RPMS里*/ rpm -ivh --aid samba*.rpm /*安装samba软件包,samba*.rpm处于fedora的第一 张光盘Fedora/RPMS里,--aid是与前面安装rpmdb一起对应使用的,初始安装 samba软件包时匆必需要*/ rpm -qa |grep samba /*用rpm查询当前安装了的包含samba的文件,-ql中的 q=query,a=all */ rpm -ql samba-3.0.3-5 rpm -ql samba-client-3.0.3-5 rpm -ql samba-common-3.0.3-5 /*检查samba软件包的内容,-ql中 q=query,l=list*/

2、介绍几个常用的samba工具

smbtree 显示局域网中的所有共享主机和目录列表 smbclient 显示/登录局域网中的共享主机/目录用法:smbclient -L -N win2000 /*匿名登录win2000这台机器,-N表示匿名,-L 表示对共享目录的列表*/ smbclient //win2000/share -U username%password /*用username和password这 个smb用户及口令登录win2000这台机器下的一个share目录,用这个工具登录成功 后会出现smb: \>提示符,这里提二个该状态下的命令:put、get,跟unix/linux 下的ftp命令类似,注意的是put后必须跟二个参数,如: smb:\>put /root/install.log install.log,即不但指定上传本地的某个文件,还需要指定 上传到另一台机器的参数,这里后面的install.log即是上传到另一台机器时后的 名称*/ smbmount //win2000/share /mnt -o username=username%password /*将远程共 享目录挂载到本地,注意完成后使用umount取消挂载*/

3、samba服务器的配置

samba服务器的配置文件是smb.conf,位于/etc/samba/smb.conf 大家得注意里面的几个常用改动参数,[global]里的workgroup、security 下面来看一个samba配置文件里如何设置一个share vi /etc/samba/smb.conf 在[gobal]里进行一些修改 workgroup = workgroup security = share 然后按shift+g(vi下的用法,即到该文件的末尾)到达smb.conf文件的最后,新 建一个共享 [sharedocs] comment = share documents /*标注文档类型*/ path = /usr/share/doc /*指定共享路径*/ public = yes /*确定发布共享*/ 保存退出(这里会用到vi的相关指令,大家可进行相关vi的使用方法),然后重 启samba服务 service smb restart 用smbclient -L localhost进行samba服务器的测试

4、samba用户帐号

添加samba用户,须添加一个系统帐号,然后再加入samba帐户 useradd redhat /*增加redhat用户*/ smbpasswd -a redhat /*直接为redhat帐户添加smb服务密码,-a参数为增加smb用 户,-x为删除smb用户*/ 下面来看一个共享目录设置有效用户的例子:在/etc/samba/smb.conf中添加一个共享目录
[redhat] comment = redhat 's files path = /var/redhat public = no valid users = tom @redhat /*设定有效用户为tom或者是redhat组的用户*/ 
保存退出,重启smb服务这里有必要提到samba用户帐户映射这具概念,出于帐号安全考虑,为防止samba 用户通过samba帐号来猜测系统用户的信息,所以,就出现了 samba用户映射,如 ,将上面的tom帐户映射成其他的名称,然后用其他的名称如jack、rhood都可以 登录,其权限及登录密码都与tom一样。实现帐户映射的方法:先在/etc/samba/smb.conf中的帐户映射服务打开,方法很 简单,找到username map = /etc//samba/smbusers这一行,将其前面的;去掉即 可(linux中;表示关闭,#表示注释,注意与freebsd中的#号概念区别开来),然 后修改/etc/samba/smbusers vi /etc/samba/smbusers 在里面添加一行 tom = jack rhood 保存退出,重启smb服务,然后就可以用jack及rhood登录redhat共享目录,其权 限及登录密码与tom完全一致。

5、samba服务器的权限设定

我们用一个samba的配置文件的例子来说明这个问题
[redhat] comment = redhat 's files path = /var/redhat public = no valid = tom @redhat /*有效用户*/ write list = tom @redhat /*具有写权限的用户*/ create mask = 0660 /*能够创建文件的权限,这里是660,即rw-rw----权限,即 属主和同组人有可读可写权限*/ directory mask = 0660 /*对目录的控制权限,这里亦是660权限*/ 
[补充一下权限方面知识:r=读,八进制中是4 w=写,八进制代码是2 x=执行,八 进制代码是1,在上面的rw-rw----中,9个字符划为三份,前三个字符为文件属主 的权限(即rw-,可读可写),中间三个字符为同组人的权限(rw-,可读可写), 后面则是其他人的权限(---,不可读不可写不可执行),换成八进制,r+w+- =2+1+0=6 ,所以构成了mask = 0660 之类的格式,至于770,775之类的权限,大 家可以自行去想了]

6、举例

场景:tom和jack为sales组的成员,rhood和joeys是技术部的成员,公司要求组 建samba服务器,每个人都有自己的samba帐户,分别有sales组和tech二个组,各 组成员不得跨组访问,不给成员分配shell 分析后的所需做的工作为:
1、为所有用户建立samba帐号 2、建sales和tech二个组,并为组分配权限 3、为所有成员设定不分配shell 4、将各自的文件共享出来 操作: groupadd sales /*建组sales*/ groupadd tech useradd -g sales -s /bin/false tom /*将tom加入sales组(-g sales),并不分 配shell权限(-s /bin/false) */ useradd -g sales -s /bin/false jack smbpasswd -a tom smbpasswd -a jack useradd -g tech -s /bin/false rhood useradd -g tech -s /bin/false joeys smbpasswd -a rhood smbpasswd -a joeys mkdir /home/sales /home/tech /*分别为sales和tech建立目录*/ chgrp sales /home/sales /*改变目录的属主*/ chgrp tech /home/tech chmod 770 /home/sales /*改变目录的权限,为rwxrwx---*/ chmod 770 /hoem/tech chmod g+s /home/sales /*为目录增加进程属主, 这一操作是为了确保该目录永 远地属于属主*/ chmod g+s /home/tech ls -ld /home/sales /home/tech /*查看目录的权限*/ 然后编辑samba的配置文件,将目录共享出来 vi /etc/samba/smb.conf 先将[global]里的security安全级别设为user security = share 然后按shift+g到配置文件的末尾设置目录的共享 [sales] comment = sales path = /home/sales public = no valid users = @sales write list = @sales create mask = 0770 directory mask = 0770 [tech] comment = tech path = /home/tech public = no valid users = @tech write list = @tech create mask = 0770 directory mask = 0770 保存退出 用tail -f /etc/samba/smb.conf 来确认一下刚才修改的配置 确认正确,然后重启smb服务 service smb restart
 
相关阅读 更多 +
排行榜 更多 +
匿名爱人游戏

匿名爱人游戏

冒险解谜 下载
魔方仆从冲刺

魔方仆从冲刺

休闲益智 下载
跑山越野摩托

跑山越野摩托

体育竞技 下载