跳至主要内容

Solaris学习笔记20080331

想看看Solaris的FTP服务,所以去网站上找,可是没有找到如何安装。。而SUN提供的技术文档里也没有关于这个的说法,结果#svcs ftp发现竟然是online状态开着的,所以粗略研究了下了,在/etc/ftpd下有人文件,大概的说下ftpusers是被禁止的用户而不是开放的用户,比如说root,而ftphosts列出的允许或拒绝从各种主机登录的,cat了一下发觉没有东西,猜想是不是类似于ip+用户名。Ftpaccess是主文件,只用使用ftpaccess –a了以后才能调用/etc/ftpd/ftpaccess的文件。
里面一些关键词:
格式如下class typelist addrglob
Class 用于定义关键词,里面目前有realusers guestusers anonusers,real当然表示本机的用户,用anonymous进去发现不行,登录不了,然后切换到那天建立的ccav用户发觉就可以了。
Typelist呢表示三类用户,addrglob呢表示地址,默认为*
添加权限:
Limit class n times [message_file]
在最后两行但是被#注释掉了,limit表字串意思,class表刚刚定义的类,主要是guest,realuser,anon.n表用户数,times表相连接日期和时间,any表任何日期,message_file表用户被拒绝访问的消息文件。
按照所提供的意思,可以把下面三行的意思可以认为如下:
Limit-time anonymous 30 可以理解成限制链接时间,匿名,30分钟
Limit anonousers 10 wk0730-1800 /etc/… 可以理解为限制匿名用户为10个在工作的时间早7:30-18:00 信息为如下目录
Limit anonousers 50 SaSuAny1800-0730 /etc/…可以理解为限制匿名用户为50个在周六或者周日和其他任何时间的晚18:00-7:30
在环境中用/usr/sbin/ftpwho命令可以查看目前正在使用的用户是哪些
/usr/sbin/ftpcount可以查看目前哪些用户和登录限制
Loginfails 表示登录失败的次数
想修改ftpuser然后重启服务,发觉根本不会搜了下
ftp pkill -HUP inetd (ftp)
dns pkill -HUP named(telnet)
限制对缺省服务器的访问增加以下字段
Defaultserver deny username[username]禁止对defaultserver的受限访问权限的用户
Defaultserver allow username[username]允许对defaultserver的受限访问权限的用户
阻止匿名用户访问defaultserver private
对用户创建我还是习惯于unix下的useradd这个命令,对于文中提到的脚本ftpconfig我找了下似乎没有。那对于欢迎信息和帮助文档而言,具体的格式都和上面的差不对,标签分别是message和readme。
对文件访问的命令
Command yesno typelist command包括了chmod,delete..等等啦,而后面后最yes or no这些都可以在具体文档那个中查看出来。
上传文件upload [absoluterelative][class=]...[-] root-dir \
dirglob yesno ownergroupmode [dirsnodirs][]
path-filter typelistmesgallowed_charset{disallowedregexp...}
例子:upload /export/home/ftp /incoming yes ftpadm ftpadmin 0440 nodirs
path-filter anonymous /etc/ftpd/filename.msg ^[-A-Za-z0-9._]*$^[.-]
可以理解为对前个目录使用chroot的ftp帐户可传到/incoming目录下,文件为ftpadm和组ftpadmin拥有,nodirs的关键字为0440阻止匿名用户创建子目录。
在ftpaccess中的noretieve的意思是可禁止用户检索文件。
在ftpaccess中添加virtual address rootbannerlogfile path可对虚拟服务进行编辑
例子virtual 192.168.18.95 root /var/ftp/vritual/ftp-serv
在/etc/ftpd/ftpservers添加以下
address /conig-ile-dir
address 是IP地址 conig-ile-dir 是目录

启动ftp服务
# svcadm enable network/ftp
瞌睡 -。- ~~~

进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次编辑

移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字j至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾

屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行

删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本

搜索及替换命令 :
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换

选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息

最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指
定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行 。

