您的位置:首页 > 编程语言 > PHP开发

限制sftp用户只能在自己文件夹下活动,不可进行ssh链接和使用22端口

2016-11-04 11:56 1361 查看
功能需求:

新增用户,限制用户只能通过sftp访问

新建用户,限制用户不能使用ssh登陆

SSH设置

首先要升级OpenSSH的版本。只有4.8p1及以上版本才支持Chroot。

CentOS 5.4的源中的最新版本是4.3,因此需要升级OpenSSH。

指定新的源:

vim /etc/yum.repos.d/test.repo

#输入如下内容

[centalt]

name=CentALT Packages for Enterprise Linux 5 - $basearch

baseurl=http://centos.alt.ru/repository/centos/5/$basearch/

enabled=0

gpgcheck=0

# wq保存

执行升级:

yum --enablerepo=centalt update -y openssh* openssl*

# 重启服务

service sshd restart

# 重看版本

ssh -V

# OpenSSH_5.8p1, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008

升级成功后,设置sshd_config。通过Chroot限制用户的根目录。

一、新建用户禁止ssh登陆

useradd –m –d /home/sftp/新建用户名 –s /sbin/nologin 新建用户名

设置用户名密码:

Passwd 新建用户名

二、在sshd_config文件中添加用户内容限制用户只能在自己更目录下使用

vim /etc/ssh/sshd_config

Match User 新建用户名

ChrootDirectory /home/sftp/新建用户名

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

注:必须用root账户进行赋权,不用root用户赋权sftp登陆不上

chown root.root /home/sftp /home/sftp/新建用户名

chmod 755 /home/sftp /home/sftp/新建用户名

三、给该用户创建上传下载的文件夹

cd /home/sftp/新建用户名

mkdir {upload,pub}

chmod a+w upload -R upload

其中,upload目录为可读写权限,可以用来上传,pub目录为只读权限,可以用来下载。

例如创建user用户,限制该用户只能使用sftp,不可以使用ssh连接

useradd –m –d /home/sftp/user –s /sbin/nologin user

Passwd user

vim /etc/ssh/sshd_config

Match User user

ChrootDirectory /home/sftp/user

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

chown root.root /home/sftp /home/sftp/user

chmod 755 /home/sftp /home/sftp/user

用户登陆方式:

sftp user@需要登陆的ip地址

Linux添加或者删除用户和用户组时常用的一些命令和参数。

1、建用户:

adduser phpq //新建phpq用户

passwd phpq //给phpq用户设置密码

2、建工作组

groupadd test //新建test工作组

3、新建用户同时增加工作组

useradd -g test phpq //新建phpq用户并增加到test工作组

注::-g 所属组 -d 家目录 -s 所用的SHELL

4、给已有的用户增加工作组

usermod -G groupname username

或者:gpasswd -a user group

5、临时关闭:在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。

或者使用如下命令关闭用户账号:

passwd peter –l

重新释放:

passwd peter –u

6、永久性删除用户账号

userdel peter

groupdel peter

usermod –G peter peter (强制删除该用户的主目录和主目录下的所有文件和子目录)

7、从组中删除用户

编辑/etc/group 找到GROUP1那一行,删除 A

或者用命令

gpasswd -d A GROUP

8、显示用户信息

id user

cat /etc/passwd
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