当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪linux下配置NFS服务      介绍:NFS最早是由Sun公司于1984年开发出来的,其目的就是让不同计算机不同操作系统之间可以彼此共享文件。由于NFS使用起来非常方便,因此很 快得到了大多数的UNIX/Linux系统的广泛支持,而.........
    ▪linux中的.bash_profile、profile、bashrc详解      /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。 /etc/bashrc:为每一个运行bash shell的用户执行此文件..........
    ▪Linux bash与profile文件的比较      登录Linux的console操作环境后,会出现一个提示符号,在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的 Shell 来做处理。 Shell是一个程序,最常.........

[1]linux下配置NFS服务
    来源: 互联网  发布时间: 2013-12-24

介绍:NFS最早是由Sun公司于1984年开发出来的,其目的就是让不同计算机不同操作系统之间可以彼此共享文件。由于NFS使用起来非常方便,因此很 快得到了大多数的UNIX/Linux系统的广泛支持,而且还被IETE(国际互联网工程组)制定为RFC1904、RFC1813和RFC3010标准。

#-------------------------------
使用NFS服务,至少需要启动以下3个系
统守护进程。
(1)rpc.nfsd
(2)rpc.mountd
(3)portmap

NFS服务器端文件系统的共享设置有三种方法
1.直接修改/etc/exports文件
2.用exports命令来增加和删除目录
3.使用图形化的配置方法
NFS客户端配置方法
1.通过mount命令挂载
2.在/etc/fstab中加入条目

exprots文件中每一行提供了一个共享目录的设置,其命令格式为:
<输出目录> [客户端1(选项1,选项2,…)][客户端2(选项1,选项2,…)]
除了输出目录是必选参数外,其他参数都是可选的
注意:格式中的输出目录和客户端之间,客户端与客户端之间都使用空格分隔,但是客户端和选项之间不能有空格

#------------------------------------------------
客户端是指网络中可以访问这个NFS输出目录的计算机,客户端是指定非常灵活,可以是单个主机的IP地址或域名,也可以是某个子网或域中的主机等
客户端常用的指定方式 :
客户端                               说明
192.168.16.20                         指定IP地址的主机
192.168.16.0/24(或192.168.16.*) 指定子网中的所有主机
pc1.gdvcp.net             指定域名的主机
*.gdvcp.net                   指定域中的所有主机
*(或缺省)                         所有主机

选项用来设置输出目录的访问权限,用户映射等,在/etc/exports文件中选项,比较多
一般可以分成3类
(1)访问权限选项
*************
用于控制输出目录访问权限的选项
访问权限选项        说明
ro           设置输出目录只读
rw           设置输出目录可读写

(2)用户映射选项
*************
用户映射选项        说明
all_squash           将远程访问的所有普通用户及所属用户组都映射为匿名用户或用户组(一般均为nfsnobody)
no_all_squash 不将远程访问的所有普通用户及所属用户组都映射为匿名用户或用户组(默认设置)
root_squash 将root用户及所属用户组都映射为匿名用户或用户组(默认设置)
no_root_squash    不将root用户及所属用户组都映射为匿名用户或用户组
anonuid=xxx          将远程访问的所有用户都映射为匿名用户,并指定该匿名用户账户为本地用户账户(UID=xxx)
anongid=xxx 将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx)

(3)常用的其他选项
**************
其他选项比较多,可用于对输出目录进行更全面的控制
其他选项          说明
secure 限制客户端只能从小于1024的TCP/IP端口连接NFS服务器(默认设置)
insecure  允许客户端从大于1024的TCP/IP端口连接NFS服务器
sync 将数据同步写入内存缓冲区与磁盘中,虽然这样做效率较低,但可以保证数据的一致性
async  将数据先保存在内存缓冲区中,必要时才写入磁盘
wdelay    检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可提高效率(默认设置)
no_wdelay     若有写操作则立即执行,应与sync配合使用
subtree_check 若输出目录是一个子目录,则NFS服务器将检查其父目录的权限(默认设置)
no_subtree_check 即使输出目录是一个子目录,NFS服务器也不检查其父目录的权限,这样做可提高效率

一、 安装
[root@localhost init.d]# cd /media/Fedora\ 8\ i386\ DVD/Packages/
[root@localhost Packages]# find . -name "*nfs*"
./nfs-utils-1.1.0-6.fc8.i386.rpm
./nfs-utils-lib-1.1.0-3.fc8.i386.rpm
./system-config-nfs-1.3.32-1.fc8.noarch.rpm
[root@localhost Packages]# find . -name "*portmap*"
系统默认已经安装
[root@localhost Packages]# rpm -q nfs-utils-lib-1.1.0-3.fc8.i386
nfs-utils-lib-1.1.0-3.fc8
[root@localhost Packages]# rpm -q nfs-utils-1.1.0-6.fc8.i386
nfs-utils-1.1.0-6.fc8
[root@localhost etc]# /etc/rc.d/init.d/nfs start
启动 NFS 服务:                                            [确定]
关掉 NFS 配额:                                            [确定]
启动 NFS 守护进程:                                        [确定]
启动 NFS mountd:                                          [确定]
[root@localhost etc]# /etc/rc.d/init.d/nfs stop
关闭 NFS mountd:                                          [确定]
关闭 NFS 守护进程:                                        [确定]
关闭 NFS quotas:                                          [确定]
关闭 NFS 服务:                                            [失败]

