Press "Enter" to skip to content

Category: Linux运维

Linux,unix,mysql,database,oracle,mysql

Samba访问控制(高级权限设置)

Samba的访问控制通过hosts allow、hosts deny两个参数实现。

在Samba中使用hosts allow、hosts deny参数时,该参数可以出现在全局配置部分,用于允许或拒绝可连接到Samba服务器的客户端,也可以出现在具体的共享目录配置中用于允许或拒绝可访问该目录的客户端。如果在全局配置部分的hosts allow、hosts deny优先级与具体共享目录的配置发生冲突时会怎么样呢?通过Samba的工作过程不难看出Samba客户端首先要可以连接到Samba服务器,才能访问其共享目录,所有全局配置部分的hosts allow、hosts deny优先级与具体共享目录的配置发生冲突时使用以下规则:

1,全局配置中hosts deny指定客户端,此时无法访问Samba服务器任何共享目录;
2,全局配置中hosts allow指定客户端,分以下几种情况
(1):如具体共享目录中只指定了hosts deny且与全局配置不冲突时,客户端可以访问具体共享目录。
(2):如具体共享目录中只指定了hosts allow且是全局配置的子集时,只有具体共享目录中指定的客户端可以访问。
(3):如具体共享目录中既指定了hosts allow又指定了hosts deny时,会优先考虑hosts allow,其实再考虑hosts deny,因为在Samba中hosts allow比hosts deny优先级要高

以下是一些范例。

1,使用IP地址控制

#不允许IP地址为192.168.0.20的客户端访问Samba服务器上的smbtest目录
[smbtest]
   path = /test
   hosts deny = 192.168.0.20

#只允许IP地址为192.168.0.25的客户端访问Samba服务器上的smbtest目录
[smbtest]
   path = /test
   hosts allow = 192.168.0.25

#下例中,IP地址为192.168.0.99的客户端是可以访问Samba服务器上的smbtest目录的
#因为在Samba中hosts allow比hosts deny优先级要高
[smbtest]
   path = /test
   hosts allow = 192.168.0.99
   hosts deny = 192.168.0.99
Leave a Comment

SVN从Windows迁移至Linux

将多个SVN从一台Windows服务器, 迁移到Linux系统的过程, 记录一下, 本文的Linux版本为CentOS 6 64bit.

1,在Windows上导出SVN信息

svnadmin dump D:\SVN\NDS_BJ > D:\svnbak\NDS_BJ.bak
svnadmin dump D:\SVN\NDS_EVO > D:\svnbak\NDS_EVO.bak
svnadmin dump D:\SVN\NDS_FDC > D:\svnbak\NDS_FDC.bak

提示:
1, dump命令会导出每个版本的详细信息,保证了之前的历史信息不会丢失.
2, 该命令仅会导出版本信息,不会导出配置及用户名等信息,因此还需要单独备份conf目录.

2,在CentOS 6系统上安装配置SVN

yum install subversion
mkdir /data/svn
svnserve -d -r /data/svn/  #启动SVN,监听端口为3690
echo 'svnserve -d -r /data/svn/' >> /etc/rc.local

killall svnserve           #关闭SVN

初始化repository(项目库)

svnadmin create /data/svn/NDS_BJ    #建立repository

vim /data/svn/NDS_BJ/conf/svnserve.conf
取消如下几行的注释:
anon-access=none或者anon-access=read
auth-access=write
password-db=passwd
authz-db = authz

注意,取消注释时,要把每项前面的空格也删掉,否则客户端连接的时候会报出svnserve.conf:12: Option expected的错误.

Leave a Comment

磁盘性能测试工具IOzone入门介绍

IOzone是一个文件系统测试基准工具。和IOmeter一样,IOzone可以测试不同的操作系统中文件系统的读写性能。下面是简单介绍。

测试的定义

Write: 测试向一个新文件写入的性能。当一个新文件被写入时,不仅仅是那些文件中的数据需要被存储,还包括那些用于定位数据存储在存储介质的具体位置的额外信息。这些额外信息被称作“元数据”。它包括目录信息,所分配的空间和一些与该文件有关但又并非该文件所含数据的其他数据。拜这些额外信息所赐,Write的性能通常会比Re-write的性能低。

