在linux系统中备份远程mysql数据库的脚本文件2则

1、备份成rar的分卷压缩格式,生成两个(若有分卷的rar压缩文件会不止两个)备份文件,如:

db20070325092032.sql,db20070325092032.sql.rar

#!/bin/bash

# Backup database with current date as a part of file name.

# Date: 2007-03-24

echo "Today is `date`."

echo " Now begin backup database..."

prefix=db$(date +%Y%m%d%H%M%S) # Needs a leading '+' to invoke formatting.

suffix=sql

filename=$prefix.$suffix

echo "The file name is $filename."

#Begin backup database.

hostname=yourhostname

username=yourusername

dbname=yourdbname

dbdir=~/yourdbbackupdir

mysqldump -h$hostname -u$username -p $dbname > $dbdir/$filename

#Begin compress backup file with .rar format.

compressfile=$filename.rar

echo "Begin compress $filename into $compressfile..."

cd $dbdir

rar a -v1024k $compressfile $filename

echo "Backup database success."

exit 0

**********************************************************************

2、备份成*.tar.bz2的压缩格式,生成两个备份文件,如:

db20070325092032.sql,db20070325092032.sql.tar.bz2

#!/bin/bash

# Backup database with current date as a part of file name.

# Date: 2007-03-24

echo "Today is `date`."

echo " Now begin backup database..."

prefix=db$(date +%Y%m%d%H%M%S) # Needs a leading '+' to invoke formatting.

suffix=sql

filename=$prefix.$suffix

echo "The file name is $filename."

#Begin backup database.

hostname=yourhostname

username=yourusername

dbname=yourdbname

dbdir=~/yourdbbackupdir

mysqldump -h$hostname -u$username -p $dbname > $dbdir/$filename

#Begin compress backup file with .tar.bz2 format.

compressfile=$filename.tar.bz2

echo "Begin compress $filename into $compressfile..."

cd $dbdir

tar cfj $compressfile $filename

echo "Backup database success."

exit 0

一周回顾(2007.03.24)

孩子感冒生病打了两天针,可能还需要看一下医生;突然记起孩子好久没打预防针了;

上周把大部分时间都用在折腾这台486的老机器上,在一块硬盘上重新安装了windows97+redhat linux9.0;而既定的学习设计模式的目标好像在心里一点也不急,这样下去是不行的,猴年马月才把那本GoF的设计模式看得完。时间的利用要有重点,就好像金钱的使用要“用在刀刃上”一样。本来想在当当网上买一本GoF的设计模式,可一想没必要,用这个钱买了一块二手硬盘放在486的老机里。那块有坏道的1.6G的硬盘权当“移动硬盘”吧。

惨,昨天早上和老婆去跑步,没跑多远就觉得累,看老婆还比较轻松的样子;

今天早上和老婆到体育馆,我在单杠上做引体向上,做一个就不行了:(,原来读初中考体育引体向上的及格线是10个还是20个?

看来,我得锻炼一下了。

能在486+windows97上正常使用的opera游览器最新版

我的这台机器上是486DX100+24M+windows97,在上面安装的IE5.5在浏览有些网站时竟然不能使用,如在当当网上注册,登录google的广告帐号(有近一个月没有登录了:))...  我估计是IE5.5的https的支持上有问题。

然后我安装原来下载的firefox1.*,竟然不能安装上;

在google上以“最小的浏览器“为关键词搜索,结果是opera。在opera的官方网站上下了一个最新版的:opera9.1,在我的机器上的版本信息如下:

Version information

Version  9.10

Build  8679

Platform  Win32

System  Windows 95

Java  Java not installed

XHTML+Voice  Plug-in not loaded

Browser identification

Opera/9.10 (Windows 95; U; en)

我在google的广告帐户上和当当网上使用opera9.1均正常,虽然由于机器差速度慢,但毕竟可用。推荐那些在老机老系统上上网的朋友试一下opera浏览器。

GoF的《设计模式》之前言、序言和用户指导