二、 配置文件/etc/exports文件
该文件默认为空,没有配置输出任何共享目录,这是基于安全性的考虑,这样即使系统启动NFS服务也不会输出任何共享资源
[root@localhost opt]# cd /
[root@localhost /]# mkdir nfs
[root@localhost /]# cd nfs/
[root@localhost nfs]# mkdir public root users ji
[root@localhost nfs]# ls
ji public root users
[root@localhost nfs]# pwd
/nfs
[root@localhost etc]# vi exports
[root@localhost etc]# more exports
/nfs/public 192.168.1.*(rw,async) *(ro)
/nfs/ji 192.168.1.6(rw,sync)
/nfs/root *.jw.com(ro,no_root_squash)
/nfs/users *.jw.com(rw,insecure,all_squash,sync,no_wdelay)

三、 启动/停止
[root@localhost etc]# /etc/rc.d/init.d/nfs start
启动 NFS 服务:                                            [确定]
关掉 NFS 配额:                                            [确定]
启动 NFS 守护进程:                                        [确定]
启动 NFS mountd:                                          [确定]

[root@localhost etc]# /etc/rc.d/init.d/nfs stop
关闭 NFS mountd:                                          [确定]
关闭 NFS 守护进程:                                        [确定]
关闭 NFS quotas:                                          [确定]
关闭 NFS 服务:                                            [确定]

添加:
1、安装xinetd服务:yum install xinetd
2、关闭防火墙:#/etc/init.d/iptables stop


    
[2]linux中的.bash_profile、profile、bashrc详解
    来源: 互联网  发布时间: 2013-12-24

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置。
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件。

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。
~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的

通常二者设置大致相同,所以通常前者会调用后者。
 

代码如下:

   [yangkai@admin ~]$ cat .
    ./ .bash_history .bash_profile .mozilla/ .Xauthority
    ../ .bash_logout .bashrc .viminfo .zshrc
    [yangkai@admin ~]$ cat .bashrc
    # .bashrc

    # Source global definitions
    if [ -f /etc/bashrc ]; then
        . /etc/bashrc
    fi

    # User specific aliases and functions
    [yangkai@admin ~]$ cat .bash_profile
    # .bash_profile

    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
        . ~/.bashrc
    fi

    # User specific environment and startup programs

    PATH=$PATH:$HOME/bin

    export PATH
    #echo "hello,kaige."
    echo 'hello,kaige!this is 132.'
    sleep 1
    [yangkai@admin ~]$ cat .bash_logout
    # ~/.bash_logout

    /usr/bin/clear
    echo 'bye,kaige!'
    [yangkai@admin ~]$
    [yangkai@admin ~]$ cat /etc/bashrc
    # /etc/bashrc

    # System wide functions and aliases
    # Environment stuff goes in /etc/profile

    # By default, we want this to get set.
    # Even for non-interactive, non-login shells.
    if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
    umask 002
    else
    umask 022
    fi

    # are we an interactive shell?
    if [ "$PS1" ]; then
        case $TERM in
    xterm*)
    if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
    PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
    else
        PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"'
    fi
    ;;
    screen)
    if [ -e /etc/sysconfig/bash-prompt-screen ]; then
    PROMPT_COMMAND=/etc/sysconfig/bash-prompt-screen
    else
    PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\033\\"'
    fi
    ;;
    *)
    [ -e /etc/sysconfig/bash-prompt-default ] && PROMPT_COMMAND=/etc/sysconfig/bash-prompt-default
       ;;
        esac
        # Turn on checkwinsize
        shopt -s checkwinsize
        [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
    fi

    if ! shopt -q login_shell ; then # We're not a login shell
    # Need to redefine pathmunge, it get's undefined at the end of /etc/profile
        pathmunge () {
    if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
    if [ "$2" = "after" ] ; then
    PATH=$PATH:$1
    else
    PATH=$1:$PATH
    fi
    fi
    }

    # Only display echos from profile.d scripts if we are no login shell
        # and interactive - otherwise just process them to set envvars
        for i in /etc/profile.d/*.sh; do
            if [ -r "$i" ]; then
                if [ "$PS1" ]; then
                    . $i
                else
                    . $i >/dev/null 2>&1
                fi
            fi
        done

    unset i
    unset pathmunge
    fi
    # vim:ts=4:sw=4
    [yangkai@admin ~]$


    
[3]Linux bash与profile文件的比较
    来源: 互联网  发布时间: 2013-12-24

登录Linux的console操作环境后,会出现一个提示符号,在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的 Shell 来做处理。

Shell是一个程序,最常用的就是Bash,这也是登录系统默认会使用的Shell。

profile与bashrc都是Shell的启动设置档,角色类似Microsoft DOS/Windows下的autoexec.bat文件,以下就是这二种文件自己个别的文字叙述。

针对个别用户

用户家目录/.bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.

用户家目录/.profile
# ~/.profile: executed by Bourne-compatible login shells.

针对全体用户
/etc/bash.bashrc
# System-wide .bashrc file for interactive bash(1) shells.

/etc/profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))

由以上叙述可以知道,差异在于:

1.bashrc
系统启动后就会自动运行。

2.profile
用户登录后才会运行。

3.进行设置后,可运用source bashrc命令更新bashrc
也可运用source profile命令更新profile

通常我们修改bashrc,有些linux的发行版本不一定有profile这个文件

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
 
~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的
通常二者设置大致相同,所以通常前者会调用后者。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3