Re-write:测试向一个已存在的文件写入的性能。当一个已存在的文件被写入时,所需工作量较少,因为此时元数据已经存在。Re-write的性能通常比Write的性能高。

Read: 测试读一个已存在的文件的性能。

Re-Read: 测试读一个最近读过的文件的性能。Re-Read性能会高些,因为操作系统通常会缓存最近读过的文件数据。这个缓存可以被用于读以提高性能。

Random Read: 测试读一个文件中的随机偏移量的性能。许多因素可能影响这种情况下的系统性能,例如:操作系统缓存的大小,磁盘数量,寻道延迟和其他。

Random Write: 测试写一个文件中的随机偏移量的性能。同样,许多因素可能影响这种情况下的系统性能,例如:操作系统缓存的大小,磁盘数量,寻道延迟和其他。

Random Mix: 测试读写一个文件中的随机偏移量的性能。同样,许多因素可能影响这种情况下的系统性能,例如:操作系统缓存的大小,磁盘数量,寻道延迟和其他。这个测试只有在吞吐量测试模式下才能进行。每个线程/进程运行读或写测试。这种分布式读/写测试是基于round robin 模式的。最好使用多于一个线程/进程执行此测试。

Leave a Comment

Fedora/Ubuntu系统安装小度WIFI/360随身WIFI驱动

小度WIFI最近在某东的价格跌到了10元以内,于是没忍住,连续撸了好几个。本文介绍一下在Fedora21系统中安装小度WIFI驱动的方法(Ubuntu的用户可以直接跳到本文最末尾,本文最底部介绍了在Ubuntu系统下安装驱动的方法)。

由于小度WIFI和360随身WIFI都使用了MT7601U的方案,因此本文同时适用于小度WIFI和360随身WIFI。

准备工作

$ sudo yum install gcc gcc-c++ make git

$ sudo yum install kernel-headers kernel-devel

#查看系统安装的kernel/kernel-devel/kernel-headers版本
$ sudo rpm -qa | grep kernel
#如果kernel/kernel-devel/kernel-headers版本不一致,需要执行
$ sudo yum update kernel*

#查看当前启动的kernel版本
$ sudo uname -r
#如果当前启动的kernel版本跟上面的不一样,则需要重启

安装驱动
需要说明的是,MTK官方提供的驱动版本,说明了只支持2.4/2.6版本的内核。但fedora已经更新到了3.19内核,于是,只能使用GitHub某大神修改过的驱动了。

3 Comments

Ubuntu14.04使用VNC解决gnome-session-is-accelerated: No composite extension

Ubuntu14.04目前仍是非常不稳定,使用VNC的时候,只有一个终端,检查日志以后,发现了如下错误:

$ cat /home/brett/.vnc/bt-desktop:1.log
……
gnome-session-is-accelerated: No composite extension.
gnome-session-check-accelerated: Helper exited with code 256
gnome-session-is-accelerated: No composite extension.
gnome-session-check-accelerated: Helper exited with code 256
 
** (process:6694): WARNING **: software acceleration check failed: Child process exited with code 1
 
** (gnome-session:6694): CRITICAL **: We failed, but the fail whale is dead. Sorry....
……

简单看了下,可能是gnome-session无法识别到OpenGL硬件加速导致的。该问题普遍存在于DELL大部分系列的服务器上。这个帖子提供了一种解决办法,但我试了下,貌似是无效的。

解决办法:

$ sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

$ vim ~/.vnc/xstartup  #修改此文件,写入以下内容
#!/bin/sh
   
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
 
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
 
gnome-session &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
vncconfig -nowin &

然后重新启动VNC终端即可

也可以通过安装KDE/XFCE来解决:

$ sudo apt-get install gnome-core xfce4 firefox
$ vim ~/.vnc/xstartup  #修改此文件,写入以下内容
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &
#gnome-session --session=gnome-flashback &

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

参考文章1
参考文章2
参考文章3
============================================
后续补充:
Ubuntu14.04真是很差劲,使用VNC连接成功上桌面以后,S键、D键与Alt功能键相反了。
解决办法:

#必须在图形界面的终端里操作,不能在远程的终端里操作
gsettings set org.gnome.desktop.wm.keybindings panel-main-menu "['<Alt>F1']"
gsettings set org.gnome.desktop.wm.keybindings switch-applications "['<Alt>Tab']"
gsettings set org.gnome.desktop.wm.keybindings show-desktop "['<Alt>d']"
gsettings set org.gnome.desktop.wm.keybindings maximize "['<Alt>Up']"
gsettings set org.gnome.desktop.wm.keybindings unmaximize "['<Alt>Down']"
#也可以运行dconf-editor在GUI界面中展开指定的项进行修改

2015.03.23补充:
VNC日志里出现如下错误:

error opening security policy file /etc/X11/xserver/SecurityPolicy
Could not init font path element /usr/share/fonts/X11/cyrillic, removing from list!
Could not init font path element /usr/share/fonts/X11/100dpi/:unscaled, removing from list!
Could not init font path element /usr/share/fonts/X11/75dpi/:unscaled, removing from list!
Could not init font path element /usr/share/fonts/X11/100dpi, removing from list!
Could not init font path element /usr/share/fonts/X11/75dpi, removing from list!
Could not init font path element built-ins, removing from list!

解决办法:

sudo aptitude install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

2015.03.24,关于windows下无法连接Ubuntu 14.04 VNC的问题,在网上发现了一个解决办法(参考文章),但我试了下貌似不成功:

#必须在图形界面的终端里操作,不能在远程的终端里操作
sudo apt-get install dconf-tools
sudo dconf write /org/gnome/desktop/remote-access/require-encryption false

gsettings set org.gnome.Vino require-encryption false

更改背景图片:

#必须在图形界面的终端里操作,不能在远程的终端里操作
sudo dconf write /org/gnome/desktop/background/picture-uri file:///usr/share/backgrounds/Forever_by_Shady_S.jpg

gsettings set org.gnome.desktop.background draw-background false
gsettings set org.gnome.desktop.background picture-uri file:///usr/share/backgrounds/Forever_by_Shady_S.jpg
gsettings set org.gnome.desktop.background draw-background true

改成debian的背景图片
gsettings set org.gnome.desktop.background picture-uri file:///usr/share/images/desktop-base/joy-wallpaper_1920x1080.svg
1 Comment

ubuntu自定义登录xsession和桌面环境

查看系统内置的xsession

$ ls /usr/share/xsessions/
gnome-classic.desktop  gnome-fallback.desktop  ubuntu-2d.desktop  xsession.desktop
gnome.desktop          gnome-shell.desktop     ubuntu.desktop     xterm.desktop

修改默认登陆的Xsession

$ sudo vim /etc/lightdm/lightdm.conf
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu    #修改为如上的xsession即可
……

注意,Ubuntu 14.04的配置文件位于/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf

切换X管理程序
以下命令需要远程操作,因为停止X管理程序会导致黑屏

$ sudo apt-get install gdm
$ sudo dpkg-reconfigure gdm  #切换显示管理器(将lightdm换为gdm)
$ sudo /etc/init.d/lightdm stop  #注意此时会黑屏
$ ps -ef | grep Xorg         #找到Xorg的进程,并kill之
$ sudo /etc/init.d/gdm start #然后就会发现桌面恢复了
Leave a Comment

解决CentOS6系统X11提示Fatal server error:no screens found

今天安装完CentOS-6.6-x86_64-minimal以后,想给它装个桌面,于是运行了yum groupinstall “Desktop”,按理说,应该是桌面环境应该可以正常运行了。但当运行start命令时,却遇到了如下错误:

Fatal server error: 
.......  
no screens found 
(EE)  
Please consult the CentOS support  
 at http://wiki.centos.org/Documentation 
 for help.  
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information. 
(EE)  
Server terminated with error (1). Closing log file.

解决办法:

$ yum groupinstall -y 'X Window System'
$ rm -rf /etc/X11/xorg.conf
$ Xorg -configure              #会提示生成了新的配置文件xorg.conf.new
$ cp ~/xorg.conf.new /etc/X11/xorg.conf
$ startx
Leave a Comment