从书的前言可知,GoF设计模式是那四个家伙在1994年8月完成的。这本书是给对面向对象设计有一些基本了解的朋友读的。使用设计模式的目的是为了使设计更加灵活、模块化、可重用、可理解。这本书不是那种读一遍就扔在一边的书,所以你不要因为你读一遍而不完全理解它们而担心,就是作者们自己在第一次写的时候也没有完全理解(littlebat注:所以说,把心得和疑惑诉诸文字的过程也是理解和深化的学习过程,这也是我写学习日记的主要因素之一,还有一个主要因素是备忘等等)!这是一本值得反复阅读的书。这本书从酝酿到完成用了很多时间,书的四个作者来自四个国家,并且得到了许多人的帮助和支持(littlebat注:有两大段鸣谢的人名)。这本书只是反应了作者当时对设计的一种思考的记录,必将随着时间的推进而不断发展(littlebat 注:从我在网上看到的的情况来看确实如此,各种语言的设计模式版本出现,各种新的设计模式应该也在发明中,可以说有许多人在用设计模式吃饭,你看看太多的相关书籍就知道了,不过我觉得GoF的设计模式才是它们被公认的源头,所以我就想试着读读这本书的英文电子版了,有必要的话再去买一本英文版的或翻译版纸质书)。

从CD的前言可知,CD版(电子版)的书是在应许多人的反馈于书发行后3年的1997年发行的。CD版的书可以使查阅和使用更方便。这篇前言也总结了他们的书发行3年来的巨大成功,确实达成了他们当初的心愿:使更多的软件工程师从中获益。同样,这篇前言鸣谢了对CD版发行有帮助的人。(littlebat注:这个CD版的好是好,只不过用了javascript和java applet小程序技术,让我在486的古董机在linux控制台下w3m浏览器中无法阅读,特地为读这本书装了一个windows97,当初他们就没有考虑过有人在控制台下读这本书吧。不过,也知足了,况且我目前还是盗版用户呢。)

然后是Rational的那个OOP方面的大腕Grady Booch给他们作的序,开头绕了一大段计算机考古专家考查计算机历史“地层”的话,让我看不懂。他的序的意思就是:GoF的设计模式很成功,能从他们那里学到很多,他们的贡献可以在计算机的发展历史上记上一笔了。哦,这里提到那四个家伙的名字:Erich, Richard, Ralph, and John(littlebat注:好像有个家伙现在已经不在人世了,“四人帮”变成“三人帮”了)。

下面这篇用户指南值得好好读一读,它先是讲了一下这本书分为两大部分:第一部分(第1、2章)是基本概念和案例,第二部分(3、4、5章)是具体的分为3类的23种设计模式;然后它给了你几种阅读23种设计模式的方式,你可以根据自己的实际情况选择一下。这几种方式大概包括:

1、从头到尾依次阅读;

2、顺着设计模式之间的关系读(有一个关系图:Figure 1.1 (page 12) );

3、可以按所着手解决的问题的分类来读(Section 1.6 (page 24) );

   3.5、或者先通读,再按工程中要解决的问题来应用这些模式;(与上是同一段说的)

4、如果你对OO不是很熟的话,可以从几个最简单和通用的模式开始读,这些模式包括:

    * Abstract Factory (page 87)

    * Adapter (139)

    * Composite (163)

    * Decorator (175)

    * Factory Method (107)

    * Observer (293)

    * Strategy (315)

    * Template Method (325)

我暂时选择的阅读方式是上面的3.5的方式,先通读,并对比我在Thinking in Patterns with Java读到的相应的设计模式,以后如果写程序的话再按解决问题的分类“按图索骥”。

孩子给爸爸倒茶,还要给妈妈倒洗脚水

大概有几周时间了吧,孩子常常很有兴趣的给我把茶杯里放上茶叶,然后叫别人把茶杯里倒上水,然后端给我,说:“爸爸请喝茶。”不管是孩子的一时的兴趣还是什么别的因素(例如幼儿园里的教育),我都是很高兴的。不过,就是有一点,她要是要给我泡茶,我不喝还不行,不管什么时候,非接受不可:),弄得我还认真的跟她说:“爸爸想喝茶时再给爸爸泡茶好吗?”

不知是什么时候起,电视里有了公益广告;也不知是什么时候起,有了那个小孩子看到妈妈给婆婆洗脚然后自己也去端水给妈妈洗脚的公益广告。我们的孩子看了那个公益广告后,对我和她妈妈说她也要给我们端水洗脚。当然,我们没让她给我们端水洗脚,孩子是很喜欢玩水的,说不定到时候我们还没开始洗,她自己玩水就把衣袖打湿了。也许哪天她再提起这事,也应该让她试试,我想这是没有坏处的。另外,可见周围环境(尤其包括电视)的引导对孩子是比较重要的。

