linux实现权限分离

Linux实现权限分离方法

  • Linux禁止ssh访问只允许sftp和ftp访问指定目录

需求:需要给A开设一个只用于sftp上传的账号,并且只能在指定目录下活动。

1、查看 openssh的版本,如果低于4.8p1,需要自行升级安装

# ssh -V (查看openssh版本)

2、创建组

# groupadd sftp(组名)

3、创建一个sftp用户,名为guest

# useradd -g sftp -s /bin/false guest (/bin/false表示不能通过ssh的方式登录)

4、设置密码

# passwd guest    输入两次密码,回车即可。

5、创建用户活动的根目录

# mkdir -p /1001/sftp

# usermod -d /1001/sftp guest

6、配置sshd_config

# vim /etc/ssh/sshd_config

找到如下这行,并注释掉

Subsystem     sftp    /usr/libexec/openssh/sftp-server

添加如下几行:

Subsystem     sftp    internal-sftp    # 指定使用sftp服务使用系统自带的internal-sftp

Match Group sftp      # 匹配sftp组的用户,如果要匹配多个组,多个组之间用逗号分割

ChrootDirectory /1001/sftp/    # chroot将用户的根目录指定到 /1001/sftp/, 可设为"/",代表根目录。

ForceCommand    internal-sftp     # 指定sftp命令

AllowTcpForwarding no     # 允许用户能使用端口转发

X11Forwarding no     # 允许用户能使用端口转发

:wq保存并退出

7、 设定Chroot目录权限

#     chown root:sftp /1001/sftp

#     chmod 755 /1001/sftp

*:权限必须为755

8、 建立SFTP用户登入后可写入的目录

照上面设置后,在重启sshd服务后,用户 guest 已经可以登录,但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供 guest 上传文件。这个目录所有者为 guest,所有组为sftp,只有所有者有读写权限。

#    mkdir /1001/sftp/1

#    chown guest:sftp /1001/sftp/1

#    chmod 700 /1001/sftp/1

*: 权限设置为700,代表文件所有者具有读写权限。

9、 修改/etc/selinux/config文件中的SELINUX="" 为 disabled或者

#    setenforce 0

10、重启sshd服务

#     systemctl  restart  sshd

测试ssh能否登录:

测试sftp能否登录:

sftp guest@ip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值