AIX 限制ftp用户只能访问其主目录
更新时间:2023-05-05 08:32:01 阅读量: 实用文档 文档下载
- 爱新觉罗推荐度:
- 相关推荐
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", 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 ", 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 问题分析
看一下标红的部分,报EACCES错,表明/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 编辑]
我想到的方法就是:
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
正在阅读:
AIX 限制ftp用户只能访问其主目录05-05
中学办学理念及校训08-24
字形相近字汇总(短句快速记忆)09-13
博士听力材料03-08
红色伴我成长作文700字06-19
集团企业门户建设方案09-13
境外主要债券市场的比较分析及其启示 - 魏玺 - 图文01-29
小学生实验技能操作比赛活动方案03-05
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 只能
- 限制
- 目录
- 用户
- 访问
- AIX
- ftp
- 导游词-沈阳故宫英文导游词 精品
- 文献检索试题和答案
- (英语试卷13份合集)浙江杭州上城区七校联考2018-2019学年英语七下期末质量检测模拟试卷
- 发电厂运行岗位职责
- 新疆沙湾县第一中学2021-2022高一地理上学期期末考试试题
- 职业技能鉴定国家题库高级维修电工理论知识试卷
- 2015年消防工程师《消防安全技术综合能力》模考押题一
- 计算机网络实验(微型互联网安装)
- 最新简短的酒桌祝酒词
- 2017-2022年东莞市田园综合体深度调研及投资可行性咨询报告(目录)
- 二年级下册语文 - 20、蜘蛛开店( 知识讲解+图文讲解) 人教部编版
- 幼儿园大班语言教案《秋天的雨》含反思
- 适合儿童背诵的100首古诗
- 毕业设计 论文 -关于智能餐饮系统的研究与设计
- 平安夜圣诞节微信祝福.doc
- 建筑各类材料的理论重量
- 2020届四川省眉山市高三第三次诊断性考试数学(文)试题解析
- 2018年复旦大学近现代国际关系史(同等学力加试)复试实战预测五套卷
- 中学文言文通假字汇总
- 百思勤翡翠城推广方案