实际上,孩子是家里的“小霸王”,比如,她有什么事叫我们,往往是这样的口气:“爸爸,过来!”。我也不会多想,往往就屁颠屁颠的跑过去,听孩子 “吩咐”。我觉得,这对形成家里的平等和民主的氛围有好处;当然,教育孩子说话懂礼貌也是应该注意的,那么,是不是要给孩子说说对人说话不要用这种“命令式”的语气呢?

棉签+酒精+润滑油修复软驱和VCD机

 不知是什么时候起,机器上的软驱不能工作了,读软盘时报告磁盘未格式化,真去格式化时又报告不能格式化;一会儿又报告设备没有准备好。

在网上查了一下。打开软驱看它读盘,磁头小车根本不动。偶尔能够读盘时发现磁头动了几下。按网上介绍的用医用棉签醮着高纯度酒精把可能受灰尘影响的地方都擦了一下,重点擦了上下两个读写头。没有看到网上说的发光二极管和三极管,一个好像叫微动开关的检测是否有盘的东西在固定软盘的地方看到了。

然后把磁头小车旁的传动螺杆上的原来的脏的润滑油擦掉,滴了几滴润滑油(我用的是变压油),再把螺杆转了几圈。软驱就又可以工作了。

到现在我也不知道究竟是哪个零件出了毛病,也许是原来传动螺杆上的润滑油太脏了吧,也许。。。

想起家里那台罢了工的VCD机,“死马当成活马医”,粗暴的打开机壳,结果大多数的塑料卡子都被我弄坏了,不过没有大碍。拆开后看里面就几块简单的电路板。用棉签醮酒精把激光头擦了几下。VCD机又可以工作了。

再介绍两个小技巧:

1、如果你的电子辞典之类的东西的按键里面的导电橡胶失效了,可以把香烟盒里的锡箔纸用速干502胶水粘在导电橡胶上,注意能够导电的锡箔那边是朝外的。

2、如果你的电冰箱的冷藏室里的化冰排水孔堵了,可以用给自行车加气的打气筒从排水孔下方的出水口往上打气就行了。

删除linux的/tmp目录引起的不能正常登录系统的故障

昨天无意查看到/tmp目录竟占了400M的空间,看到里面全是一个乱七八糟的东西。联想到windows的temp目录的作用。就把/tmp目录删除了,想系统启动时可能就重新建了这个目录。结果系统只能启动到控制台模式;

又用mkdir /tmp建了这个目录,结果系统在控制台模式登录和X windows模式登录状态间反复切换,不能进入系统;

后来在网上查了一下,改变了/tmp目录的权限为:chmod a+rwx,o+t /tmp,即为:

drwxrwxrwt    4 root     root         4096  3月 16 10:18 tmp

系统恢复正常。

具体分析原因如下:

正常情况下,/tmp目录的权限是:

drwxrwxrwt    4 root     root         4096  3月 16 10:18 tmp

它表示所有的用户都可以在其中建立文件(或目录),即任何人都对tmp目录拥有“写权限”,但是除非tmp目录的所有者和文件的所有者,其他人不能在/tmp目录下改写(或删除、重命名)别人的文件(或目录)。

如果你删除了系统的tmp目录,又用mkdir /tmp建立这个目录,那么根据umask的规定,默认建议的目录的权限是:

drwxr-xr-x    3 root     root         4096  3月 16 11:31 tmp

那么其他人就不能在/tmp目录下建立文件了;这时,系统将出现故障(如:不能启动或不能进入x windows);

如果你用:chmod a+w /tmp改变/tmp目录的权限为:

drwxrwxrwx    3 root     root         4096  3月 16 11:34 tmp

那么任何人都可以删除别人在/tmp目录下的文件了,包括删除root在/tmp目录下建立的文件;

如果用:chmod o+t /tmp为/tmp目录加了粘滞位t,那么其他人就不能在tmp目录下改写(或删除、重命名)别人的文件(或目录),起到了/tmp目录的作用。

另外,“suid”和“sgid”特殊标志位可以使普通用户运行一个程序,使这个程序访问或修改只有文件所有者或root用户才能直接访问或修改的文件,当然前提是这个普通用户对这个文件的某个部分拥有相应的权限。

详情见转帖:linux的权限和所有权模型(转帖): http://java.learndiary.com/diaries/3110.jsp

