Linux(RH)如何禁止某些用户使用SFTP
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux(RH)如何禁止某些用户使用SFTP相关的知识,希望对你有一定的参考价值。
系统是Red Hat Enterprise Linux AS release 4 (Nahant Update 7)
现在需要让某些用户使用SFTP,某些用户使用FTP。
SFTP是通过OpenSSH实现的,而FTP使用vsftpd实现。
由于安全需要,限制FTP以及SFTP时使用的根目录(FTP通过/etc/vsftpd.chroot_list限制,SFTP通过OpenSSH提供的功能实现)。
现在的问题是,我需要如何设置才能禁止那些FTP用户使用SFTP服务呢?
举个例子:
把你希望禁止使用使用sftp服务的用户都加入某个组比如xyz
然后在/etc/ssh/sshd_config设置
DenyGroups xyz
这样所有属于xyz的用户就没有登录ssh的权限了,自然也没有使用sftp的权限了。
注意仅仅在sshd_config禁止掉sftp-server是不够的,因为只要用户还能通过
ssh登录就可以用其他user space 的工具如scp上传下载文件,效果其实跟sftp是一样的。 参考技术A
Linux系统可以通过sshd的配置项,禁止某些用户sftp登陆,方法如下:
1、打开sshd的配置文件
vi/etc/ssh/sshd_config2、修改该配置文件,增加或修改如下行
# 禁止用户user1登陆,多个用户空格分隔DenyUsers user1
# 禁止用户组group1的所有用户登录,多个空格分隔
DenyGroups group1
3、保存配置后,重启sshd
/etc/rc.d/init.d/sshd restart#完成上面的配置后,就可以禁止用户或用户组的用户进行SFTP登录
4、配置完毕后,在其它linux机器上使用如下命令进行测试
# 使用ssh测试[root@ServerA ~]# ssh user1@192.168.1.168
user1@192.168.1.168's password:
Permission denied, please try again.
# 使用sftp测试
[root@ServerA ~]# sftp user1@192.168.1.168
user1@192.168.1.168's password:
Permission denied, please try again.
#Permission denied 授权被拒绝,已经实现禁用该用户使用sftp 参考技术B 印象里 sshd 的访问,需要给用户加入 ssh 组。如果没有加入 ssh 组,用户是无法登陆 ssh 的。当然这要看系统的具体设计。
一般服务器专用的 Linux 系统都是这么设计的。你把用户移出 ssh 组就行了。
其实还有一个办法就是,ftp 单独使用自己的用户列表,而不是使用系统用户列表。但这样会降低用户 ID 的系统集成度。但 ftp 用户没有这个主机系统的 ID ,他们也就没有办法访问任何 ftp 之外的东西了。
这主要还是看你具体要提供什么功能的服务了。
如何禁止某个linux用户访问某些文件夹及执行某些命令
方案1:
给这个文件A增加个a的隐藏属性,只能增加数据不能删除修改数据,只有root能设置这个隐藏属性
chattr +a A
lsattr A 可以查看隐藏属性
方案2:
修改文件所属用户和组,普通用户不能访问文件A
chown root:root A
方案3:
只有文件主人可以读取
chmod 700 A
以上是关于Linux(RH)如何禁止某些用户使用SFTP的主要内容,如果未能解决你的问题,请参考以下文章