日期:2014-05-16  浏览次数:20714 次

linux学习笔记<1>
1.使.bash_profile直接生效的语句
source .bash_profile
2.安装samba

##########################################################
注意可能由于防火墙原因,你无法连接机器上的samba服务
解决方法 执行 iptables -F
然后关闭防火墙

  首先验证您的机器中是否已经安装samba
  rpm -qa|grep samba,如果出现
  samba-common-2.2.7a-7.9.0
  samba-client-2.2.7a-7.9.0
  samba-2.2.7a-7.9.0
  那么恭喜你,你已经安装好了samba,如果没有以上那些东东,请安装,安装方法很简单,redhatlinux 9.0第一张光盘里就有//cdrom/RedHat/RPMS/

  以下是我的详细安装过程
  把第一张光盘放进光驱,他会自动挂接的,省得自己动手mount了
  #cd /mnt/cdrom/RedHat/RPMS(注意大小写字母,否则会出错的啊)
  #rpm -ivh samba-common-2.2.7a-7.9.0 (这个要先安装,安装的时候不一定要把后面的
  samba-common-2.2.7a-7.9.0全部写完,比如写到samba-c的时候,多按几次Tab键,很省事的哦)
  #rpm -ivh samba-2.2.7a-7.9.0
  #rpm -ivh samba-client-2.2.7a-7.9.0(客户端)
#######################################################
注意这里又是会报安装失败说是缺少perl-c什么东西 你会在该目录下找到改安装文件安装即可
  安装了以上的东西之后,基本上就可以了,但为了配置的方便以及利用REDHAT LINUX9.0新特性,我建议在安装以下两个东东redhat-config-samba-1.0.4-1,samba-swat-2.2.7a-7.9.0。光盘里都有,其中redhat-config-samba-1.0.4-1在第一张光盘里,samba-swat-2.2.7a-7.9.0。在第二张光盘里,安装方法和上面的一样了.
  通过上面的简单介绍,我想你已经安装好了,试验一下
  #rpm -qa|grep samba(这是什么含义应该知道吧,如果不知道,建议先学学LINUX的基本命令)
  redhat-config-samba-1.0.4-1
  samba-common-2.2.7a-7.9.0
  samba-client-2.2.7a-7.9.0
  samba-swat-2.2.7a-7.9.0
  samba-2.2.7a-7.9.0
  OK,安装成功!(建议,以上东西最好自己安装一次,系统上如果装的有,还是先卸载,这样,才能加深印象,如果卸载以后,安装出问题,可能是你没有完全卸载,解决方法要不继续查找卸载,要不强制安装)
4、由最简单的一个例子说起,匿名用户可读可写的实现;

第一步: 更改smb.conf

我们来实现一个最简单的功能,让所有用户可以读写一个Samba 服务器共享的一个文件夹;我们要改动一下smb.conf ;首先您要备份一下smb.conf文件;


[root@localhost ~]# cd /etc/samba
[root@localhost samba]# mv smb.conf smb.confBAK

然后我们来重新创建一个smb.conf文件;




[root@localhost samba]#touch smb.conf




然后我们把下面这段写入smb.conf中;


[global]
workgroup = LinuxSir
netbios name = LinuxSir05
server string = Linux Samba Server TestServer
security = share

[linuxsir]
        path = /opt/linuxsir
        writeable = yes
        browseable = yes
        guest ok = yes



注解:

[global]这段是全局配置,是必段写的。其中有如下的几行;

workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

[linuxsir] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no

guest ok 匿名用户以guest身份是登录;

第二步:建立相应目录并授权;



[root@localhost ~]# mkdir -p /opt/linuxsir
[root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)

[root@localhost ~]# chown -R nobody:nobody /opt/linuxsir



注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;

第三步:启动smbd和nmbd服务器;



[root@localhost ~]# smbd
[root@localhost ~]# nmbd

第四步:查看smbd进程,确认Samba 服务器是否运行起来了;

[root@localhost ~]# pgrep smbd
13564
13568

第五步:访问Samba 服务器的共享;


在Linux 中您可以用下面的命令来访问;

[root@localhost ~]# smbclient -L //LinuxSir05
Password: 注:直接按回车



在Windows中,您可以用下面的办法来访问;


\\LinuxSir05\

5、复杂一点的用户共享模型(适合10人左右的小型企业);
比如一个公司有五个部门,分别是linuxsir,sir01,sir02,sir03,sir04。我们想为这家公司设计一个比较安全的共享文件模型。每个用户都有自己的网络磁盘,sir01到sir04还有共用的网络硬盘;所有用户(包括匿名用户)有一个共享资料库,此库为了安全是只读的;所有的用户(包括匿名用户)要有一个临时文件终转的文件夹... ....
5.1 共享权限设计实现的功能;
1)linuxsir部门具有管理所有SMB空间的权限;
2)sir01到sir04拥有自己的空间,并且除了自身及linuxsir