本人的系统是redhat linux9.0+amd duron 700。在网上查到有人说删除某些linux发行版本的/tmp目录下的文件会使系统不能正常工作,也不知道是不是真的。不过,这次也再一次给我一个教训,对linux操作系统不熟悉的地方不能按照windows的模式想当然的操作。尤其是系统是正式的工作系统,应该坚持“宁滥勿缺”的原则,不要想当然的删除你不熟悉的文件或目录。

Linux的权限和所有权模型(转帖)

转载者前言:

本来这些内容在linux的在线man文档或info文档中都有非常详细的解释,无奈英文不行,还是不能全面理解linux的权限系统,只好上网查了一下,收集到一篇比较完整的介绍转帖于此。其中的内容涉及:一般w,r,x标志位控制,特殊的suid,sgid,t标志位控制,umask控制;

linux的权限系统是使用linux的重要基础,如果不能对其所有权模型有比较透彻的理解,就会对正确理解和使用系统中的一些东西造成障碍,比如我碰到的:删除linux的/tmp目录引起的不能正常登录系统的故障: http://java.learndiary.com/diaries/3112.jsp

另外,对权限系统目前还有如下的疑问

1)、大写“X”标志位是做什么用的?

2)、passwd程序怎样控制用户只访问/etc/passwd文件中用户能够访问的部分?

转帖正文:

******************************************************************************

转自:Linux的权限和所有权模型:http://linux.chinaitlab.com/safe/38178.html

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  一个用户、一个组

  

  我们来看一看 Linux 权限和所有权模型。我们已经看到每个文件属于一个用户和一个

组。这正是 Linux 中权限模型的核心。您可以在 ls -l 清单中查看用户和组:

  

  $ ls -l /bin/bash

  

  -rwxr-xr-x  1 root   wheel   430540 Dec 23 18:27 /bin/bash在这个特殊

的示例中,/bin/bash 可执行文件属于 root 用户,并且在 wheel 组中。Linux 权限模型

通过允许给每个文件系统对象设置三种独立的权限级别来工作—它们为文件的所有者、文

件的组以及所有其他用户。

  

  理解“ls -l”

  

  我们来看一看我们的 ls -l 输出,检查一下这个清单的第一栏:

  

  $ ls -l /bin/bash-rwxr-xr-x  1 root   wheel   430540 Dec 23 18:27 /

bin/bash第一个字段 -rwxr-xr-x 包含该特殊文件的权限的符号表示。该字段中的首字符

(-)指定该文件的类型,本例中它是一个常规文件。其它可能的首字符还有:

  

  “d”目录“l”符号链接“c”字符专门设备文件“b”块专门设备文件“p”先进先出

“s”套接字三个三元组$ ls -l /bin/bash-rwxr-xr-x  1 root   wheel   

430540 Dec 23 18:27 /bin/bash该字段的其余部分由三个三元组字符组成。第一个三元字

符组代表文件所有者的权限,第二个代表文件的组的权限,第三个代表所有其他用户的权

限:

  

  "rwx""r-x""r-x"上面,r 表示允许读(查看文件中的数据),w 表示允许写(修改文

件以及删除),x 表示允许“执行”(运行程序)。将所有这些信息放在一起,我们可以

发现每个人都能够读该文件的内容和执行该文件,但是只允许文件所有者(root 用户)可

以以任何方式修改该文件。因此,虽然一般用户可以复制该文件,但是只允许 root 用户

更新或删除它。

  

  我是谁?在我们看怎样改变文件的用户所有权和组所有权之前,我们首先来看一看怎

样得知您当前的用户标识和组成员资格。除非最近您使用过 su 命令,否则您当前的用户

标识是您用来登录系统的用户标识。但是,如果您经常使用 su,您可能不记得您当前有效

的用户标识。要查看用户标识,输入 whoami:# whoamiroot# su drobbins$

whoamidrobbins我在哪一组?要看看您属于哪一组,使用 group 命令:$ groupsdrobbins

wheel audio在上面的示例中,我是 drobbins、wheel 和 audio 组的成员。如果您想看看

其他用户在什么组,指定他们的用户名作为参数:

  

  $ groups root daemonroot : root bin daemon sys adm disk wheel floppy

dialout tape videodaemon : daemon bin adm改变用户和组所有权为了改变文件或其它文

件系统对象的所有者或组,分别使用 chown 或 chgrp。这两个命令都要一个用户名或组名

