搜索

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_
    [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_ 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/lib/libpam.so.0
    /usr/lib/libpam.so.0.83.1
    /usr/lib/libpam_misc.so.0
    /usr/lib/libpam_misc.so.0.82.0
    /usr/lib/libpamc.so.0
    /usr/lib/libpamc.so.0.82.1
    /usr/lib/security/pam_access.so
    /usr/lib/security/pam_chroot.so
    /usr/lib/security/pam_console.so
    /usr/lib/security/pam_cracklib.so
    /usr/lib/security/pam_debug.so
    /usr/lib/security/pam_deny.so
    /usr/lib/security/pam_echo.so
    /usr/lib/security/pam_env.so
    /usr/lib/security/pam_exec.so
    /usr/lib/security/pam_faildelay.so
    /usr/lib/security/pam_faillock.so
    /usr/lib/security/pam_filter.so
    /usr/lib/security/pam_ftp.so
    /usr/lib/security/pam_group.so
    /usr/lib/security/pam_issue.so
    /usr/lib/security/pam_keyinit.so
    /usr/lib/security/pam_lastlog.so
    /usr/lib/security/pam_limits.so
    /usr/lib/security/pam_listfile.so
    /usr/lib/security/pam_localuser.so
    /usr/lib/security/pam_loginuid.so
    /usr/lib/security/pam_mail.so
    /usr/lib/security/pam_mkhomedir.so
    /usr/lib/security/pam_motd.so
    /usr/lib/security/pam_namespace.so
    /usr/lib/security/pam_nologin.so
    /usr/lib/security/pam_permit.so
    /usr/lib/security/pam_postgresok.so
    /usr/lib/security/pam_pwhistory.so
    /usr/lib/security/pam_rhosts.so
    /usr/lib/security/pam_rootok.so
    /usr/lib/security/pam_securetty.so
    /usr/lib/security/pam_selinux.so
    /usr/lib/security/pam_selinux_permit.so
    /usr/lib/security/pam_sepermit.so
    /usr/lib/security/pam_shells.so
    /usr/lib/security/pam_stress.so
    /usr/lib/security/pam_succeed_if.so
    /usr/lib/security/pam_tally2.so
    /usr/lib/security/pam_time.so
    /usr/lib/security/pam_timestamp.so
    /usr/lib/security/pam_tty_audit.so
    /usr/lib/security/pam_umask.so
    /usr/lib/security/pam_unix.so
    /usr/lib/security/pam_unix_acct.so
    /usr/lib/security/pam_unix_auth.so
    /usr/lib/security/pam_unix_passwd.so
    /usr/lib/security/pam_unix_session.so
    /usr/lib/security/pam_userdb.so
    /usr/lib/security/pam_warn.so
    /usr/lib/security/pam_wheel.so
    /usr/lib/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_
    [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,inode,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,inode,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是。如果设置为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服务。
    声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
    E-MAIL:11247931@qq.com
    Top