本文共 23481 字,大约阅读时间需要 78 分钟。
ftp://ftp.software.ibm.com/aix/freeSoftware/
http://www.bullfreeware.com/
Linux / Unix系统 umask 命令
http://www.ixpub.net/thread-1031627-1-1.html
A 什么是umask?
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。 你的系统管理员必须要为你设置一个合理的 umask值,以确保你创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。在已经登录之后,可以按照个人的偏好使用umask命 令来改变文件创建的缺省权限。相应的改变直到退出该shell或使用另外的umask命令之前一直有效。一般来说,umask命令是在/etc /profile文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希望永久 性地设置自己的umask值,那么就把它放在自己$HOME目录下的.profile或.bash_profile文件中。B 如何计算umask值 umask 命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最 大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来 说,umask中各个数字最大可以到7。 该命令的一般形式为: umask nnn 其中nnn为umask置000-777。 让我们来看一些例子。 计算出你的umask值: 可以有几种计算umask值的方法,通过设置umask值,可以为新创建的文件和目录设置缺省权限。下表列出了与权限位相对应的umask值。 在计算umask值时,可以针对各类用户分别在这张表中按照所需要的文件/目录创建缺省权限查找对应的umask值。 例如,umask值002 所对应的文件和目录创建缺省权限分别为6 6 4和7 7 5。 还有另外一种计算umask值的方法。我们只要记住umask是从权限中“拿走”相应的位即可。 umask值与权限 umask 文件 目录 0 6 7 1 6 6 2 4 5 3 4 4 4 2 3 5 2 2 6 0 1 7 0 0 例如,对于umask值0 0 2,相应的文件和目录缺省创建权限是什么呢? 第一步,我们首先写下具有全部权限的模式,即777 (所有用户都具有读、写和执行权限)。 第二步,在下面一行按照umask值写下相应的位,在本例中是0 0 2。 第三步,在接下来的一行中记下上面两行中没有匹配的位。这就是目录的缺省创建权限。 稍加练习就能够记住这种方法。 第四步,对于文件来说,在创建时不能具有文件权限,只要拿掉相应的执行权限比特即可。 这就是上面的例子, 其中u m a s k值为0 0 2: 1) 文件的最大权限 rwx rwx rwx (777) 2) umask值为0 0 2 --- --- -w- 3) 目录权限 rwx rwx r-x (775) 这就是目录创建缺省权限 4) 文件权限 rw- rw- r-- (664) 这就是文件创建缺省权限 下面是另外一个例子,假设这次u m a s k值为0 2 2: 1) 文件的最大权限 rwx rwx rwx (777) 2 ) u m a s k值为0 2 2 --- -w- -w- 3) 目录权限 rwx r-x r-x (755) 这就是目录创建缺省权限 4) 文件权限 rw- r-- r-- (644) 这就是文件创建缺省权限C 常用的umask值 下表列出了一些umask值及它们所对应的目录和文件权限。 常用的umask值及对应的文件和目录权限 umask 值 目录 文件 0 22 7 5 5 6 4 4 0 27 7 5 0 6 4 0 0 02 7 7 5 6 6 4 0 06 7 7 1 6 6 0 0 07 7 7 0 6 6 0D umask命令 如果想知道当前的umask 值,可以使用umask命令: $umask 如果想要改变umask值,只要使用umask命令设置一个新的值即可: $ umask 002 确认一下系统是否已经接受了新的u m a s k值: $umask 002 $touch testfile $ls -l testfile rw- rw- r-- 在使用umask命令之前一定要弄清楚到底希望具有什么样的文件/目录创建缺省权限。否则可能会得到一些非常奇怪的结果;例如,如果将umask值设置为6 0 0,那么所创建的文件/目录的缺省权限就是0 6 6!aix关于ftp的问题
http://host.iteye.com/blog/181807
今天,在aix上装测试环境应用时,ftp总登录不上去,郁闷了半天,看了下系统服务,ftp是开着的,新装的机器,装的时候默认都装了。检查/etc/ftpusers文件,其中屏蔽的只有guest用户,正常。
用root用户try,提示:
Login failed.
换一个用户pub try,提示:
530-[files]: 3004-610 You are required to change your password.
Please choose a new one.后查找资料发现,通过root创建的用户,并且最后一次修改密码是root帮忙修改的,那么在/etc/security/password中会带 一个ADMCHG的标志,这个标志设置后,系统便会要求用户下次登录时重置密码,但是ftp用户不能修改自己密码,就导致root新建用户不能ftp的问 题。
解决办法:在控制台上输入 pwdadm -c ftpUser ,就可以将root创建标志去掉,边可以ftp登录了;或者手动修改/etc/security/passwd文件,将对应用户的flags标志置空,再 或者每个用户自己telnet 或者通过其他终端登录上去后修改下密码即可。
呵呵,如果每次root自己修改了密码,也一样不能ftp,非得要pwdadm -c root ,其他用户自己修改没问题。
http://www.ajaxstu.com/AIXxitong/63804.html
http://www.ajaxstu.com/AIXxitong/56245.html
我建了个FTP服务,目录为/ftptemp,此目录权限为所有用户可读写执行,ftp用户为ftpuser,umask为011但是当我上传文件之后, 新的文件的权限只有ftpuser可读写,组用户可读,其他人无权限.
我想问一下,如何设置使本组成员对新上传的文件可读写,谢谢!
有二个办法. 1. 在上传前使用 site 命令,比方 site umask 011
2. 使ftpd 用 -u option 起动
umask 022 在inetd.conf的启动ftpd的那行后边加上 -u 022(根据自己的需要定)Stdbsvr# vi /etc/inetd.conf
ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd -u 002
Stdbsvr# refresh -s inetd
ok
aix的FTP服务器上传的文件权限都是740, 我的需要是: 控制一些目录任何人可以读写; 控制一些目录部分人可以读写; 控制一些目录只有单个人可以读写; 请问该怎么操作?请高手指教,谢谢!
问题 如何改变上传ftp文件的缺省读写属性?
解答 在AIX 环境中,当用户从Windows上传文件到AIX 服务器时 所传文件的缺省读写属性为640(rw-r-----)。如想改变 缺省读写属性为644,首先用vi 编辑器打开/etc/inetd.conf 文件,在"ftp"定义行的末尾加上"-u 033",然后刷新inetd 进程: refresh -s inetd 这就改变了ftp文件的缺省属性。 如果你需要管理AIX上的目录的权限,可以telnet登录进去用变更权限。在AIX下启动FTP服务器
ftp这个服务是属于inetd子系统的,在系统启动的时候,执行/etc/inittab,其中有一个 栏目执行rc.tcpip脚本,该脚本里启动inetd子系统。 inetd子系统通过/etc/inetd.conf来配置那些子服务需要启动,当然包括ftp,telnet等。 观看inetd子系统状态用lssrc -ls inetd,可以看到ftp的状态。 重新启动ftp服务很简单,执行startsrc -t ftp就行了。 配置好像没什么,就是有拒绝那些用户ftp访问。 作为ftp客户端还有自动完成ftp的功能。需要编辑 /.netrc文件
在AIX下启动FTP服务器-默认FTP和wu-ftpd
平台:IBM AIX一:默认FTP IBM AIX操作系统在安装完之后,查看/etc/inetd.conf文件,会有一行ftp stream tcp6 nowait root /usr/sbin/ftpd ftp 这表明系统会默认启动AIX自带的ftpd,使AIX提供标准的ftp服务。但是AIX提供的ftp服务具有一定的局限性,例如普通用户可以查看到/home下除了该用户目录之外的其他目录以及根文件系统等,对用户的控制不够灵活等等。 默认ftp 属于inetd内的服务,/etc/initab ->rc.tcpip inetd 通过/etc/inetd.conf来配置是否运行lssrc -ls inetd startsrc -t ftp 配置没有什么太多说的startsrc -s tcpip 把所有tcpip子系统都起来,当然是inetd和inittab没有关闭FTP情况下 拒绝限制某些用户访问,编辑/etc/ftpusers 添加需要拒绝的用户,每用户一行 For example: #more /etc/ftpusers guest 当尝试 ftp 登录时,系统报错: Name (localhost:root): guest 530 User ql access denied. Login failed 在AIX环境中,当用户从Windows上传文件到AIX服务器时所传文件的缺省读写属性为640(rw-r-----)。如想改变缺省读写属性为644,首先用vi编辑器打开/etc/inetd.conf 文件,在"ftp"定义行的末尾加上"-u 033 ",然后刷新inetd进程:refresh -s inetd 这就改变了ftp文件的缺省属性。 作为客户端,使用ftp自动传输文件 1. 在用户根目录下创建文件.netrc 2. 设置.netrc的属性为600,owner 为ftp用户 3.定制.netrc的内容.如:machine login password macdef init get file1 put file2 .... quit 注:.netrc必须以一空行结束。二:AIX下的wu-ftp 一个增强的FTP服务器软件——wu-ftpd 本文向AIX用户介绍了世界上广泛使用的ftp服务器软件wu-ftpd的安装以及系统配置。 这里推荐一个功能比较强大的ftp服务器端软件wu-ftpd,可以弥补ftpd功能上的不足。 熟悉Linux的用户比较清楚,Linux下默认的ftp服务器软件就是wu-ftpd。这个软件是由华盛顿大学(Washington University- )开发的。它具有非常强大的功能: 1) 可以在用户下载文件的同时对文件做自动的压缩或解压缩操作; 2) 可以对不同网络上的机器做不同的存取限制; 3) 可以记录文件上载和下载时间; 4) 可以显示传输时的相关信息,方便用户及时了解目前的传输动态; 5) 可以设置最大连接数,提高了效率,有效地控制了负载。 您可以在IBM Linux Toolbox网站上下载到: 。IBM提供的wu-ftpd最新版本是2.6.2。 一、wu-ftpd的安装。 从IBM网站上下载到的wu-ftpd是rpm格式的,安装前需要安装fileutils包,同样可以从IBM Linux Toolbox网站上下载到。在安装完后,您可以找到文件/usr/sbin/wu.ftpd,这个文件就是用来替换原来的ftpd的ftp服务器进程。 为了在启动inetd的时候自动启动wu-ftpd,需要将/etc/inetd.conf中ftp stream tcp6 nowait root /usr/sbin/ftpd ftp改为ftp stream tcp6 nowait root /usr/sbin/wu.ftpd ftp,然后用refresh -s inetd刷新inetd进程。安装好以后,可以用/usr/sbin/ckconfig命令来检查是否已经正确安装。此时就可以使用wu-ftpd了。 您可以用lssrc -t ftp随时列出wu-ftpd的状态。 wu.ftpd命令还有一些参数,这里做以简要说明: -d 当FTP服务器出错时,将错误入系统的syslog中; -l 将每次FTP客户端进行连接的信息记录入系统的syslog中; -t 设置FTP客户端连接几分钟无操作就切断连接; -a 使wu-ftp使用/etc/ftpaccess的设定; -A 使wu-ftp不使用/etc/ftpaccess的设定; -L 将FTP客户端登录后所执行的程序记录在系统的syslog中; -I 将FTP客户端上载文件的日志记录在/usr/adm.xferlog文件中; -o 将FTP客户端下载文件的日志记录在/usr/adm/xferlog文件中。 二、wu-ftpd的配置。 wu-ftpd主要有以下6个配置文件: ftpaccess(主配置文件,控制存取权限) ftpconvertions(配置文件压缩/解压缩转换) ftpgroups(设定ftp自己定义的组) ftphosts(设定个别的用户权限) ftpservers(设定不同IP/Domain Name以对应到不同的虚拟主机) ftpusers(设定哪些帐号不能用ftp登录) 下面就文件中的一些常见参数做以说明。 1、/etc/ftpaccess(wu-ftpd的主要配置文件) class--定义群组,用法如下: class[……] 由class定义的组用户才可以登录进ftp,可以使用多层式的class来限制哪些组的用户能够从哪些地方登录。有三个重要的类,real、 anonymous和guest。real如果没有列在定义中,那么这台机器中任何真实的用户都无法用自己的帐号连上来(真实用户是指在主机上拥有自己帐 号的用户)。anonymous如果没有定义,就表示不让没有帐号的的人连上来。如果有定义guest,那么guest组的人就可以上来。另外是指ftp 上来的用户会用到的IP地址,则可自行设定。 以下是一些例子: class all real,guest,anonymous * 定义了一个名为all的类,包含三种人,所有IP的登录用户,也就是任何人都可以登录ftp。 class local real localhost loopback local这个类的意思是只有real的用户可以从本机机器连上来 。 class remote guest,anonymous * remote这个类包含了从任何地方上来的guest和anonymous用户,但是real用户不能登录。 class rmtuser real !*.example.com rmtuser这个类包含了任何远程的(除了example.com)真实用户 ,也就是说example.com是在"黑名单"上的。 autogroup--自动对应组,用法如下: autogroup[……] 因为在UNIX中没有类(class)的概念,只有组(group)的概念。对用户的控制都是基于组的。当定义好的那些同属于一个类的用户,一旦登录上来就会被对应到一个相应的组下面,这样你就可以用Unix的文件权限对某一群人做限制。 deny--拒绝某些地址登录,用法如下: deny 禁止某些机器登录,并显示。例如: deny 210.62.146.*:255.255.255.254 /etc/reject.msg 在reject.msg中您可以给出拒绝登录的理由等等。 guestgroup--设定访客群 guestuser--设定访客帐号 realgroup--设定真实组 realuser--设定真实帐号 defumask--设定某class的umask,用法如下: defumask[] umask是建立文件时该文件的的权限掩码,这对于上传文件很重要。 timeout--设定登录超时,用法如下: timeout accept 接受登录超时,预设120秒 timeout connect 登录建立超时,预设120秒 timeout data 数据传送超时,预设1200秒 timeout idle 用户发呆超时,预设900秒 file-limit--限制某class只能传几个文件,用法如下: file-limit[][] 对某个类用户存取文件的数目,包含了in(上传)、out(下载),total raw代表整个传输的结果,不光是数据文件。例如: file-limit out 20 testftp 限制testftp用户最多只能下载20个文件 byte-limit--限制某class只能传几个字节,用法跟file-limit相似 limit-time--限制一个登录只能持续多久,用法如下: limit-time{*|anonymous|guest} 为了避免有人在ftp站上不下来,可以用这个方法限制用户的上线时间,例如: limit-time guest 5 让guest帐号的用户只能用5分钟 limit--限制某class能同时几人上线,用法如下: limit 设定某个class在某一时间区段内最多能够几人同时上线,后面是当超过登录数目时要显示的信息。例如: limit all 32 Any /home/ftp/etc/toomanyuser.msg 限制所有登录在任何时间只能有32个用户,超过则拒绝登录并显示信息 limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyuser.msg 限制levellone这个class的用户在23:00到6:00这段时间内只能有5人登录 noretrieve--设定哪些文件不可下载 noretrieve[absolute/relative][class=]…[-][…] absolute或relative指文件是用绝对路径还是相对路径 allow=retrieve--设定哪些文件可以下载 allow[absolute/relative][class=]…[-][…] loginfails--设置登入错误可尝试的次数 当用户登录时可能输入错误ID或密码,这个设定可以让用户输入错误几次以后就断线。 greeting--显示Server的版本信息,用法如下: greeting 当用户登入画面显示的server信息,full是预设值,包含版本号以及hostname,brief只有hostname,而terse只有“FTP server ready”的信息。 barnner--设定未进入Login画面之前用户看到的信息,用法如下: banner 这里叙述了在用户登入时,在还没打ID/Password之前要出现的信息。文件路径指的是相对于真实的路径,而不是相对于ftp的根目录。 host--设定ftp主机名 email--指定ftp管理者的email地址 message--信息文件的设定,用法如下: message{ {……}} 这里的文件的路径是相对于ftp的根目录的,“何时”是指当你做了什么动作之后的反应,有几个选择: login(登入时) cwd=(进入某目录时) class 名称是前面已经定义过的,允许你的信息只对哪些人发出。 而信息文件的内容除了文字以外,还可以使用以下一些事先定义好的代号: %T(本机时间) %F(目前分区所剩余的空间) %C(目前所在的目录) %E(管理者的E-mail) %R(客户端主机名称) %L(本机主机名称) %U(用户名称) %M(与我相同class用户允许多少人登录) %N(与我相同class用户目前有多少人登录) %B(绝对磁盘限制大小,目前分区(单位blocks)) %b(preferred磁盘限制大小,目前分区(单位blocks)) %Q(目前已使用的blocks) %I(最大可使用的inodes(+1)) %i(Preferred inodes限制) %q(目前使用的indoes) %H(超量使用磁盘空间的时间限制) %h(超量使用文件数目的时间限制) readme--通知用户哪些README文件已经更新 log commands--记录用户所使用过的命令,用法如下: log commands log transfers--记录用户所传输的文件,用法如下: log transfers 设定有哪些类型的用户传输文件需要记录,包含了inbound(用户上传)和outbound(用户下载),例如: log transfers anonymous,guest inbound,outbound log security--记录安全性,用法如下: log security 特别用于记录某类用户关于noretrive、notar等有关安全性的记录 log syslog--记录到系统的syslog文件 alias--设定目录别名,用法如下: alias cdpath--设定cd更换目录搜索顺序 shutdown--通知用户要关站了 shutdown 如果信息文件存在的话,当这个文件指定的某时间以后,就会拒绝登录并切断已有的登录,等时间一到就关机。这个信息文件的格式如下: chmod--设定是否可以改变文件权限 delete--设定是否可以删除文件 overwrite--覆盖文件 rename--重命名文件 umask--允许设定umask passwd-check--设定anonymous FTP的密码检查程度,用法如下: passwd-check() 设定对anonymous ftp用户的密码是否检查,none表示不检查,trivial为包含@的任意密码,rfc822则表示密码要遵循RFC822格式,enforce表示密码检查不过不允许进入,warn表示密码检查不过只出现警告信息。 deny=email--拒绝特定的email当密码 path-filer--摄定哪些文件名不可使用 path-filer upload--设定upload权限 upload[absloute/relative][class=]…[-] >[dirs/nodirs][d_mode] 用来对我们要设定的目录做权限设定: absoulte/relative使用绝对路径或是相对路径 class=指定某个class root-dir指的是对哪些root-dir的人,也就是chroot后的登入目录,应用这个规则 设定的目录指的就是我们要限制的目录 yes/no指得是能否在此目录下开新文件 owner,group指出是开出来的文件拥有者及组 Mode指的是文件权限 dirs/nodirs指的是能否开新目录 d_mode设定建立新目录时目录的权限,如果不设定会根据mode来设定 thoughput--控制下载速度 thoughput 对远端的地址,控制他抓某个子目录下的某些文件时的速度,例如: thoughput /e/ftp * * oo - * thoughput /e/ftp /sw* * 1024 0.5 * thoughput /e/ftp sw* readme oo - * thoughput /e/ftp sw* * oo - *.foo.com 以上的设定“oo”表示不限制bytes/sec,“-”或是“1.0”都是代表一倍。第一行的意思是说,在/e/ftp下面的文件不限制下载速度;第二行说,在/sw*下面的任何文件限速为1024bytes/sec* 0.5=512bytes/sec;第三行又把readme文件的限速取消;最后一行则对*.foo.com开放全速。 anonymous-root--对某class设定匿名用户的根目录 anonymous-root[] guest-root--预设一个guest用户根目录 guest-root[] 其中用于指定uid的范围 deny-uid,deny-gid--拒绝某段UID(GID)范围 allow-uid,allow-gid--允许某段UID(GID)范围 restricted-uid,restricted-gid--限制用户不能离开他的登录目录 unrestricted-uid,unrestricted-gid--用户可以离开他的登录目录 dns refuse_mismatch--设定DNS查到名称与用户设定不符的动作 dns refuse_mismatch[override] 当用户使用未注册IP时,拒绝他的登录,override则是不理会错误而让他登录,信息文件则是我们要给用户看的。 2、/etc/ftphosts ftphosts文件其实跟ftpaccess里面的access,deny很像,它是特别用来设定某些ID的登录,它没有class定义,所以必须是真实用户。 allow|deny[……] 以下是一些例子: allow rose 140.0.0/8 deny jack 140.123.0.0:255.255.0.0 允许rose从140.*.*.*进来,拒绝jack从140.123.*.*上来。 3、/etc/ftpservers 这个文件控制了当你有不同的IP/hostname的时候,进来的登录使用哪一个配置文件。例如: 10.196.145.10 /etc/ftpd/ftpaccess.somedomain/ 10.196.145.200 /etc/ftpd/ftpaccess.someotherdomain/ some.domain internal 10.196.145.20 /etc/ftpd/config/faqs.org/ /etc/ftpd/config/faqs.org/ 4、/etc/ftpusers 在这个文件里记录的用户禁止使用FTP。 5、/etc/ftpgroups。 给SITE GROUP指令使用,在线切换group。SITE EXEC容易造成安全漏洞,一般不建议开放。 6、/etc/ftpconversions 用来做tar、compress、gzip等动作指令配置文件,只要用预设即可,如果你不开放即时压缩打包,也可以把内容清除。 三、wu-ftpd的一些相关命令。 安装完wu-ftpd之后,会在/usr/bin下安装几个有关ftp管理的命令: ftpcount: ftpcount命令可以统计出当前连接到FTP服务器上的用户数目,并且同时列出上限。 命令输出如下所示: Service class local ---0 --Users(20maximum) Service class remote --5 --Users(100maximum) ftpwho: ftpwho命令可以列出当前连接的用户的详细情况。 ftpshut: ftpshut命令用于生成一个在/etc/ftpaccess中设置的shut.msg文件,用于关机设定。ftpshut命令的格式为: Ftpshut time -l 这个参数设定在关闭FTP服务器功能前多少分钟时停止用户的连接; -d 这个参数设定在关闭FTP服务器功能前多少分钟时切断用户连接; time 指定关闭FTP服务器的时间。例如6:20分则写为0620; 四、有关wu-ftpd的一些说明。 wu-ftpd是免费软件,源代码开放,因此IBM公司不负责该软件的维护和技术支持。目前在wu-ftpd上已经发现了一些安全漏洞,wu-ftpd一直在完善中,因此对于使用wu-ftpd造成的一切直接和间接损失,IBM公司不负任何责任。 参考资料:www.wu-ftpd.org相关文档和
AIX下的FTP配置笔记
http://www.aixchina.net/?viewnews-16009.html
昨天用户提需求,说要在AIX上做一个FTP,但是有限制条件。
原本没有限制条件倒也简单,加了条件就比较麻烦了。
两个目录的权限如下:
drwxr-xr-x 2 tkbudget tkbudget 256 Mar 16 17:02 cron_logs
drwxr-x--- 2 tkbudget tkbudget 256 Mar 17 13:33 tk_outline用户要求建立一个单独的ftp用户,该用户只对上述两个目录有读写权限。
实施步骤:
1> 创建tkbgtftp用户(rlogin=false,限制用户登录)。
AIX Version 5 (C) Copyrights by IBM and by others 1982, 2005. login: tkbgtftp tkbgtftp's Password: 3004-306 Remote logins are not allowed for this account.2> 在/etc/ftpusers文件中加入tkbudget用户,限制OWNER使用FTP服务。
# more /etc/ftpusers tkbudget3> 使用/etc/ftpaccess.ctl来控制FTP的访问权限
# more /etc/ftpaccess.ctl readonly: / readwrite: /hyperion/tk_outline, /hyperion/corn_logs
4> 重启FTP服务
# stopsrc -t ftp 0513-127 The ftp subserver was stopped successfully. # startsrc -t ftp 0513-124 The ftp subserver has been started.
实施了上述操作后,基本上实现了用户的需求,同时在安全上也做了相应的限制,但是感觉不是很灵活。但是对于系统自带的FTP服务来说,就算不错了。
原本打算使用ACL来控制用户访问权限的,但是操作起来对系统修改较多,所以决定还是在FTP服务层面做访问控制。
下面是关于ACL的相关描述,用于参考。在使用acledit命令前,需要先设置相应的环境变量
# export EDITOR=/usr/bin/vi
# aclget tk_outline attributes: base permissions owner(tkbudget): rwx group(tkbudget): r-x others: --- extended permissions enabled permit rwx u:tkbgtftp
AIX中使用ftp服务(添加ftp用户,权限设置)
http://fedora.iteye.com/blog/440071
1.创建目录/icbc
# mkdir /icbc
2.建立ftp组 ftpgrp # mkgroup ftpgrp 3.建立用户myftp # mkuser home=/icbc shell=/usr/bin/bsh su=false icbc 4.设定目录属性 # chown -R icbc:ftpgrp /icbc # chmod 755 /icbc 5.设置用户密码 # passwd icbc6.激活用户
使用icbc用户登录aix系统,重新设置密码;
或者直接修改aix配置,不用重置密码即可使用(待查资料)
7.设置ftp目录权限
修改/etc/ftpaccess.ctl对目录权限进行控制
readonly /
readwrite /icbc
writeonly /icbc/data
aix关于ftp的问题
http://host.iteye.com/blog/181807
今天,在aix上装测试环境应用时,ftp总登录不上去,郁闷了半天,看了下系统服务,ftp是开着的,新装的机器,装的时候默认都装了。检查/etc/ftpusers文件,其中屏蔽的只有guest用户,正常。
用root用户try,提示:
Login failed.
换一个用户pub try,提示:
530-[files]: 3004-610 You are required to change your password.
Please choose a new one.后查找资料发现,通过root创建的用户,并且最后一次修改密码是root帮忙修改的,那么在/etc/security/password中会带 一个ADMCHG的标志,这个标志设置后,系统便会要求用户下次登录时重置密码,但是ftp用户不能修改自己密码,就导致root新建用户不能ftp的问 题。
解决办法:在控制台上输入 pwdadm -c ftpUser ,就可以将root创建标志去掉,边可以ftp登录了;或者手动修改/etc/security/passwd文件,将对应用户的flags标志置空,再 或者每个用户自己telnet 或者通过其他终端登录上去后修改下密码即可。
呵呵,如果每次root自己修改了密码,也一样不能ftp,非得要pwdadm -c root ,其他用户自己修改没问题。
看到了,记录下一,ftp,主机信任关系
http://aix.chinaunix.net/doc/2007/07/28/1107908.shtml
确认看下/etc/inetd.conf和/etc/services里面的配置啊!
netstat -an|grep 21 看看21端口有没有被监控禁止使用FTP用户 在/etc/ftpuser文件添加/etc/passwd文件中存在的用户名,用来禁止使用FTP的用户创建匿名FTP访问 AIX系统中,默认不启动匿名FTP访问 运行/usr/samples/tcpip/anon.ftp,可以实现匿名用户anonyone的FTP访问实现FTP日志 1、编辑/etc/syslog.conf文件 deamon.info [filename] 2、运行refresh -s syslogd,重启syslogd进程 3、编辑/etc/inetd.conf文件 ftp stream .........ftpd ftpd -1 4、运行refresh -s inetd,重启inetd进程 这样就实现日志记录在filename中信任关系 信任关系包括两个文件/etc/hosts.equiv和$HOME/.rhosts文件 一个是主机信任文件,一个是用户信任文件 #/etc/hosts.equiv hostname [usrname] hostname1 [usrname1] ***如果usrname空表示hostname的所有用户都是信任用户 ***hostanme,表示可以信任的主机名 #$HOME/.rhosts + 表示网络中的所有主机 hostname 信任该主机上所有用户 如:这两个文件在HACMP上的应用
telnet (p6550b2)192.168.118.168
AIX Version 5 ?Copyrights by IBM and by others 1982, 2007. login: root root's Password: ******************************************************************************* * * * * * Welcome to AIX Version 5.3! * * * * * * Please see the README file in /usr/lpp/bos for information pertinent to * * this release of the AIX Operating System. * * * * * ******************************************************************************* Last unsuccessful login: 公元2009年12月06日 星期日 09时33分24秒 on /dev/pts/0 from 192.168.116.28 Last login: 公元2009年12月09日 星期三 13时52分47秒 on ftp from ::ffff:172.17.25.104 p6550b2/#cd /etcp6550b2/home/wcsuser$oslevel
5.3.0.0 p6550b2/home/wcsuser$oslevel -s 5300-05-06-0000
proftp
proftp学习笔记
http://icarusli.iteye.com/blog/643950
AIX Proftp配置
http://blog.chinaunix.net/u/23363/showart_2215598.html
下载 : 安装 :使用 root 登录 #rpm -ivh coreutils-5.2.1-2.aix5.1.ppc.rpm #rpm -ivh proftpd-1.2.8-1.aix5.1.ppc.rpm 然后:按照你需要修改 /etc/proftpd.conf proftpd 可以在两种模式下运行: standalone inetd 下面先说 standalone 模式的配置 使用 standalone 模式进行测试 proftpd 是否可以正常提供服务 检查 /etc/proftpd.conf 确保 ServerType standalone 配置正确 #netstat -na|grep 21 // 检查是否已有 ftp 服务占用了 21 端口 如果有,则:修改 /etc/inetd.conf 屏蔽掉 ftp 服务 将 /etc/inetd.conf 中 ftp 服务的行前加 # 号 #ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd 然后 refresh -s inetd 确保停掉 ftp 服务 #netstat -na|grep 21 // 重新检查是否已有 ftp 服务占用了 21 端口 如果仍有,则: ps-ef|grep ftp 查找进程 将找到的 ftp 服务进程杀掉 #kill -9 pid
确保 21 端口释放之后:测试 proftpd 在 standalone 模式下是否能正常运行
确认 /etc/ftpusers 里需要登录的用户已经注释掉 #cd /usr/sbin #./proftpd -t // 检查配置文件是否有语法错误 #./proftpd -n -d2 // 使用 debug 将 proftpd 运行在前台 从客户端登录此 ftp 服务器,进行文件传输测试 测试成功后,即可自己编写脚本进行 proftpd 的启停控制。 inetd 模式的配置 :
修改 /etc/inetd.conf 将 ftp stream tcp6 nowait root /usr/sbin/ftpd ftpd 改为 : ftp stream tcp nowait root /usr/sbin/proftpd proftpd 保存后,重启 inetd 服务 #refresh -s inetd
proftp学习笔记
http://icarusli.iteye.com/blog/643950
proftp学习笔记(一)
这几天,公司终于放假了,终于可以安下心来好好学些proftp+mysql+quota。安装proftp之前,必须先做一个工作,假如你的mysql是自己编译的,那就必须先修改/etc/ld.so.conf,否则后面运行proftp会报错。
vi /etc/ld.so.conf添加下面一行:
/usr/local/mysql/lib/mysql
注意大家如果mysql的安装路径于我不一样,则填写相应的路径,有关mysql的编译安装请参考《Linux+Apache+Mysql+PHP典型配置》。1。下载相关软件
wget下载proftp的最新版本1.2.9
wget
这是配合proftp的磁盘限额的模块
2。解压编译
tar zvxf proftpd-1.2.9.tar.gz
tar zvxf proftpd-mod-quotatab-1.2.11.tar.gz
cp mod_quotatab/*.c proftpd-1.2.9/contrib/
cp mod_quotatab/*.h proftpd-1.2.9/contrib/
vi proftpd-1.2.9/contrib/mod_sql_mysql.c 找到#include 这一行,将mysql.h改成你的系统中此文件所在的路径,如/usr/local/mysql/include/mysql/mysql.h 编译: ./configure \ --prefix=/usr/local/proftpd \ --with-modules=mod_sql:mod_sql_mysql:mod_quotatab\ :mod_quotatab_sql \ --with-includes=/usr/local/mysql/include/mysql \ --with-libraries=/usr/local/mysql/lib/mysql make make install ok, 现在我们可以来启动proftp了,只要 /usr/local/proftpd/sbin/proftpd用你的ftp客户端试验以下,应该可以正常登陆,包括匿名和linux用户名可以。
其实默认的proftp满足日常的服务器管理用还是绰绰有余的,有个地方还是要修改一下,就是默认proftp的配置文件不支持ftp续传,所以我们只要
vi /usr/local/proftpd/etc/proftpd.conf添加以下两行
AllowRetrieveRestart on AllowStoreRestart on 重新启动以下proftp,就可以正常续传文件了。创建proftpd脚本
只要在proftp的源代码目录
cp proftpd-1.2.9/contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd 记得修改proftpd文件,一般要修改proftpd的实际路径 chmod 755 /etc/rc.d/init.d/proftpdok
以后就可以用这个教本来启动,停止,重启proftp
呵呵,今天就讲这些,明天讲些proftp的一些基础配置:)
proftp学习笔记(二) 上次我们讲了proftp的基本安装,由于我们后面有关于mysql和quota的设置,所以编译的时候把相应的模块都编译进去了,如果你不需要mysql和磁盘限额的功能,完全可以不需要这么编译。这里要讲一个非常实用的命令,
/usr/local/proftpd/sbin/ftpshut这个命令还是比较实用的,因为你可能需要不断的调整你的服务器,而这个命令就非常灵活,可以在不停止proftpd进程的前提下,定时停止ftp连接,这里将会详细说它是怎么使用的。
ftpshut [ -l min ] [ -d min ] time [ warning-message ... ]
-l min: 在ftp关闭服务之前的几分钟内,尝试建立新的ftp连接均不被接受
-d min: 在ftp关闭服务之前的几分钟内,已经建立的ftp连接将被中止 time: 在多少时间后,服务器将关闭ftp服务,格式有两种 +number 经过number分钟后关闭 MMHH 在今天MM:HH服务器将关闭注意,这里我们用这个命令是把ftp服务给停了,但实际的proftpd进程还没停止,所以一般调试ftp会使用到这个命令。
举例:
再经过30分钟后,FTP服务将关闭,在这之前的20分钟不可接受任何新的ftp连接,已经建立的在服务关闭前10分钟强制断线,并在客户端显示“FTP Server Will shutdown at time”
ftpshut -l 20 -d 10 +30 "FTP Server Will shutdown at time"
其实ftpshut就是产生/etc/shutmsg ,你只要删除这个文件ftp又可以重新服务,或者 直接
ftpshut -R
好了,开始讲一些proftpd的基本配置吧,其实大家如果熟悉apache的配置的话,你会发现proftpd的设置基本都是类似的,它的配置基本格式是 #全局设置 设置项目1 参数1 设置项目2 参数2#某个目录的设置
<Directory "路径名">; ... ... </Directory>;#关于匿名用户的设置
<Anonymous "匿名登陆的目录">; ... ... <Limit 限制动作>; ... ... </Limit>; </Anonymous>;
我们用到的比较多的可能是Limit的使用,Limit大致有以下动作,基本能覆盖全部的权限了,大家灵活使用就是了。
CMD:Change Working Directory 改变目录 MKD:MaKe Directory 建立目录的权限 RNFR: ReName FRom 更改目录名的权限 DELE:DELEte 删除文件的权限 RMD:ReMove Directory 删除目录的权限 RETR:RETRieve 从服务端下载到客户端的权限 STOR:STORe 从客户端上传到服务端的权限 READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等 WRITE:写文件或者目录的权限,包括MKD和RMD DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的 ALL:所有权限 LOGIN:是否允许登陆的权限
针对上面这个Limit所应用的对象,又包括以下范围
AllowUser 针对某个用户允许的Limit
DenyUser 针对某个用户禁止的Limit AllowGroup 针对某个用户组允许的Limit DenyGroup 针对某个用户组禁止的Limit AllowAll 针对所有用户组允许的Limit DenyAll 针对所有用户禁止的Limit
关于限制速率的参数为:
TransferRate STOR|RETR 速度(Kbytes/s) user 使用者
下面我们以例子来解说proftp的配置,这样大家可能更加容易理解。1。ftp服务器支持断点续传,且最大支持同时10人在线,每个ip只允许一个连接;
2。允许ftpusers用户组只能访问自己的目录,而不能访问上级或者其他目录; 3。用户登陆服务器时不显示ftp服务器版本信息,以增加安全性; 4。建立一个kaoyan的ftp帐户,属于ftpusers组,kaoyan用户只允许下载,没有可写的权限。下载速率限制在50Kbytes/s。 5。建立一个upload用户,也属于ftpusers组,同kaoyan用户的宿主目录一样,允许upload用户上传文件和创建目录的权限,但不允许下载,并且不允许删除目录和文件的权限,上传的速率控制在100Kbytes/s先是前期的用户和组添加以及目录的权限设置
group add ftpusers useradd -d /home/kaoyan -g ftpusers -s /bin/fales kaoyan useradd -d /home/kaoyan -g ftpusers -s /bin/fales upload chown -R kaoyan:upload /home/kaoyan chmod -R 775 /home/kaoyan 如果你只想ftpusers组的用户访问,可以设置成770都行。 设置/usr/local/proftpd/etc/proftpd.conf注意#表示注释,对设置没影响,可以不写
ServerName "Frank's FTP Server" ServerType standalone DefaultServer on Port 21 Umask 022 MaxInstances 30 #最多有30个proftpd的PID User nobody Group nobody TimeoutStalled 10 MaxClients 10 #最多允许10个用户在线 MaxClientsPerHost 1 "对不起,一个IP只允许一个连接" AllowStoreRestart on #允许断点续传(上传),断点续续(下载)是默认支持的,不用设置 DisplayLogin welcome.msg #欢迎词文件 ServerIdent off #屏蔽服务器版本信息 DefaultRoot ~ ftpusers #设置ftpusers组只能访问自己的目录<Directory />;
AllowOverwrite on </Directory>; <Directory /home/kaoyan>; <Limit WRITE>; #不允许写 DenyUser kaoyan </Limit>; <Limit RMD RNFR DELE RETR>; #不允许删除,改名,下载 DenyUser upload </Limit>; TransferRate RETR 50 user kaoyan TransferRate STOR 100 user upload </Directory>;
我这里实现的方式还可以通过
<Anonymous ~kaoyan>;
...
...
</Anonymous>;
<>;<Anonymous ~upload>;
...
...
</Anonymous>;
而且更加灵活,具体用那种方式,看大家了,我只是给大家入个门而已好了,今天就讲到这里,明天继续讲一些proftp的其他配置
proftp学习笔记(三) 前面的两个笔记,我想大家对proftp的设置应该有些认识,是不是跟apache的配置差不多吧。我想配置过Serv_U服务器的,再稍微看一下proftp的配置规则,应该能马上能配置出一个强大的proftp服务器。这里我们再讲一些proftp的其他参数配置:
MaxHostsPerUser 1 "对不起,每个帐户最多允许来源ip为1个"
#MaxHostsPerUser 对防止ftp帐号还是比较有用的。MaxClientsPerUser 1 "对不起,每个帐户在每个客户端最多可以同时登陆1次"
#这个参数可以防止多线程软件下载对服务器的破坏MaxClientsPerHost 1 "对不起,同一个客户端只能最多1个帐号可以登陆"
#比如ftp服务端有好多帐户你都有,但也只能用1个帐号登陆呵呵,这三个Max参数比较容易搞晕,大家可要搞清他们的含义哦:)
WtmpLog on
#是否要把ftp记录在日志中,如果不想可以设置成off屏蔽掉log日志。TimeoutIdle 600
#客户端idel时间设置,默认就是600秒DisplayLogin welcome.msg
#设置ftp登陆欢迎信息文件关于欢迎文件的设置包含如下参数
%T 目前的时间
%F 所在硬盘剩下的容量
%C 目前所在的目录
%R Client 端的主机名称
%L Server 端的主机名称
%U 使用者帐户名称
%M 最大允许连接人数
%N 目前的服务器连接人数
%E FTP服务器管理员的 email
%i 本次上传的文件数量
%o 本次下载的文件数量
%t 本次上传+下载的文件数量
知道这些参数,我们就可以写出一个友好的欢迎语vi /home/kaoyan/welcome.msg
欢迎您%U, 这是Frank的测试FTP服务器; 目前时间是:%T; 本服务器最多允许%M个用户连接数; 目前服务器上已有%N个用户连接数; 目前你所在的目录是%C; 目录所在的硬盘还剩下%F字节。 让proftp支持现在流行的FXP传输方式,默认是不支持的。 只要在服务端设置
AllowForeignAddress on
PassivePorts 49152 65534 #端口也可自己指定喜欢的
千万别忘了在客户端也要设置成支持FXP哦,否则想我试验了好几次,一直以为服务器没设置好,其实就是客户端没设置,呵呵。 如何让root能登陆,默认proftp是不支持root登陆,我们可以设置让root也能登陆ftp,不过我在这里还是建议大家最好不要让root能登陆ftp,设置如下 RootLogin on如何禁止某个地址访问ftp
比如禁止10.1.1网段的机器访问ftp,可以这么设置
<Limit LOGIN>;
Order deny,allow Deny from 10.1.1. Allow from all </Limit>;
虚拟ftp的建立,一般用于一台ftp服务器有好多ip地址,或者ftp用不同的端口,基本设置语法是:
比如我们要做一个端口是5555的ftp服务器:
<VirtualHost 210.51.0.124>; ServerName "Frank FTP Server" Port 5555 ... <Directory 目录>; ... <Limit 动作>; ... </Limit>; ... </Directory>; </VirtualHost>; 至于虚拟主机中的其他设置跟我以前讲的基本差不多上传/下载比率设置,我想用过Serv_U的朋友一定知道这个功能的使用,我们这里让proftp也实现这个功能。
要实现功能注意编译的时候加入ratio模块,否则proftp默认是不支持,假设有个帐户ftp1的ftp目录在/home/kaoyan ,然后我们设置ftp1的上传/下载比率是1:2(即上传1M,就可以下载2M) touch /home/kaoyan/ratio.dat touch /home/kaoyan/ratio.tmp chmod -R 666 /home/kaoyan在proftpd.conf设置如下
Ratios on
SaveRatios on RatioFile /home/kaoyan/ratio.dat RatioTempFile /home/kaoyan/ratio.tmp 在相应的设置项里添加 UserRatio ftp1 0 0 2 1000 #UserRatio "使用者帐户" fileratio filequota byteratio bytequota # fileratio :以文件为基础的比率,通常不限制,故为 0 # filequota :预设置能下载多少文件,不限制时为 0 # byteratio :就是上传/下载的比例,如果数字为2,表示1:2 # bytequota :预设置能下载多少 KBytes 的文件 #上面设置的就是1:2的比率,默认只允许下载1M的文件 ok,重启一下,以后ftp1就可以启用上传/下载比率了 proftp学习笔记(四) 今天我们讲proftp+mysql+quota的应用,我想大家最期待的就是这个了吧
end
转载地址:http://frjni.baihongyu.com/