作参数,后面跟上一个或多个文件名。

  

  # chown root /etc/passwd# chgrp wheel /etc/passwd您还可以用 chown 命令的另

一种形式同时设置所有者和组:

  

  # chown root.wheel /etc/passwd除非您是超级用户,否则您不可以使用 chown,然

而任何人都可以使用 chgrp 来将文件的组所有权改为他们所属的组。

  

  递归的所有权改变chown 和 chgrp 都有一个 -R 选项,该选项可以用来告诉它们递归

地将所属权和组改变应用到整个目录树中。例如:# chown -R drobbins /home/drobbins

介绍 chmodchown 和 chgrp 可以用来改变文件系统对象的所有者和组,而另一个程序—叫

做 chmod —用来改变我们可以在 ls -l 清单中看到的 rwx 权限。chmod 带有两个或多个

参数:“mode”,描述怎样改变权限,后面跟将会受到影响的文件或文件列表:$ chmod

+x scriptfile.sh在上面的示例中,我们的“mode”是 +x。您可能会猜到,+x 模式告诉

chmod,使该特殊文件对于用户、组以及其它任何人都是可执行的。如果我们想要除去一个

文件的所有执行权限,我们应该这样做: $ chmod -x scriptfile.sh用户/组/其他粒度

到此,我们的 chmod 示例已经影响到了所有三个三元组—用户、组和所有其他用户。通常

,一次只修改一个或两个三元组很方便。要这样做,只需要在 + 或 - 符号之前,给您想

要修改的特定的三元组指定符号字符。对于“用户”三元组使用 u,对于“组”三元组使

用 g,对于“其他/每个人”使用 o:$ chmod go-w scriptfile.sh我们刚除去了组和所

有其他用户的写权限,而保留“所有者”权限不动。重新设置权限除了交替打开和关闭权

限位以外,我们还可以一起重新设置它们。通过使用 = 操作符,我们可以告诉 chmod 我

们要指定权限和取消别的权限:$ chmod =rx scriptfile.sh上面,我们只设置了所有的“

read”和“execute”位,没有设置所有的“write”位。如果您仅仅想重新设置特定的三

元组,您可以像下面这样,在 = 之前指定该三元组的符号名:

  

  $ chmod u=rx scriptfile.sh

  

  数字模式

  

  直到现在为止,我们使用了叫做“符号”的模式来用 chmod 指定权限的改变。然而,

指定权限还有一种普遍使用的方法—使用 4 位八进制数。使用叫做数字权限语法的语法,

每一位代表一个权限三元组。例如,在 1777 中,777 设置本章我们所讨论的“owner”、

“group”和“other”标志。1 用来设置专门的权限位,我们将在本章的结束部分讲到。

这个图表说明了怎样解释第二到四位(777):

  

  模式数字

  rwx 7

  rw- 6

  r-x 5

  r-- 4

  -wx 3

  -w- 2

  --x 1

  --- 0

  

  数字权限语法

  

  当您需要给一个文件指定所有权限时,数字权限语法特别有用,比如在下面的示例中



  

  $ chmod 0755 scriptfile.sh

  

  $ ls -l scriptfile.sh

  

  -rwxr-xr-x  1 drobbins drobbins    0 Jan 9 17:44 scriptfile.sh

  

  在该示例中,我们使用了 0755 模式,它展开为一个完整的权限设置“-rwxr-xr-x”



  

  Umask

  

  当进程创建了新文件时,它指定新文件应该具有的权限。通常,所请求的模式是 0666

(每个人可读和可写),它比我们希望的具有更多的权限。幸运的是,不管什么时候创建

了新文件,Linux 将参考叫做“umask”的东西。系统用 umask 值来将初始指定的权限降

低为更合理、更安全的权限。您可以通过在命令行中输入 umask 来查看您当前的 umask

设置:

  

  $ umask

  

  0022

  

  Linux 系统上,umask 的缺省值一般为 0022,它允许其他人读您的新文件(如果他们

可以得到它们),但是不能进行修改。为了在缺省的情况下使新文件更安全,您可以改变

umask 设置: $ umask 0077umask 将确保组和其他用户对于新创建的文件绝对没有任何权

限。那么,umask 怎样工作呢?与文件的“常规”权限不同,umask 指定应该关闭哪一个