I hate Vi!!!
查看ixpub上的solaris的维护,这些和LINUX机器上的差不多
#dmesg grep cpu 查看cpu
#dmesg grep mem 查看内存
#vxdisk list查看磁盘的个数
#df –k 如何查看文件系统
#format 如何查看磁盘的大小
#cd /opt/SUNWexplo/bin/explorer 收集信息的工具
#explorer
查看informix的版本
#su - informix
informix>onstat –
#netstat –in查看子网 想看看Solaris的FTP服务,所以去网站上找,可是没有找到如何安装。。而SUN提供的技术文档里也没有关于这个的说法,结果#svcs ftp发现竟然是online状态开着的,所以粗略研究了下了,在/etc/ftpd下有人文件,大概的说下ftpusers是被禁止的用户而不是开放的用户,比如说root,而ftphosts列出的允许或拒绝从各种主机登录的,cat了一下发觉没有东西,猜想是不是类似于ip+用户名。Ftpaccess是主文件,只用使用ftpaccess –a了以后才能调用/etc/ftpd/ftpaccess的文件。
里面一些关键词:
格式如下class typelist addrglob
Class 用于定义关键词,里面目前有realusers guestusers anonusers,real当然表示本机的用户,用anonymous进去发现不行,登录不了,然后切换到那天建立的ccav用户发觉就可以了。
Typelist呢表示三类用户,addrglob呢表示地址,默认为*
添加权限:
Limit class n times [message_file]
在最后两行但是被#注释掉了,limit表字串意思,class表刚刚定义的类,主要是guest,realuser,anon.n表用户数,times表相连接日期和时间,any表任何日期,message_file表用户被拒绝访问的消息文件。
按照所提供的意思,可以把下面三行的意思可以认为如下:
Limit-time anonymous 30 可以理解成限制链接时间,匿名,30分钟
Limit anonousers 10 wk0730-1800 /etc/… 可以理解为限制匿名用户为10个在工作的时间早7:30-18:00 信息为如下目录
Limit anonousers 50 SaSuAny1800-0730 /etc/…可以理解为限制匿名用户为50个在周六或者周日和其他任何时间的晚18:00-7:30
在环境中用/usr/sbin/ftpwho命令可以查看目前正在使用的用户是哪些
/usr/sbin/ftpcount可以查看目前哪些用户和登录限制
Loginfails 表示登录失败的次数
想修改ftpuser然后重启服务,发觉根本不会搜了下
ftp pkill -HUP inetd (ftp)
dns pkill -HUP named(telnet)
限制对缺省服务器的访问增加以下字段
Defaultserver deny username[username]禁止对defaultserver的受限访问权限的用户
Defaultserver allow username[username]允许对defaultserver的受限访问权限的用户
阻止匿名用户访问defaultserver private
对用户创建我还是习惯于unix下的useradd这个命令,对于文中提到的脚本ftpconfig我找了下似乎没有。那对于欢迎信息和帮助文档而言,具体的格式都和上面的差不对,标签分别是message和readme。
对文件访问的命令
Command yesno typelist command包括了chmod,delete..等等啦,而后面后最yes or no这些都可以在具体文档那个中查看出来。
上传文件upload [absoluterelative][class=]...[-] root-dir \
dirglob yesno ownergroupmode [dirsnodirs][]
path-filter typelistmesgallowed_charset{disallowedregexp...}
例子:upload /export/home/ftp /incoming yes ftpadm ftpadmin 0440 nodirs
path-filter anonymous /etc/ftpd/filename.msg ^[-A-Za-z0-9._]*$^[.-]
可以理解为对前个目录使用chroot的ftp帐户可传到/incoming目录下,文件为ftpadm和组ftpadmin拥有,nodirs的关键字为0440阻止匿名用户创建子目录。
在ftpaccess中的noretieve的意思是可禁止用户检索文件。
在ftpaccess中添加virtual address rootbannerlogfile path可对虚拟服务进行编辑
例子virtual 192.168.18.95 root /var/ftp/vritual/ftp-serv
在/etc/ftpd/ftpservers添加以下
address /conig-ile-dir
address 是IP地址 conig-ile-dir 是目录

启动ftp服务
# svcadm enable network/ftp
瞌睡 -。- ~~~

进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次编辑

移动光标类命令
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字j至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾

屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行

删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本

搜索及替换命令 :
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换

选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息

最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指
定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行 。

I hate Vi!!!
查看ixpub上的solaris的维护,这些和LINUX机器上的差不多
#dmesg grep cpu 查看cpu
#dmesg grep mem 查看内存
#vxdisk list查看磁盘的个数
#df –k 如何查看文件系统
#format 如何查看磁盘的大小
#cd /opt/SUNWexplo/bin/explorer 收集信息的工具
#explorer
查看informix的版本
#su - informix
informix>onstat –
#netstat –in查看子网

