AIX 限制ftp用户只能访问其主目录
aix 新建个普通用户test,想让此用户只能ftp到指定的目录下/backup,权限只读;不能进入到其他目录下。如何能实现呢?
1.创建并编辑ftpaccess.ctl
#touch /etc/ftpaccess.ctl
#vi /etc/ftpaccess.ctl------>添加useronly: test
创建用户test,并把其主目录设置为/backup
2. Copy the "ls" binary to /test:
# cd /backup
#mkdir bin
# chown root bin
# cp /bin/ls /test/bin/ls
# chmod 111 /test/bin/ls
# chmod 555 /test/bin
# chgrp system /test/bin
3. Copy the required libraries:
# mkdir lib
# chmod 555 lib
# chgrp system /test/lib
# cp /lib/libc.a lib/libc.a
# cp /lib/libcurses.a lib/libcurses.a
# cp /lib/libcrypt.a lib/libcrypt.a
4.重启FTP服务:
#stopsrc -t ftp
#startsrc -t ftp
-----------------------------
上述步骤实现了/backup显示为/目录,用户不能进入其他目录。
至于权限只读,把用户主目录设置为/bakcup后,设置一下目录权限不就好了。
空间管理您的位置: ITPUB个人空间? hrb_qiuyb的技术空间? 日志
姓名:杨宝秋,OCM,ACE。9年的TB级数据库设计、建设、管理、运行维护、调优经验,也做了7年的Hp和IBM Rs6000的系统管理员,而且是获得了BCFP 认证的SAN管理员,现为中国联通黑龙江分公司数据库主管。
Aix 5.3 ftp其它主机报530 Login incorrect处理
上一篇 / 下一篇 2008-07-29 14:01:51 / 个人分类:Unix
查看( 967 ) / 评论( 0 ) / 评分( 0 / 0 )
1、问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
描述
Aix 5.3 level07的操作系统,以root登陆后ftp其它的主机没有任何问题,以非root的任何用户登陆ftp其它主机键入用户名、口令回车后报如下的报错:
$ ftp 192.168.1.10
Connected to 192.168.1.10.
220 sd11 FTP server (Version 1.1.214.4(PHNE_27765) Wed Sep 4 05:59:34 GMT 2002) ready.
Name (192.168.1.10:root): oracle
331 Password required for oracle.
530 Login incorrect.
Login failed.
ftp>
2、问题诊断
检查过 /etc/ftpusers file format, /etc/inetd.conf等配置文件及用户的设置均未发现问题。google了一下也未发现相似问题的处理。
为细查一下产生问题的原因,决定用truss跟踪一下。
2.1 首先开一个ftp的交乎进程:
oracle>ftp 192.168.1.10
2.2 再改一个窗口以truss进程跟踪
# ps -ef|grep ftp
root 311514 463062 0 09:00:20 pts/2 0:00 grep ftp
oracle 413866 487606 0 08:59:40 pts/1 0:00 ftp 192.168.1.10
# truss -p 446626
ftp窗口报错后,truss捕获到如下信息:
kread(0, 0x00000000, 0) (sleeping...)
kread(0, 0x00000000, 0) = 10
_sigaction(2, 0x2FF1FAB0, 0x2FF1FAC0) = 0
kwrite(4, " U S E R r o o t\r\n", 11) = 11
_sigaction(2, 0x2FF1A9E0, 0x2FF1A9F0) = 0
kread(4, " 3 3 1 P a s s w o r d".., 4096) = 33
kwrite(1, " 3 3 1 P a s s w o r d".., 32) = 32
kfcntl(1, F_GETFL, 0x2FF22FFC) = 2
_sigaction(2, 0x2FF1A9E0, 0x2FF1A9F0) = 0
_sigaction(2, 0x2FF1FAB0, 0x2FF1FAC0) = 0
_getpid() = 446626
open("/dev/tty", O_RDWR) Err#13 EACCES
_sigaction(2, 0x2FF22310, 0x2FF22320) = 0
_sigaction(2, 0x2FF1FAB0, 0x2FF1FAC0) = 0
kwrite(4, " P A S S \r\n", 7) = 7
_sigaction(2, 0x2FF1A9E0, 0x2FF1A9F0) = 0
kread(4, " 5 3 0 L o g i n i n".., 4096) = 22
kwrite(1, " 5 3 0 L o g i n i n".., 21) = 21
kfcntl(1, F_GETFL, 0x2FF22FFC) = 2
_sigaction(2, 0x2FF1A9E0, 0x2FF1A9F0) = 0
_sigaction(2, 0x2FF1FAB0, 0x2FF1FAC0) = 0
_getpid() = 446626
kwrite(1, " L o g i n f a i l e d".., 14) = 14
seteuid(0) = 0
_getpid() = 446626
sigprocmask(0, 0x2FF222A0, 0x2FF222A8) = 0
auditlog("TCPIP_access", -1, "TCP/IP", 56) Err#22 EINVAL sigprocmask(2, 0x2FF222A0, 0x2FF222A8) = 0
seteuid(202) = 0
_sigaction(2, 0x2FF225E0, 0x2FF225F0) = 0
_sigaction(13, 0x2FF225E0, 0x2FF225F0) = 0
_getpid() = 446626
kwrite(1, " f t p > ", 5) = 5
kfcntl(1, F_GETFL, 0x00000020) = 2
kread(0, " u s e r r o o t\n\0\0".., 4096) (sleeping...)
2.3 问题
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
看一下标红的部分,报EACCES错,
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
明/dev/下的tty设备的权限位设置有问题。确认一下:
#ls -l /dev/tty*
crwxr-xr-x 1 root system 1, 0 Jul 29 14:09 tty crwxr-xr-x 1 root system 18, 0 Jun 23 11:57 tty0 crw-r--r-- 1 root system 30, 0 Jun 23 12:45 ttyp0 crwxr-xr-x 1 root system 30, 1 Jun 23 12:45 ttyp1 crwxr-xr-x 1 root system 30, 2 Jun 23 12:45 ttyp2 crwxr-xr-x 1 root system 30, 3 Jun 23 12:45 ttyp3 crwxr-xr-x 1 root system 30, 4 Jun 23 12:45 ttyp4 crwxr-xr-x 1 root system 30, 5 Jun 23 12:45 ttyp5 crwxr-xr-x 1 root system 30, 6 Jun 23 12:45 ttyp6 crwxr-xr-x 1 root system 30, 7 Jun 23 12:45 ttyp7 crwxr-xr-x 1 root system 30, 8 Jun 23 12:45 ttyp8 crwxr-xr-x 1 root system 30, 9 Jun 23 12:45 ttyp9 crwxr-xr-x 1 root system 30, 10 Jun 23 12:45 ttypa crwxr-xr-x 1 root system 30, 11 Jun 23 12:45 ttypb crwxr-xr-x 1 root system 30, 12 Jun 23 12:45 ttypc crwxr-xr-x 1 root system 30, 13 Jun 23 12:45 ttypd crwxr-xr-x 1 root system 30, 14 Jun 23 12:45 ttype crwxr-xr-x 1 root system 30, 15 Jun 23 12:45 ttypf
可以看到除root用户外其它用户对tty设备没有写的权限。
3 问题的处理
明白了报错的原因,处理起来非常容易了,tty设备加上写权限就可以了: #chmod g+w tty*
#chmod o+w tty*
4 测试一下发现问题正是源于此,问题解决了。
<全文完>
AIX下的FTP配置笔记
昨天用户提需求,说要在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
tkbudget
3> 使用/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
发表于:2002/04/02 06:32pm
[这个贴子最后由liangweijun在2002/04/02 06:33pm 编辑]
我想到的
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
就是:
1.建立目录(最好是独立的文件系统)/ftphome
2.建立组ftpgrp
#mkgroup ftpgrp
3.建立用户myftp
#mkuser home=/ftphome shell=/usr/bin/mysh su=false myftp
4.设定目录属性
#chown -R myftp:ftpgrp /ftphome
#chmod 755 /ftphome
5.激活用户
#passwd myftp
当文件拷入/ftphome后记得重新做chown -R动作。
上面方法就是指定的shell不存在,用户无法登陆,但是可以ftp.
不知有无更好方法,请指教,谢谢
发表于: 2002/04/02 09:55pm
最近刚刚做过一个有关AIX下匿名FTP的设置工作,设置步骤倒是也很简单。步骤如下:
1. 设置匿名FTP用户,用vi编辑文件/etc/passwd,加入下面一行信息: ftp:*:2121:21:Anonymous FTP User:/home/ftp:
2. 设置FTP目录
事实上在上一步操作中已经为用户ftp设置了用户主目录以及匿名 FTP时用户的顶层目录。
3. 一旦分配好了空间,就可以创建 FTP目录。这个目录的所有者必须是 root 和一个其组员中不包括用户ftp的组:
# mkdir /home/ftp
# chown root /home/ftp
# chgrp bin /home/ftp
# chmod 755 /home/ftp
接下来的工作是创建 FTP目录之下的子目录,如 bin、etc和 pub等。FTP目录下的这些子目录每个都有专门用途:
bin FTP服务器运行的辅助程序(ls)所在目录。
etc FTPD及其支持程序所需信息表(passwd、group)所在目录。
pub FTP文档目录内所有可供用户公开访问的文件所在目录。
所有这些目录的所有者必须是 root和一个其组员中不包括用户 ftp的组。完成上述操作之后,这些目录的权限等信息如下所示:
drwxr-xr-x 7 root bin 512 Apr 5 15:17 ./
drwxr-xr-x 25 root bin 512 Jul 13 11:30 ../
drwxr-xr-x 2 root bin 512 Aug 28 15:43 bin/
drwxr-xr-x 2 root bin 512 Jun 22 16:23 etc/
drwxr-xr-x 10 root bin 512 Jan 14 10:54 pub/
·各目录的拥有者中均包含 root。
·除用户 ftp外,所有目录都至少有一个不同的组用户。
·任意目录的写权限都不能向所有用户开放。
·bin目录只能包括由所有用户执行的可执行文件。
总之,用户 ftp不得拥有匿名 FTP空间内的任何文件和目录。匿名 FTP用户只能用这种权限对文件进行操作。
4. 为使匿名 FTP用户能够显示目录清单,FTP服务器必须有一个1s命令的拷贝。把系统命令1s的一份拷贝复制到 FTP目录的步骤如下:
# cp /bin/ls /home/ftp/bin
# chown root /home/ftp/bin/ls
# chgrp bin /home/ftp/bin/1s
# chmod 111 /home/ftp/bin/ls
这些命令还确保了复制的拷贝有一个正确的权限,并且不能由任意用户读写。5. 现在必须复制口令文件和组文件的一个“假”备份,并把它放在
~ftp/etc(FTP匿名登录后根下的目录)目录。虽然进行权限检查时并不需要使用这些文件,但如果希望用 ls命令列举目录
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
时能够显示拥有者信息和组信息,那么这些文件将是必需的。应切记不要把系统的实际口令和组文件拷贝到这儿,否则非法入侵者可能由此而访问到你系统的口令信息。
这里制作的/etc/passwd拷贝应包含root和ftp的条目,这两者的口令域均包括了一个星号( *)。同时,这里还可包括那些负责维护匿名 FTP文件的所有用户的条目。这虽然不是必需的,但在列举目录内容时可使用户根据拥有者名(而不是根据 UID)来显示文件权限。在这些条目中,你同样应该用星号替换加密后的口令。
对于这里复制的/etc/group文件,其中只能包括在 FTP档案中出现的组的条目。比如,上面提到的 bin组就应该包括在这儿。对于各组所对应的条目,应当删除组的成员信息,并确保在加密的口令宇段显示的是一个星号( *)
最后,请确保和~ftp/etc/passwd和~ftp/etc/group文件的拥有者中包括 root,并且不是所有用户可写。
6. 在目前的所有 UNIX系统上,FTP服务器都是从 inetd运行的。除非你取消了这个进程,否则 FTP服务器肯定已在/etc/inetd.conf中配置就绪。不过无论如何你都应检查一下这个条目。
如果一切正常,则在/etc/services应该有两个与 FTP相关的条目(如果使用NIS,则这些条目应该在 NIS服务器的 services图上),如下所示:
ftp-date 20/tcp
ftp 21/tcp
(注:以上内容可以用命令 grep ftp /etc/services 来查看。)
请确认已定义了上面两项。
在/etc/inetd.conf应该可以找到类似下面这样的对应 FTP的条目: ftpstreamtcp6nowait root /usr/sbin/ftpd ftpd
(注:以上内容可以用命令 grep ftp /etc/inetd.conf 来查看。)
7. 最后,应该使AIX内核重新读取系统配置文件,使FTP生效。
# refresh -s inetd
0513-095 The request for subsystem refresh was completed successfully. 如果看到上面的提示信息,就意味着配置好了inetd,匿名FTP应该算完全就绪了。
8. 直接ftp yourhost试一试,用ftp用户登录,应该是不需要什么口令就可以的了。
发表于:2002/04/03 04:29pm
楼上的讲的不错!
我通过资料发现IBM提供了建立匿名FTP服务的脚本,目录是:/usr/samples/tcpip/anon.ftp 执行该脚本看看,嘿嘿,然后用ftp用户来进行ftp登陆,好了。
AIX中使用FTP服务
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 icbc
6.激活用户
使用icbc用户登录aix系统,重新设置密码;
或者直接修改aix配置,不用重置密码即可使用(待查资料)
7.设置ftp目录权限
修改/etc/ftpaccess.ctl对目录权限进行控制
readonly /
readwrite /icbc
writeonly /icbc/data