权限。我们来参阅一下我们的“模式到数字”映射表,从而使我们可以理解 0077 的

umask 的意思是什么:模式数字 rwx 7 rw- 6 r-x 5 r-- 4 -wx 3 -w- 2 --x 1 --- 0 使

用该表,0077 的最后三位扩展为 ---rwxrwx。现在,请记住 umask 告诉系统禁用哪个权

限。根据推断,我们可以看到将关闭所有“组”和“其他”权限,而“用户”权限将保留

不动。

  

  介绍 suid 和 sgid

  

  当您最初登录时,将启动一个新的 shell 进程。您已经知道,但是您可能还不知道这

个新的 shell进程(通常是 bash)使用您的用户标识运行。照这样,bash 程序可以访问

所有属于您的文件和目录。事实上,作为用户,我们完全依靠其它程序来代表我们执行操

作。因为您启动的程序继承了您的用户标识,因此它们不能访问任何不允许您访问的文件

系统对象。

  

  例如,一般用户不能直接修改 passwd 文件,因为“write”标志已经对除“root 用

户”以外的每个用户关闭:

  

  $ ls -l /etc/passwd

  

  -rw-r--r--  1 root   wheel    1355 Nov 1 21:16 /etc/passwd

  

  但是,一般用户确实需要在他们需要改变其密码的任何时候,能够修改 /etc/passwd

(至少间接地)。但是,如果用户不能修改该文件,究竟怎样完成这个工作呢?

  

  Suid

  

  幸好,Linux 权限模型有两个专门的位,叫做“suid”和“sgid”。当设置了一个可

执行程序的“suid”这一位时,它将代表可执行文件的所有者运行,而不是代表启动程序

的人运行。现在,回到 /etc/passwd 问题。如果看一看 passwd 可执行文件,我们可以看

到它属于 root 用户:

  

  $ ls -l /usr/bin/passwd

  

  -rwsr-xr-x  1 root   wheel    17588 Sep 24 00:53 /usr/bin/passwd

  

  您还将注意到,这里有一个 s 取替了用户权限三元组中的一个 x。这表明,对于这个

特殊程序,设置了 suid 和可执行位。由于这个原因,当 passwd 运行时,它将代表 root

用户执行(具有完全超级用户访问权),而不是代表运行它的用户运行。又因为 passwd

以 root 用户访问权运行,所以能够修改 /etc/passwd 文件,而没有什么问题。

  

  suid/sgid 告诫说明

  

  我们看到了 suid 怎样工作,sgid 以同样的方式工作。它允许程序继承程序的组所有

权,而不是当前用户的程序所有权。这里有一些关于 suid 和 sgid 的其它的但是很重要

的信息。首先,suid 和 sgid 占据与 ls -l 清单中 x 位相同的空间。如果还设置了 x

位,则相应的位表示为 s(小写)。但是,如果没有设置 x 位,它将表示为 S(大写)。

另一个很重要的提示:在许多环境中,suid 和 suid 很管用,但是不恰当地使用这些位可

能使系统的安全遭到破坏。最好尽可能地少用“suid”程序。passwd 命令是为数不多的必

须使用“suid”的命令之一。

  

  改变 suid 和 sgid

  

  设置和除去 suid 与 sgid 位相当简单。这里,我们设置 suid 位:

  

  # chmod u+s /usr/bin/myapp

  

  此处,我们从一个目录除去 sgid 位。我们将看到 sgid 位怎样影响下面几屏中的目

录:

  

  # chmod g-s /home/drobbins

  

  权限和目到此为止,我们从常规文件的角度来看权限。当从目录的角度看权限时,情

况有一点不同。目录使用同样的权限标志,但是它们被解释为表示略微不同的含义。对于

一个目录,如果设置了“read”标志,您可以列出目录的内容;“write”表示您可以在目

录中创建文件,“execute”表示您可以进入该目录并访问内部的任何子目录。没有“

execute”标志,目录内的文件系统对象是不可访问的。没有“read”标志,目录内的文件

系统对象是不可查看的,但是只要有人知道磁盘上对象的完整路径,就仍然可以访问目录

内的对象。目录和 sgid如果启用了目录的“sgid”标志,在目录内创建的任何文件系统对

象将继承目录的组。当您需要创建一个属于同一组的一组人使用的目录树时,这种特殊的

