问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux中samba配置文件怎么配置

发布网友 发布时间:2022-04-20 16:37

我来回答

3个回答

懂视网 时间:2022-04-10 19:42

  • 1、 搭建php-fpm工作方式的LAMP环境,实现wordpress正常访问

    Mysql服务的搭建

  • [root@xiaochen ~]# yum -y install mariadb-server.x86_64
    [root@xiaochen ~]# cat /etc/my.cnf.d/server.cnf 
    #
    # These groups are read by MariaDB server.
    # Use it for options that only the server (but not clients) should see
    #
    # See the examples of server my.cnf files in /usr/share/mysql/
    #
    
    # this is read by the standalone daemon and embedded servers
    [server]
    
    # this is only for the mysqld standalone daemon
    [mysqld]
    
    # this is only for embedded server
    [embedded]
    skip_name_resove=NO
    innodb_file_per_table=NO
    # This group is only read by MariaDB-5.5 servers.
    # If you use the same .cnf file for MariaDB of different versions,
    # use this group for options that older servers don‘t understand
    [mysqld-5.5]
    
    # These two groups are only read by MariaDB servers, not by MySQL.
    # If you use the same .cnf file for MySQL and MariaDB,
    # you can put MariaDB-only options here
    [mariadb]
    
    [mariadb-5.5]
    [root@xiaochen ~]# systemctl start mariadb.service
    [root@xiaochen ~]# ss -tnl
    State Recv-Q Send-Q   Local Address:Port     Peer Address:Port  
    LISTEN 0 128     *:22       *:*   
    LISTEN 0 100    127.0.0.1:25       *:*   
    LISTEN 0 128    192.168.10.10:9000       *:*   
    LISTEN 0 50     *:3306       *:*   
    LISTEN 0 128     :::8080       :::*   
    LISTEN 0 128     :::80       :::*   
    LISTEN 0 128     :::22       :::*   
    LISTEN 0 100     ::1:25 
    [root@xiaochen ~]# mysql_secure_installation
    [root@xiaochen ~]# mysql -uroot -p123456
    MariaDB [(none)]> create database wordpress;
    MariaDB [(none)]> GRANT ALL ON *.* to ‘wordpress‘@‘192.168.10.10‘ IDENTIFIED BY ‘123456‘;
    MariaDB [(none)]> GRANT ALL ON wordpress.* TO ‘wpuser‘@‘192.168.10.10‘ IDENTIFIED BY ‘123456‘;
    MariaDB [(none)]> FLUSH PRIVILEGES;

    Php-fpm服务器的搭建

    [root@xiaochen ~]# yum install -y php-mysql.x86_64 php-fpm php-mbstring
    [root@xiaochen ~]# vi /etc/php-fpm.d/www.conf #修改相关参数
    [root@xiaochen ~]# mkdir -pv /var/lib/php/session
    [root@xiaochen ~]# chown apache:apache /var/lib/php/session/
    [root@xiaochen ~]# systemctl start php-fpm.service
    [root@xiaochen ~]# ss -tnl
    State Recv-Q Send-Q   Local Address:Port     Peer Address:Port  
    LISTEN 0 128     *:22       *:*   
    LISTEN 0 100    127.0.0.1:25       *:*   
    LISTEN 0 128    192.168.10.10:9000       *:*   
    LISTEN 0 50     *:3306       *:*   
    LISTEN 0 128     :::8080       :::*   
    LISTEN 0 128     :::80       :::*   
    LISTEN 0 128     :::22       :::*   
    LISTEN 0 100     ::1:25 

    搭建httpd服务

    [root@xiaochen ~]# yum -y install httpd
    [root@xiaochen ~]# httpd -M | grep fcgi
    proxy_fcgi_module (shared)
    [root@xiaochen ~]# cat /etc/httpd/conf.d/fcgi.conf 
    Listen 8080
    <VirtualHost *:8080>
     DirectoryIndex index.php
     ServerName www.xiaochen.com
     DocumentRoot /var/www/html
     ProxyRequests off
     ProxyPassMatch ^/(.*.php)$ fcgi://192.168.10.10:9000/var/www/html/$1
     ProxyPassMatch ^/(ping|pmstatus)$ fcgi://192.168.10.10:9000/$1
     <Directory "/var/www/html">
      options none
      Allowoverride None
      Require all granted
     </Directory>
    </VirtualHost>

    创建测试文件

    [root@xiaochen ~]# cat /var/www/html/index.php 
    <?php
      phpinfo();
    ?>
    [root@xiaochen ~]# cat /var/www/html/mysql.php 
    <?php
      $conn = mysql_connect(‘192.168.10.10‘,‘wordpress‘,‘123456‘);
      if ($conn)
       echo "Connected to mysql.";
      else
       echo "Fail";
    ?>

    测试访问页面
    技术分享图片

    搭建wordpress

    [root@xiaochen ~]# unzip wordpress-4.9.4-zh_CN.zip -d /var/www/html/

    访问页面
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片

  • 2、什么是DML?常用SQL举例,每个命令至少1个例子,最多不超过3个例子

    DDL(Data Definition Language)是mysql数据库服务器端命令的一种语言类型,表示数据定义语言,主要用于管理数据库组件,例如数据库,表,索引,视图,用户,存储过程等;常用命令有CREATE,ALTER,DROP等;

  • CREATE(创建)
    CREATE DATABASE 创建数据库
    CREATE TABLE 创建表
    CREATE USER 创建用户
  • MariaDB [(none)]> CREATE DATABASE test;
    Query OK, 1 row affected (0.01 sec)
    
    MariaDB [(none)]> use test;
    Database changed
    MariaDB [test]> CREATE TABLE users (id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(60) NOT NULL);
    Query OK, 0 rows affected (0.11 sec)
  • SHOW(查看)
    SHOW CREATE DATABASE 查看创建的数据库
    SHOW CREATE TABLE 查看创建的表
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database  |
    +--------------------+
    | information_schema |
    | mysql  |
    | performance_schema |
    | test  |
    | wordpress  |
    +--------------------+
    5 rows in set (0.00 sec)
    MariaDB [wordpress]> show tables;
    +-----------------------+
    | Tables_in_wordpress |
    +-----------------------+
    | wp_commentmeta |
    | wp_comments  |
    | wp_links  |
    | wp_options  |
    | wp_postmeta  |
    | wp_posts  |
    | wp_term_relationships |
    | wp_term_taxonomy |
    | wp_termmeta  |
    | wp_terms  |
    | wp_usermeta  |
    | wp_users  |
    +-----------------------+
    12 rows in set (0.00 sec)
  • ALTER(修改)
    ALTER DATABASE 修改数据库
    ALTER TABLE 修改表
    MariaDB [(none)]> ALTER DATABASE test CHARACTER SET ‘utf8‘;
    Query OK, 1 row affected (0.00 sec)
    MariaDB [test]> DESC users;
    +-------+---------------------+------+-----+---------+----------------+
    | Field | Type  | Null | Key | Default | Extra  |
    +-------+---------------------+------+-----+---------+----------------+
    | id | tinyint(3) unsigned | NO | PRI | NULL | auto_increment |
    | name | varchar(60)  | NO | | NULL |  |
    +-------+---------------------+------+-----+---------+----------------+
    2 rows in set (0.00 sec)
  • DROP(删除)
    DROP DATABASE 删除数据库
    DROP TABLE 删除表
    DROP USER 删除用户

    MariaDB [(none)]> DROP DATABASE test;
    Query OK, 1 row affected (0.01 sec)
    MariaDB [(none)]> show databases;
    +--------------------+
    | Database  |
    +--------------------+
    | information_schema |
    | mysql  |
    | performance_schema |
    | wordpress  |
    +--------------------+
    4 rows in set (0.00 sec)

    DML(Data Manipulation Language)是mysql数据库服务器端命令的一种语言类型,表示数据操纵语言,主要用于管理表中的数据,实现数据的增删改查等功能,常用命令有INSERT,DELETE,UPDATE,SELECT等;

  • INSERT(增)
    INSERT INTO
    INSERT [INTO] tbl_name[(col1,..)]{VALUES|VALUE}(val1,..),(...),..
  • MariaDB [TEST]> INSERT INTO tbl1(name,gender) VALUES(‘xiaohua‘,‘M‘),(‘Ding Dian‘,‘F‘);
    Query OK, 2 rows affected (0.01 sec)
    Records: 2 Duplicates: 0 Warnings: 0
    
    MariaDB [TEST]> select * from tbl1;
    +----+--------+-----------+
    | id | gender | name |
    +----+--------+-----------+
    | 1 | M | xiaohua |
    | 2 | F | Ding Dian |
    +----+--------+-----------+
    2 rows in set (0.00 sec)
  • SELECT(查)
    SELECT * FROM table_name
    MariaDB [TEST]> select * from tbl1;
    +----+--------+-----------+
    | id | gender | name |
    +----+--------+-----------+
    | 1 | M | xiaohua |
    | 2 | F | Ding Dian |
    +----+--------+-----------+
    2 rows in set (0.00 sec)
  • DELETE(删)
    DELETE FROM table_name [WHERE where_condition]{ORDER BY ...}[LIMIT ROW_COUNT]
    MariaDB [TEST]> DELETE FROM tbl1 WHERE id=2
    -> ;
    Query OK, 1 row affected (0.00 sec)
  • UPDATE(改)
    UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1=value1 [, col_name2=value2] ... [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]
    MariaDB [TEST]> UPDATE tbl1 SET gender=‘F‘ WHERE id=3;
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 0
  • 3、简述ftp的主动和被动模式,并实现基于pam认证的vsftpd

  • 主动模式
    数据传输连接由服务器主动创建,客户端先随机一个端口N,用这端口连接服务器的21端口来完成命令的连接的建立,之后服务器以TCP的20端口主动连接客户端的N+1端口来进行数据传输连接,如下图所示:
    技术分享图片

    被动模式:
    数据传输连接由客户端的某个随机端口去连接服务器的某个端口,命令连接的方式与主动连接方式一致,完成连接之后服务器会告诉客户端连接的端口M,于是客户端的N+1端口连接服务器的M端口来进行数据传输的连接,如下图所示:
    技术分享图片

    Pam认证配置:

    [root@xiaochen ~]# yum -y install vsftpd
    [root@xiaochen ~]# rpm -ql pam | grep so
    /etc/security/console.apps
    /etc/security/console.handlers
    /etc/security/console.perms
    /etc/security/console.perms.d
    /usr/lib64/libpam.so.0
    /usr/lib64/libpam.so.0.83.1
    /usr/lib64/libpam_misc.so.0
    /usr/lib64/libpam_misc.so.0.82.0
    /usr/lib64/libpamc.so.0
    /usr/lib64/libpamc.so.0.82.1
    /usr/lib64/security/pam_access.so
    /usr/lib64/security/pam_chroot.so
    /usr/lib64/security/pam_console.so
    /usr/lib64/security/pam_cracklib.so
    /usr/lib64/security/pam_debug.so
    /usr/lib64/security/pam_deny.so
    /usr/lib64/security/pam_echo.so
    /usr/lib64/security/pam_env.so
    /usr/lib64/security/pam_exec.so
    /usr/lib64/security/pam_faildelay.so
    /usr/lib64/security/pam_faillock.so
    /usr/lib64/security/pam_filter.so
    /usr/lib64/security/pam_ftp.so
    /usr/lib64/security/pam_group.so
    /usr/lib64/security/pam_issue.so
    /usr/lib64/security/pam_keyinit.so
    /usr/lib64/security/pam_lastlog.so
    /usr/lib64/security/pam_limits.so
    /usr/lib64/security/pam_listfile.so
    /usr/lib64/security/pam_localuser.so
    /usr/lib64/security/pam_loginuid.so
    /usr/lib64/security/pam_mail.so
    /usr/lib64/security/pam_mkhomedir.so
    /usr/lib64/security/pam_motd.so
    /usr/lib64/security/pam_namespace.so
    /usr/lib64/security/pam_nologin.so
    /usr/lib64/security/pam_permit.so
    /usr/lib64/security/pam_postgresok.so
    /usr/lib64/security/pam_pwhistory.so
    /usr/lib64/security/pam_rhosts.so
    /usr/lib64/security/pam_rootok.so
    /usr/lib64/security/pam_securetty.so
    /usr/lib64/security/pam_selinux.so
    /usr/lib64/security/pam_selinux_permit.so
    /usr/lib64/security/pam_sepermit.so
    /usr/lib64/security/pam_shells.so
    /usr/lib64/security/pam_stress.so
    /usr/lib64/security/pam_succeed_if.so
    /usr/lib64/security/pam_tally2.so
    /usr/lib64/security/pam_time.so
    /usr/lib64/security/pam_timestamp.so
    /usr/lib64/security/pam_tty_audit.so
    /usr/lib64/security/pam_umask.so
    /usr/lib64/security/pam_unix.so
    /usr/lib64/security/pam_unix_acct.so
    /usr/lib64/security/pam_unix_auth.so
    /usr/lib64/security/pam_unix_passwd.so
    /usr/lib64/security/pam_unix_session.so
    /usr/lib64/security/pam_userdb.so
    /usr/lib64/security/pam_warn.so
    /usr/lib64/security/pam_wheel.so
    /usr/lib64/security/pam_xauth.so
    /usr/sbin/pam_console_apply
    /usr/share/doc/pam-1.1.8/html/sag-see-also.html
    /usr/share/doc/pam-1.1.8/txts/README.pam_console
    /usr/share/doc/pam-1.1.8/txts/README.pam_postgresok
    /usr/share/man/man5/console.apps.5.gz
    /usr/share/man/man5/console.handlers.5.gz
    /usr/share/man/man5/console.perms.5.gz
    /usr/share/man/man8/pam_console.8.gz
    /usr/share/man/man8/pam_console_apply.8.gz
    /usr/share/man/man8/pam_postgresok.8.gz
    /var/run/console
    [root@xiaochen ~]# ls /etc/pam.d/
    chfn  fingerprint-auth passwd  postlogin runuser-l  smtp.postfix sudo-i  systemd-user
    chsh  fingerprint-auth-ac password-auth postlogin-ac smartcard-auth sshd  su-l  vlock
    config-util login  password-auth-ac remote smartcard-auth-ac su  system-auth vmtoolsd
    crond other  polkit-1  runuser smtp  sudo  system-auth-ac vsftpd
    [root@xiaochen ~]# vi /etc/vsftpd/vuser.list
    magedu1
    123456
    magedu2
    987654
    [root@xiaochen ~]# db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.list.db
    [root@xiaochen ~]# chmod 600 /etc/vsftpd/vuser.*
    [root@xiaochen ~]# ll /etc/vsftpd/vuser.*
    -rw-------. 1 root root 30 Dec 4 13:08 /etc/vsftpd/vuser.list
    -rw-------. 1 root root 12288 Dec 4 13:09 /etc/vsftpd/vuser.list.db
    [root@xiaochen ~]# mkdir /var/ftproot
    [root@xiaochen ~]# useradd -d /var/ftproot/ -s /sbin/nologin virtual
    useradd: warning: the home directory already exists.
    Not copying any file from skel directory into it.
    [root@xiaochen ~]# chmod 755 /var/ftproot/
    [root@xiaochen ~]# vi /etc/pam.d/vsftpd
    #%PAM-1.0
    session optional pam_keyinit.so force revoke
    auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
    auth required pam_shells.so
    auth include password-auth
    account include password-auth
    session required pam_loginuid.so
    session include password-auth
    auth required pam_userdb.so db=/etc/vsftpd/vuser
    account required pam_userdb.so db=/etc/vsftpd/vuser
    [root@xiaochen ~]# vi /etc/vsftpd/vsftpd.conf
    anonymous_enable=NO
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES
    guest_enable=YES
    guest_username=virtual
    pam_service_name=vsftpd
    virtual_use_local_privs=YES
    user_config_dir=/etc/vsftpd/vusers_dir
    tcp_wrappers=YES
    [root@xiaochen ~]# mkdir /etc/vsftpd/vusers_dir
    [root@xiaochen ~]# cd /etc/vsftpd/vusers_dir
    [root@xiaochen vusers_dir]# touch magedu1 magedu2
    [root@xiaochen vusers_dir]# vi magedu2
    anon_upload_enable=YES
    anon_mkdir_enable=YES
    [root@xiaochen vusers_dir]# systemctl restart vsftpd
    [root@xiaochen vusers_dir]# vi /etc/sysconfig/selinux
    [root@xiaochen vusers_dir]# setenforce 0
    [root@xiaochen vusers_dir]# getenforce 
    Permissive
    [root@xiaochen vusers_dir]# systemctl stop firewalld
    ##最后测试
    [root@localhost ~]# lftp -u virtual 192.168.10.10
    Password: 
    lftp virtual@192.168.10.10:~>  
  • 4、简述NFS服务原理及配置

    NFS (Network File System)即网络文件系统,它允许网络中的计算机通过TCP/IP网络共享资源。在NFS中,客户端可以透明读写服务器端上的文件,就像访问本地文件一样,通过挂载的方式将服务器的文件挂载到本地,如同本地磁盘一样。
    下图是NFS工作原理图
    技术分享图片
    NFS服务的配置:
    服务器端:

  • [root@xiaochen ~]# yum -y install nfs-utils.x86_64
    [root@xiaochen ~]# yum -y install rpcbind
    [root@xiaochen ~]# mkdir /tmp/test
    [root@xiaochen ~]# vi /etc/exports
    /tmp/test 192.168.10.20(rw,sync,no_root_squash) ##192.168.10.20是客户端地址
    [root@xiaochen ~]# systemctl start nfs rpcbind
    [root@xiaochen ~]# systemctl status nfs rpcbind
    ● nfs-server.service - NFS server and services
     Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
     Active: active (exited) since Tue 2018-12-04 13:49:34 CST; 8s ago
     Process: 4388 ExecStartPost=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl restart gssproxy ; fi (code=exited, status=0/SUCCESS)
     Process: 4371 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
     Process: 4370 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
     Main PID: 4371 (code=exited, status=0/SUCCESS)
     CGroup: /system.slice/nfs-server.service
    
    Dec 04 13:49:34 xiaochen systemd[1]: Starting NFS server and services...
    Dec 04 13:49:34 xiaochen systemd[1]: Started NFS server and services.
    
    ● rpcbind.service - RPC bind service
     Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2018-12-04 13:49:33 CST; 9s ago
     Process: 4340 ExecStart=/sbin/rpcbind -w $RPCBIND_ARGS (code=exited, status=0/SUCCESS)
     Main PID: 4344 (rpcbind)
     CGroup: /system.slice/rpcbind.service
      └─4344 /sbin/rpcbind -w
    
    Dec 04 13:49:33 xiaochen systemd[1]: Starting RPC bind service...
    Dec 04 13:49:33 xiaochen systemd[1]: Started RPC bind service.
    客户端:
    [root@localhost ~]# showmount -e 192.168.10.10
    Export list for 192.168.10.10:
    /tmp/test 192.168.10.20
    [root@localhost ~]# mkdir /tmp/test
    [root@localhost ~]# mount -t nfs 192.168.10.10:/tmp/test /tmp/test
    [root@localhost ~]# mount
    sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
    proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
    devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=490476k,nr_inodes=122619,mode=755)
    securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
    tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
    devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
    tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
    tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
    cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
    pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
    cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
    cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
    cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
    cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
    cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
    cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
    cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
    cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
    cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
    configfs on /sys/kernel/config type configfs (rw,relatime)
    /dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
    selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
    mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
    hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
    debugfs on /sys/kernel/debug type debugfs (rw,relatime)
    /dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
    tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=100136k,mode=700)
    systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
    192.168.10.10:/tmp/test on /tmp/test type nfs4 (rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.10.20,local_lock=none,addr=192.168.10.10)
    [root@localhost ~]# cd /tmp/test
    [root@localhost test]# ls
    [root@localhost test]# vi nfs.txt
    this is a client nfs file
    ##在服务器端进行验证
    [root@xiaochen ~]# cd /tmp/test/
    [root@xiaochen test]# ls
    nfs.txt
    [root@xiaochen test]# cat nfs.txt 
    this is a client nfs file
  • 5、简述samba服务,并实现samba配置

    SMB(Server Messages Block)即服务信息块,是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源,例如在window和linux,windows和unix之间,可以使用samba服务器来解决二者传输问题

  • Samba 配置

    [root@xiaochen ~]# yum -y install samba
    [root@xiaochen ~]# vi /etc/samba/smb.conf
    [homes]
     comment = samba test dir
     path = /tmp/sambatest
     writeable = Yes
     create mask = 0600
     public = Yes
     browseable = No
    [root@xiaochen ~]# systemctl stop firewalld
    [root@xiaochen ~]# systemctl disable firewalld
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    [root@xiaochen ~]# vi /etc/sysconfig/selinux
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    # enforcing - SELinux security policy is enforced.
    # permissive - SELinux prints warnings instead of enforcing.
    # disabled - No SELinux policy is loaded.
    SELINUX=disabled
    # SELINUXTYPE= can take one of three two values:
    # targeted - Targeted processes are protected,
    # minimum - Modification of targeted policy. Only selected processes are protected. 
    # mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    [root@xiaochen ~]# setenforce 0
    [root@xiaochen ~]# mkdir /tmp/sambatest
    [root@xiaochen ~]# useradd smbtest
    [root@xiaochen ~]# smbpasswd -a smbtest
    New SMB password:
    Retype new SMB password:
    [root@xiaochen ~]# groupadd samba
    [root@xiaochen ~]# gpasswd -a smbtest samba
    Adding user smbtest to group samba
    [root@xiaochen ~]# chown :samba /tmp/sambatest/
    [root@xiaochen ~]# chmod g+w /tmp/sambatest/
    [root@xiaochen ~]# ll -d /tmp/sambatest/
    drwxrwxr-x. 2 root samba 6 Dec 4 23:06 /tmp/sambatest/
    [root@xiaochen ~]# systemctl start smb nmb

    最后Windows访问:
    技术分享图片
    技术分享图片

    Linux中LAMP实现、SQL语句及FTP与Samba服务配置

    标签:blog   服务   hand   one   lis   dir   man   ide   数据库   

    热心网友 时间:2022-04-10 16:50

    Samba配置文件常用参数详解

    Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下。
    smb.conf含有多个段,每个段由段名开始,直到下个段名。每个段名放在方括号中间。每段的参数的格式是:名称=指。配置文件中一行一个段名和参数,段名和参数名不分大小写。
    除了[global]段外,所有的段都可以看作是一个共享资源。段名是该共享资源的名字,段里的参数是该共享资源的属性。
    Samba安装好后,使用testparm命令可以测试smb.conf配置是否正确。使用testparm –v命令可以详细的列出smb.conf支持的配置参数。

    全局参数:
    ==================Global Settings ===================
    [global]

    config file = /usr/local/samba/lib/smb.conf.%m
    说明:config file可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件 不存在,则该项无效。这个参数很有用,可以使得samba配置更灵活,可以让一台samba服务器模拟多台不同配置的服务器。比如,你想让PC1(主机名)这台电脑在访问Samba Server时使用它自己的配置文件,那么先在/etc/samba/host/下为PC1配置一个名为smb.conf.pc1的文件,然后在smb.conf中加入:config file = /etc/samba/host/smb.conf.%m。这样当PC1请求连接Samba Server时,smb.conf.%m就被替换成smb.conf.pc1。这样,对于PC1来说,它所使用的Samba服务就是由smb.conf.pc1定义的,而其他机器访问Samba Server则还是应用smb.conf。

    workgroup = WORKGROUP
    说明:设定 Samba Server 所要加入的工作组或者域。

    server string = Samba Server Version %v
    说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。

    netbios name = smbserver
    说明:设置Samba Server的NetBIOS名称。如果不填,则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了。

    interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
    说明:设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址。

    hosts allow = 127. 192.168.1. 192.168.10.1
    说明:表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。hosts deny 与hosts allow 刚好相反。
    例如:hosts allow=172.17.2.EXCEPT172.17.2.50
    表示容许来自172.17.2.*.*的主机连接,但排除172.17.2.50
    hosts allow=172.17.2.0/255.255.0.0
    表示容许来自172.17.2.0/255.255.0.0子网中的所有主机连接
    hosts allow=M1,M2
    表示容许来自M1和M2两台计算机连接
    hosts allow=@xq
    表示容许来自XQ网域的所有计算机连接

    max connections = 0
    说明:max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不*。

    deadtime = 0
    说明:deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接。

    time server = yes/no
    说明:time server用来设置让nmdb成为windows客户端的时间服务器。

    log file = /var/log/samba/log.%m
    说明:设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。如果pc1、pc2访问过Samba Server,就会在/var/log/samba目录下留下log.pc1和log.pc2两个日志文件。

    max log size = 50
    说明:设置Samba Server日志文件的最大容量,单位为kB,0代表不*。

    security = user
    说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。
    1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
    2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
    3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
    4. domain:域安全级别,使用主域控制器(PDC)来完成认证。

    passdb backend = tdbsam
    说明:passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。
    1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实
    用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。
    2.tdbsam:该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户。pdbedit命令的参数很多,我们列出几个主要的。
    pdbedit –a username:新建Samba账户。
    pdbedit –x username:删除Samba账户。
    pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。
    pdbedit –Lv:列出Samba用户列表的详细信息。
    pdbedit –c “[D]” –u username:暂停该Samba用户的账号。
    pdbedit –c “[]” –u username:恢复该Samba用户的账号。
    3.ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”

    encrypt passwords = yes/no
    说明:是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。

    smb passwd file = /etc/samba/smbpasswd
    说明:用来定义samba用户的密码文件。smbpasswd文件如果没有那就要手工新建。

    username map = /etc/samba/smbusers
    说明:用来定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯。

    guest account = nobody
    说明:用来设置guest用户名。

    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    说明:用来设置服务器和客户端之间会话的Socket选项,可以优化传输速度。

    domain master = yes/no
    说明:设置Samba服务器是否要成为网域主浏览器,网域主浏览器可以管理跨子网域的浏览服务。

    local master = yes/no
    说明:local master用来指定Samba Server是否试图成为本地网域主浏览器。如果设为no,则永远不会成为本地网域主浏览器。但是即使设置为yes,也不等于该Samba Server就能成为主浏览器,还需要参加选举。

    preferred master = yes/no
    说明:设置Samba Server一开机就强迫进行主浏览器选举,可以提高Samba Server成为本地网域主浏览器的机会。如果该参数指定为yes时,最好把domain master也指定为yes。使用该参数时要注意:如果在本Samba Server所在的子网有其他的机器(不论是windows NT还是其他Samba Server)也指定为首要主浏览器时,那么这些机器将会因为争夺主浏览器而在网络上大发广播,影响网络性能。
    如果同一个区域内有多台Samba Server,将上面三个参数设定在一台即可。

    os level = 200
    说明:设置samba服务器的os level。该参数决定Samba Server是否有机会成为本地网域的主浏览器。os level从0到255,winNT的os level是32,win95/98的os level是1。Windows 2000的os level是64。如果设置为0,则意味着Samba Server将失去浏览选择。如果想让Samba Server成为PDC,那么将它的os level值设大些。

    domain logons = yes/no
    说明:设置Samba Server是否要做为本地域控制器。主域控制器和备份域控制器都需要开启此项。

    logon . = %u.bat
    说明:当使用者用windows客户端登陆,那么Samba将提供一个登陆档。如果设置成%u.bat,那么就要为每个用户提供一个登陆档。如果人比较多,那就比较麻烦。可以设置成一个具体的文件名,比如start.bat,那么用户登陆后都会去执行start.bat,而不用为每个用户设定一个登陆档了。这个文件要放置在[netlogon]的path设置的目录路径下。

    wins support = yes/no
    说明:设置samba服务器是否提供wins服务。

    wins server = wins服务器IP地址
    说明:设置Samba Server是否使用别的wins服务器提供wins服务。

    wins proxy = yes/no
    说明:设置Samba Server是否开启wins代理服务。

    dns proxy = yes/no
    说明:设置Samba Server是否开启dns代理服务。

    load printers = yes/no
    说明:设置是否在启动Samba时就共享打印机。

    printcap name = cups
    说明:设置共享打印机的配置文件。

    printing = cups
    说明:设置Samba共享打印机的类型。现在支持的打印系统有:bsd, sysv, plp, lprng, aix, hpux, qnx

    共享参数:
    ================== Share Definitions ==================
    [共享名]

    comment = 任意字符串
    说明:comment是对该共享的描述,可以是任意字符串。

    path = 共享目录路径
    说明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes]共享域。例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录,这样path就可以写成:path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写:path = /home/share/%m 。

    browseable = yes/no
    说明:browseable用来指定该共享是否可以浏览。

    writable = yes/no
    说明:writable用来指定该共享路径是否可写。

    available = yes/no
    说明:available用来指定该共享资源是否可用。

    admin users = 该共享的管理者
    说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
    例如:admin users =bobyuan,jane(多个用户中间用逗号隔开)。

    valid users = 允许访问该共享的用户
    说明:valid users用来指定允许访问该共享资源的用户。
    例如:valid users = bobyuan,@bob,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@+组名”表示。)

    invalid users = 禁止访问该共享的用户
    说明:invalid users用来指定不允许访问该共享资源的用户。
    例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)

    write list = 允许写入该共享的用户
    说明:write list用来指定可以在该共享下写入文件的用户。
    例如:write list = bobyuan,@bob

    public = yes/no
    说明:public用来指定该共享是否允许guest账户访问。

    guest ok = yes/no
    说明:意义同“public”。

    几个特殊共享:
    [homes]
    comment = Home Directories
    browseable = no
    writable = yes
    valid users = %S
    ; valid users = MYDOMAIN\%S

    [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = no
    guest ok = no
    writable = no
    printable = yes

    [netlogon]
    comment = Network Logon Service
    path = /var/lib/samba/netlogon
    guest ok = yes
    writable = no
    share modes = no

    [Profiles]
    path = /var/lib/samba/profiles
    browseable = no
    guest ok = yes

    热心网友 时间:2022-04-10 18:08

    那只能重新安装Samba了,samba服务。
    Linux如何配置Samba文件共享linux配置samba

    第一步:安装Samba 您可以使用以下命令在CentOS/RHEL/Fedora系统上安装Samba:sudo yum install samba samba-client samba-common 也可以使用以下命令在Ubuntu/Debian系统上安装Samba :sudo apt install samba samba-client samba-common 第二步:配置Samba Samba的配置文件位于/etc/samba目录中,你可以编辑...

    linux中samba配置文件怎么配置

    比如,你想让PC1(主机名)这台电脑在访问Samba Server时使用它自己的配置文件,那么先在/etc/samba/host/下为PC1配置一个名为smb.conf.pc1的文件,然后在smb.conf中加入:config file = /etc/samba/host/smb.conf.%m。这样当PC1请求连接Samba Server时,smb.conf.%m就被替换成smb.conf.pc1。这样,对于PC1来说...

    linux如何将samba共享文件夹挂载到本地文件夹?

    第一步:安装Samba服务程序 确保你的Linux系统上已安装了Samba服务。在Linux终端输入命令`sudo yum install samba samba-client`,执行安装。第二步:配置共享资源 打开Samba配置文件,通过编辑`/etc/samba/smb.conf`,设置全局和区域参数。创建共享资源时,可以使用`[共享名]`格式定义共享目录。第三步:...

    smb协议如何配置?

    一、安装Samba服务 首先,需要确认系统中是否已安装Samba服务。如果没有安装,可以通过包管理器进行安装。例如,在基于RPM的系统中,可以使用命令`yum -y install samba`来安装Samba服务。二、编辑Samba配置文件 Samba的主配置文件通常是`/etc/samba/smb.conf`。编辑此文件以配置SMB共享。配置文件分为全局...

    怎么在LINUX下配置SAMBA服务器

    在Linux平台,以二进制程序包和源代码两种方式安装samba服务器,并整理相关配置文件,并给出基本应用操作。步骤:1.机器上已经存在的samba服务,版本为3.0.21b,这是通过使用rpm命令得到的。如下:rpm –qa | grep samba Samba-client-3.0.21b-2 Samba-common-3.0.21b-2 2.将上面的samba-client-...

    详解Linux系统中安装配置Samba服务器的步骤

    samba在运行过程中需要用到配置文件smb.conf。smb.conf配置文件是samba最重要的配置文件,该文件定义了samba的安全机制、文件共享和打印共享的目录和参数以及其他一些系统配置功能。配置文件smb.conf的默认路径是/usr/local/samba/lib/smb.conf,我们可以在运行smbd进程时,通过-s选项来执行特定的smb.conf文件(具体说明见...

    linux怎么配置samba服务器

    [root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/tech.smb.conf (2)设置主配置文件smb.conf 配置smb.conf主配置文件,在global节点中添加相应字段,确保samba服务器的主配置文件可以调用独立的用户配置文件和组配置文件。include = /etc/samba/%U.smb.conf表示使samba服务器加载/etc/samba目录下...

    在Red Hat Linux下安装配置Samba

    2 配置Samba 修改samba下smb.conf文件,使用命令cd /etc/samba,并把smb.conf改名为smb.conf.old。使用vi smb.conf创建新的samba配置文件,然后用testparm测试参数是否正确。通过命令ntsysv关闭iptable服务,打开smb服务。输入命令service smb restart重启samba。3 配置网卡 配置IP,使用命令ifconfig检查网卡...

    如何在Linux环境下架设和配置Samba服务器

    1、首先需要登入安装了Linux系统的计算机,安装Samba。Fedora发行版一般使用yum工具安装Samba服务器,可以使用“rpm -q samba”查询Samba服务器是否已经安装,当然,也可以直接使用“yum install samba”安装Samba服务器。如果Samba已经安装,yum会给出提示,否则按照步骤,输入“y”就可以直接下载安装Samba服务...

    linux中安装samba的问题

    [root@server1 Server]# rpm -ivh samba-common-3.0.25b-0.el5.4 [root@server1 Server]# rpm -ivh samba-3.0.25b-0.el5.4[root@server1 Server]# rpm -ivh samba-client-3.0.25b-0.el5.4 (3)用vim打开samba的配置,并对其内相关内容进行编辑和修改[root@server1 Server]# vim...

    linux中smb怎么配置 linux中的samba配置步骤 linux中samba服务器配置 linux配置samba ubuntu samba配置 linux配置samba共享 linux文件共享 samba samba配置文件路径 samba配置文件详解
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    富贵不能淫,英文解析 海信电视为什么没台 海信电视搜完台后有台子然后关机重启后就没有台子了是不会自己选择信号... 我家的海信电视,我按信号源键想调回去但是按错了按到了频道里面随便点了... ...性(要求:器材,步骤,现象,结论)拜托了各位 谢谢 为什么新疆牧区行政区划存在大量分散特征,比如阿勒泰地区一个乡镇... 阿勒泰地区青河县以前的乡镇为什么分为一区和二区呢 阿勒泰历史沿革 hawk的讲解 取个英文名字,大家给点意见吧~ 请高手帮我写出各种网协议的默认端口 linux设置Apache默认页面为samba的共享目录 简述常用的网络服务及提供服务的默认端口 请写出下列服务使用的默认端口:ftp,ssh,telnet,dh... linux平台下如何配置dns解析samba服务器! samba怎么修改445端口? linux访问windows的samba配置,如何配置?详细教程 samba服务器的功能 大家的云服务器能配置好Samba么 如何在win7下修改Windows SMB相关服务的默认端口 linux上的samba服务器端口被修改了,windows上要怎... 网上邻居是用哪个端口通迅的 快手极速版金币一天比一天少而且666金币又成了66金币问为什么? 如题:打印服务器和samba服务器所使用的端口是多少 八月初了为什么注册不了微信? 新用户注册不了? 新手机号怎么注册不了怎么办? 注册不了怎么办? 快手极速版金币怎么越来越少,求解决办法!? 360浏览器下载完成后 提示怎么关闭? linux怎么安装samba服务器 为什么我的极速版快手每天金币跟明细里的金币差很多总会少_问一问 微博超话一天可以发几个帖子 超话怎么开启等级限制 微博超话发帖说互评论屯积分,这种情况超话会被封吗? 最近参与的超话是怎么形成的 为什么我在微博超话里发帖被吞了,按时间排序也找... 赵丽颖超话多少级才能发帖 周九良超话等级多少才可以发帖 微博超话18级(不发帖 不评论)最少需要多久 微博超话等级怎么提升 在微博在超话发帖 视频显示不能超过一分钟,显示手... 为什么快手极速版里的金币一下子丢四百 有梁板工程量计算规则是什么? 谁能说下梁,板,柱的工程量计算规则 现浇钢筋混凝土框架结构的柱、梁、板工程量如何分... 土建模板工程量怎么计算?柱,梁,板,都怎么算?... 有梁板计算方法 如何计算计算梁,板工程量 什么叫有梁板,有梁板的清单工程量计算规则是什么