系统基本配置命令Word文档格式.docx
《系统基本配置命令Word文档格式.docx》由会员分享,可在线阅读,更多相关《系统基本配置命令Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
-R:
若操作对象是目录,则递归地对该目录下所有的子目录实施权限设置
{}内的内容称为一个模式,可以指定多个模式,多个模式之间用逗号间隔
第一个选项表示要赋予权限的用户
u表示属主(user)
g表示所属组用户(group)
o表示其他用户(other)
a表示所有用户(all)
第二个选项表示要进行的操作
+表示增加权限
-表示删除权限
=表示分配权限,同时将原有权限删除
第三个选项是要分配的权限
r表示允许读取
w表示允许写入
x表示允许执行
s表示设置SUID或SGID
t表示设置sticky-bit
两种格式的不同:
格式1的用法是对文件或目录设置r、w、x、s、t等权限
格式2的用法是参考当前u、g、o的权限设置其它用户类的权限
下面给出几个使用格式1的例子:
$touchtestfile1
$ll
-rw-r--r--1osmondosmond02007-03-1715:
27testfile1
#取消组用户和其他用户对文件的读取权限
$chmodgo-rtestfile1
-rw-------1osmondosmond02007-03-1715:
#对文件的属主添加执行权限
$chmodu+xtestfile1
-rwx------1osmondosmond02007-03-1715:
#对文件的属主取消执行权限同时添加组用户和其他用户对文件的读取权限
$chmodu-x,go+rtestfile1
#对文件添加SUID和SGID设置的同时添加执行权限
$chmodug+xstestfile1
-rwsr-sr--1osmondosmond02007-03-1715:
#对文件添加sticky-bit设置的同时添加执行权限
$chmod+xttestfile1
-rwsr-sr-t1osmondosmond02007-03-1715:
下面给出几个使用格式2的例子:
00testfile1
#将组权限设置为与属主相同
$chmodg=utestfile1
-rw-rw-r--1osmondosmond02007-03-1715:
#对其他人添加属主具有的权限
$chmodo+utestfile1
-rw-rw-rw-1osmondosmond02007-03-1715:
#对其他人取消属主具有的权限
$chmodo-utestfile1
-rw-rw----1osmondosmond02007-03-1715:
使用数值设定设置文件和目录的权限
数值设定法
格式:
chmod[-R][n0]n1n2n3<
-R:
其中n1代表属主的权限,n2代表组用户的权限,n3代表其他用户的权限,这三个选项都是8进制数字
权限数值
读写执行二进制八进制说明
---0000没有权限
--x0011允许执行
-w-0102允许写入
-wx0113允许执行和写入
r--1004允许读取
r-x1015允许执行和读取
rw-1106允许写入和读取
rwx1117允许执行写入和读取
其中n0是设置特殊权限的8进制数字,当不设置特殊权限时n0可以省略。
SUIDSGIDsticky二进制八进制说明
---0000不设置特殊权限
--t0011只设置sticky
-s-0102只设置SGID
-st0113只设置SGID和sticky
s--1004只设置SUID
s-t1015只设置SUID和sticky
ss-1106只设置SUID和SGID
sst1117同时设置三种特殊权限
下面给出几个使用数值设置法的例子:
$touchtestfile2
-rw-r--r--1osmondosmond02007-03-1716:
25testfile2
#对文件的属主设置可读、写和执行权限,所属组用户和其他用户只设置读和执行的权限,没有写的权限。
$chmod755testfile2
-rwxr-xr-x1osmondosmond02007-03-1716:
#取消组用户和其他用户对文件users1的一切权限
$chmod600testfile2
-rw-------1osmondosmond02007-03-1716:
#为文件设置SUID和属主的执行权限
$chmod4700testfile2
-rws------1osmondosmond02007-03-1716:
#同时设置SUID和SGID权限,并使组用户能读、写、执行,其他人能读和执行
$chmod6775testfile2
-rwsrwsr-x1osmondosmond02007-03-1716:
#设置sticky权限
$chmod1755testfile2
-rwxr-xr-t1osmondosmond02007-03-1716:
改变文件的属主和组
改变文件的属主和组可以用chown命令,命令格式是:
chown[-R]<
用户[:
组]>
<
文件或目录>
若操作对象是目录,则递归地对该目录下所有的子目录实施设置
要单独改变组,可以使用下面的格式:
(注意:
组前必须有“:
”)
chown[-R]<
:
组>
例如:
$touchtestfile3
-rw-rw-r--1osmondosmond0Dec1415:
19testfile3
#切换为超级用户
$su
#将文件testfile3的属主改成jason
#chownjason/home/osmond/testfile3
$ll/home/osmond/testfile3
-rw-rw-r--1jasonosmond0Dec1415:
19/home/osmond/testfile3
#将文件testfile3的组改成users
#chown:
users/home/osmond/testfile3
#ll/home/osmond/testfile3
-rw-rw-r--1jasonusers0Dec1415:
#将文件testfile3的属主和组改成osmond
#chownosmond:
osmond/home/osmond/testfile3
#退出root的登录
#exit
$mkdir-ptestdir/dir1
drwxrwxr-x3osmondosmond4096Dec1415:
25testdir
$su-
#将testdir目录及其子目录下的所有文件或目录的属主和组都改成apache
#chown-Rapache:
apache/home/osmond/testdir
#tree-ug/home/osmond
/home/osmond/
|--[apacheapache]testdir
|`--[apacheapache]dir1
`--[osmondosmond]testfile3
设置文件的缺省生成掩码
Umask
用户可以使用umask命令设置文件的缺省生成掩码。
缺省的生成掩码告诉系统当创建一个文件或目录时不应该赋予其哪些权限。
如果用户将umask命令放在环境文件(.bash_profile)中,就可以控制所有新建的文件或目录的访问权限。
umask命令的格式为:
umask[u1u2u3]
其中:
u1表示的是不允许属主有的权限;
u2表示的是不允许同组人有的权限;
u3表示的是不允许其他人有的权限。
可以使用不带任何参数或带-S参数的umask命令查看当前的文件缺省生成掩码:
$umask
0022
$umask-S
u=rwx,g=rx,o=rx
设置允许同组用户有写权限可以如下设置
$umask002
$touchtestfile4
$lltestfile4
-rw-rw-r--1osmondosmond02007-03-1717:
15testfile4
$mkdirtestdir1
$ll-dtestdir1
drwxrwxr-x2osmondosmond482007-03-1717:
20testdir1
这与默认的不允许允许同组用户有写权限不同
$umask022
$touchtestfile5
$lltestfile5
-rw-r--r--1osmondosmond02007-03-1717:
16testfile5
$mkdirtestdir2
$ll-dtestdir2
drwxr-xr-x2osmondosmond482007-03-1717:
18testdir2
umask的计算:
新建文件的默认权限是0666,文件夹是0777,与权限掩码相减就得到最终权限。
如0666-0022=0644
使用图形界面设置文件和目录权限
操作参考教材
学习文件查找
学习find命令
find命令
find命令用来查找文件和目录的位置。
该命令的语法为:
find路径名[选项]
find[PATH][option][action]
参数∶
1.与时间有关的参数∶
-atimen∶n为数字,意义为在n天之前的『一天之内』被access过的文件;
-ctimen∶n为数字,意义为在n天之前的『一天之内』被change过状态的文件;
-mtimen∶n为数字,意义为在n天之前的『一天之内』被modification(1.缓和,限制,减轻2.更改,改变,修改
指文件权限被改变)过的文件;
-newerfile∶file为一个存在的文件,意思是说,只要文件比file还要新,
就会被列出来~
2.与使用者或群组名称有关的参数∶
-uidn∶n为数字,这个数字是使用者的帐号ID,亦即UID,这个UID是记录在
/etc/passwd里面与帐号名称对应的数字。
这方面我们会在第四篇介绍。
-gidn∶n为数字,这个数字是群组名称的ID,亦即GID,这个GID记录在
/etc/group,相关的介绍我们会第四篇说明~
-username∶name为使用者帐号名称喔!
例如dmtsai
-groupname∶name为群组名称,例如users;
-nouser∶寻找文件的拥有者不存在/etc/passwd的人!
-nogroup∶寻找文件的拥有群组不存在于/etc/group的文件!
当您自行安装软体时,很可能该软体的属性当中并没有文件拥有者,
这是可能的!
在这个时候,就可以使用-nouser与-nogroup搜寻。
3.与文件权限及名称有关的参数∶
-namefilename∶搜寻文件名称为filename的文件;
-size[+-]SIZE∶搜寻比SIZE还要大(+)或小(-)的文件。
这个SIZE的规格有∶
c:
代表byte,k:
代表1024bytes。
所以,要找比50KB
还要大的文件,就是『-size+50k』
-typeTYPE∶搜寻文件的类型为TYPE的,类型主要有∶一般正规文件(f),
装置文件(b,c),目录(d),连结档(l),socket(s),
及FIFO(p)等属性。
-permmode∶搜寻文件属性『刚好等于』mode的文件,这个mode为类似chmod
的属性值,举例来说,-rwsr-xr-x的属性为4755!
-perm-mode∶搜寻文件属性『必须要全部囊括mode的属性』的文件,举例来说,
我们要搜寻-rwxr--r--,亦即0744的文件,使用-perm-0744,
当一个文件的属性为-rwsr-xr-x,亦即4755时,也会被列出来,
因为-rwsr-xr-x的属性已经囊括了-rwxr--r--的属性了。
-perm+mode∶搜寻文件属性『包含任一mode的属性』的文件,举例来说,我们搜寻
-rwxr-xr-x,亦即-perm+755时,但一个文件属性为-rw-------
也会被列出来,因为他有-rw....的属性存在!
4.额外可进行的动作∶
-execcommand∶command为其他指令,-exec后面可再接额外的指令来处理搜寻到
的结果。
-print∶将结果列到萤幕上,这个动作是预设动作!
其中,常用的选项有:
-print:
显示输出查找到的结果。
如果未指定任何选项,则系统默认是-print。
如find命令的最基本的用法就是列出指定目录下的所有文件和子目录:
#find/usr-print
-name:
按文件名查找。
-size:
按文件大小查找。
例如,下面的命令将查找/usr目录下超过100k的文件:
#find/usr-size100k
-user:
按文件主查找。
-type:
按文件类型查找。
常见的类型有:
b块特别文件
c字符特别文件。
f普通文件
l符号链接文件
d目录文件
###不指定匹配表达式,显示所有文件
############################################################
#递归显示当前目录的文件列表
$find
#递归显示/目录的文件列表
$find/
#递归显示/目录的文件列表(仅限于3层目录)
$find/-maxdepth3
#递归显示/目录的文件列表(仅限于/文件系统)
$find/-xdev
#递归显示/home、/www、/srv目录的文件列表
$find/home/www/srv
###按文件名/路径名查找
#查找特定的文件名
$find-namemyfile
$find-maxdepth2-namesymfony
#使用通配符查找特定的文件名
$find-name'
d*'
?
'
[afd]*'
$find-iname'
[a-z]*'
ch[0-2][0-9].txt*'
#匹配文件路径名
$find-path'
*server'
./vbird/server
./server
*server[12]'
./server1
./server2
./server1/server2
./server2/server2
#以正则表达式匹配文件路径名
$find-regex'
.*'
.*ch0.*'
./ch01
./ch00
./vbird/server/1000results/ch09-01.jpg
.*ch[0-9]+'
./ch21
./ch333
./ch1
./ch41
.*ch[0-9]+\.txt'
./ch1.txt
./ch24.txt
###按文件属性查找
#只查找普通文件
$find.-typef
#只查找符号链接文件
$find.-typel
#查找硬连接数大于1的文件或目录
$find/home-links+1
#查找/tmp目录下小于10M的文件
$find/tmp-size-10M
#查找/home目录下大于1G的文件
$find/home-size+1G
#查找系统中为空的文件或者目录
$find/-empty
#查找在/www中最后10分钟访问过的文件
$find/www-amin-10
#查找在/www中最后2天访问过的文件
$find/www-atime-2
#查找在/home下最近2天内改动过的文件
$find/home-mtime-2
#列出被改动过后2日内被存取过的文件或目录
$find/home-used-2
#列出被改动过后90日前被存取过的文件或目录
$find/home-used+90
#列出/home目录中属于用户osmond的文件或目录
$find/home-userosmond
#列出/home目录中UID大于501的文件或目录
$find/home-uid+501
#列出/home目录中组为osmond的文件或目录
$find/home-grouposmond
#列出/home目录中GID为501的文件或目录
$find/home-gid501
#列出/home目录中不属于本地用户的文件或目录
$find/home-nouser
#列出/home目录中不属于本地组的文件或目录
$find/home-nogroup
#精确查找权限为664的文件或目录
$find.-perm664
#查找权限至少为664的文件或目录
$find.-perm-664
###使用逻辑运算构造复杂表达式
#查找/tmp目录下21天之前访问过的大于10G的文件
$find/tmp-size+10M-a-atime+21
#查找/目录下属主为jjheng或osmond的文件
$find/-userjjheng-o-userosmond
#查找/tmp目录下的属主不是osmond的文件
$find/tmp!
-userosmond
#在/mnt下查找*.txt且文件系统类型不为vfat的文件
$find/mnt-name'
*.txt'
!
-fstypevfat
#在/tmp下查找名为l开头且类型为符号链接的文件
$find/tmp-name'
l*'
-typel
#查找以server开头的目录名
$find