功能很管用。只需要这样做:

  

  # mkdir /home/groupspace

  

  # chgrp mygroup /home/groupspace

  

  # chmod g+s /home/groupspace

  

  现在,mygroup 组中的所有用户都可以在 /home/groupspace 内创建文件或目录,同

样,他们也将自动地分配到 mygroup 的组所有权。根据用户的 umask 设置,新文件系统

对象对于 mygroup 组的其他成员来说,可以或不可以是可读、可写或可执行的。目录和删

除缺省情况下,Linux 目录以一种不是在所有情况下都很理想的方式表现。一般来说,只

要对一个目录有写访问权,任何人都可以重命名或删除该目录中的文件。对于个别用户使

用的目录,这种行为是很合理的。但是,对于很多用户使用的目录来说,尤其是 /tmp 和

/var/tmp,这种行为可能会产生麻烦。因为任何人都可以写这些目录,任何人都可以删除

或重命名任何其他人的文件—即使是不属于他们的!显然,当任何其他用户在任何时候都

可以输入“rm -rf /tmp/*”并损坏每个人的文件时,很难把 /tmp 用于任何有意义的文件

。所幸,Linux 有叫做“粘滞位”(sticky bit)的东西。当给 /tmp 设置了粘滞位(用

chmod +t),唯一能够删除或重命名 /tmp 中文件的是该目录的所有者(通常是 root 用

户)、文件的所有者或 root 用户。事实上,所有 Linux 分发包都缺省地启用了 /tmp 的

粘滞位,而您还可以发现粘滞位在其它情况下也很管用。难以理解的第一位总结本章,我

们最后来看一看数字模式的难以理解的第一位数。您可以看到,这个第一位数用来设置

sticky、suid 和 sgid 位:

  

  suid sgid sticky 模式数字 on on on 7 on on off 6 on off on 5 on off off 4

off on on 3 off on off 2 off off on 1 off off off 0

  

  这里有一个怎样用 4 位数字模式来设置一个目录的权限的示例,该目录将由一个工作

组使用: # chmod 1775 /home/groupfiles请想一想 1755 数字模式权限设置的含义。

  相关产品与培训

● 相关文章                                           ● 推荐文章

避其锋芒 Linux操作系统入侵实例

构建一个基于软盘的防火墙

用Linux防火墙伪装抵挡黑客恶意攻击

用rsync从Linux到Windows远程备份(组图)

解决新的SELinux安全级别产生问题(图)

linux SSH 的一些安全小技巧

Linux下PhpMyAdmin程序目录的安全管理

Linux网络安全经验之谈

防火墙 Linux 数据包捕获模块包过滤

巧妙利用Linux系统IP伪装抵住黑客攻击

********************************************************************************

                                     转帖完毕

Windows操作系统减肥;难舍我的linux操作系统

因为在一个486DX100 + 1.6G的硬盘的机器上装了redhat linux9.0和windows97双系统,我只有150M的空间用来装windows97,这个系统的主要功能就是读html+javascript的一本重要的电子书,还要装一个地球村翻译软件和更新IE为IE5.5。就必须对系统减一下肥,在网上查了一下资料。主要作了下列清理。

删除:

1、windows\fonts中除了宋体的中文字体,英文字体保留;

2、windows\help目录,帮助文件;

3、windows\sysbckup目录,系统文件备份目录;听说可以从安装光盘中读取;

4、windows\java目录,java文件,我在这个机器上用不着。

当然,我把这些目录和文件都在linux下复制到了linux的/boot分区,安装linux系统对boot分区好像有一个下限要求,我给/boot分区分了80M,结果使用时只用了几M。

就是这样的古董机器,我在linux下还可以做许多事情,包括:用w3m游览网页,用mysql管理远程数据库,用ftp操作网站文件,用cvs管理学习日记开源的程序源码,用emacs直接读取网站的log文件,用MilyQQ聊天(虽然我基本不用它),还有一点,在上面作些相对重要的工作我要放心点。不像在windows下,保不准什么时候就中了木马和流氓软件、病毒之类。何况是这台完全没有设防的古董机器。尽管征对我现在在这台机器上的主要的应用:看电子书,我有充分的理由抛弃linux(如上面讲的没有一个本地的翻译软件),但我还是舍不得,还是把linux留在了我的机器中。况且,难保我不会产生远程网站维护的需求。家里因为种种原因停止了上网,如果真有维护网站的需求,还得依靠我放在单位上的这台老机的linux操作系统。