.tar解包: tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)---------------------------------------------.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName---------------------------------------------.bz2解压1:bzip2 -d FileName.bz2解压2:bunzip2 FileName.bz2压缩: bzip2 -z FileName.tar.bz2解压:tar jxvf FileName.tar.bz2压缩:tar jcvf FileName.tar.bz2 DirName---------------------------------------------.bz解压1:bzip2 -d FileName.bz解压2:bunzip2 FileName.bz压缩:未知.tar.bz解压:tar jxvf FileName.tar.bz压缩:未知---------------------------------------------.Z解压:uncompress FileName.Z压缩:compress FileName.tar.Z解压:tar Zxvf FileName.tar.Z压缩:tar Zcvf FileName.tar.Z DirName---------------------------------------------.tgz解压:tar zxvf FileName.tgz压缩:未知.tar.tgz解压:tar zxvf FileName.tar.tgz压缩:tar zcvf FileName.tar.tgz FileName---------------------------------------------.zip解压:unzip FileName.zip压缩:zip FileName.zip DirName---------------------------------------------.rar解压:rar a FileName.rar压缩:rar e FileName.rarrar请到:http://www.rarsoft.com/download.htm 下载!解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):[root@www2 tmp]# cp rar_static /usr/bin/rar---------------------------------------------.lha解压:lha -e FileName.lha压缩:lha -a FileName.lha FileNamelha请到:http://www.infor.kanazawa-it.ac.jp/.../lhaunix/下载!>解压后请将lha拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):[root@www2 tmp]# cp lha /usr/bin/ ---------------------------------------------.rpm解包:rpm2cpio FileName.rpm cpio -div---------------------------------------------.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea解压:sEx x FileName.*压缩:sEx a FileName.* FileNamesEx只是调用相关程序,本身并无压缩、解压功能,请注意!sEx请到: http://sourceforge.net/projects/sex下载!解压后请将sEx拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):[root@www2 tmp]# cp sEx /usr/bin/

评论

此博客中的热门博文

Python学习笔记20100117

映射list   Dictionary 是用{}. list 是一那个[]. turple是用() 当你定义过dictionary后,你可以使用d.keys(), d.values(),d.items()将定义后的时候分别显示出来 当然可以将list里的值加减乘除,也可以如一般的定义直接重新复制这个list. 链接与分割字符串的 li=";", join(li) 则显示的就是 分隔符为;的数 如果使用li=li.split(";")则将刚刚;的分隔符删除,而split里也可定义域,如li.split(";",1)   自省 <---这是啥 之前在使用的时候发觉有些书本上的模块不能调用,很多是py脚本定义过的函数。 下载该脚本s,然后上传至指定位置。 >>>import sys >>>sys.path >>>sys.path.append("绝对位置")然后就能调用这些脚本和参数了。 删除 >>>sys.path.pop() 定义一个参数是 def info(test, test1=10.test2=12): info是函数名,test是必备参数,因为没有定义值,test1和test2是可选参数,定义了初始值   以上是外部函数的调用,下面转到内部函数 内部函数有type,str,dir及其他   ---type 返回任意字符的类型,模块也可以。types模块 >>> type(1) <type 'int'> >>> li=[] >>> type(li) <type 'list'> >>> import odbchelper >>> type(odbchelper) <type 'module'> >>> type(sys) <type 'module'> >>> import types ...

Python学习笔记20100128

methodList = [method for method in dir(object) if callable(getattr(object, method))] ###插一句, ifconfig pcn0 unplumb 去禁solaris的网卡plumb起网卡   and, or  已经and-or一起用。 and 两者为真,print第二个数,一个为假一个为真返回假,三者为真返回最后一个真。 or 两个为真,返回第一个, 一个为假一个为真返回真,三者为假返回最后一个假   lambda可快速定义最小值函数   g = lambda x:x*2 g(3) 6 (lambda x:x*2)(3)   doc string print getattr(object,mothod).__doc__   ljust ljust 用空格填充字符串以符合指定的长度。info 函数使用它生成了两列输出并将所有在第二列的 doc string 纵向对齐。 如果小于的话不会从中截断   -----面向对象 首先导入,你可以选择import module or from module import module 如果你要经常访问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module import。 如果你想要有选择地导入某些属性和方法,而不想要其它的,使用 from module import。 如果模块包含的属性和方法与你的某个模块同名,你必须使用 import module 来避免名字冲突   -----类的定义 class Lofs    pass   这个类的名字是 Loaf,它没有从其它类继承。 类名通常是第一个字母大写,如:EachWordLikeThis,但这只是一个习惯,不是一个必要条件。   这个类没有定义任何方法或属性,但是从语法上,需要在定义中有些东西,所以你使用 pass。这是一个 Python 保留字,仅仅表示 “向前走,不要往这看”。它是一条什么都不做的语句,当你删空函数或类时,它是一个很好的占位符。   你可能猜...

Back to Blog again

     My last blog was almost 6 years again.  lots of things happening those years. like marriage, and move to another country, simply relocation, something is very big in my life.      Back to now,  I guess it is a very good time to start with the blog again. no matter daily life or the tech parts.      These blog may or will contains various languages, Chinese, English or Few Japanese. The first thing, I change the profile to Kamata life, Kamata is Japanese words. "鎌田"  as Kanji. why this change happened, due to we will move from Tamagawa "玉川" to Kamata very soon. I hope I can start to write this not daily, but I hope I can do this continuously.