精华内容
下载资源
问答
  • Linux sftp限制用户访问指定目录

    千次阅读 2019-04-03 15:53:17
    Linux sftp限制用户访问指定目录 一、创建新用户: [root@controller ~]# useradd test [root@controller ~]# passwd test New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd:...

    Linux sftp限制用户访问指定目录

    一、创建新用户:

    [root@controller ~]# useradd test
    [root@controller ~]# passwd test
    New password:
    BAD PASSWORD: The password is a palindrome
    Retype new password:
    passwd: all authentication tokens updated successfully.

    二、修改sshd配置文件:

    [root@controller ~]# vi /etc/ssh/sshd_config
    #Subsystem sftp /usr/libexec/openssh/sftp-server //注释掉这句,不然报错

    添加以下语句

    Subsystem sftp internal-sftp
    Match User test //设置控制的用户或组
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    ChrootDirectory /home/sftp //允许用户访问的目录

    三、重启ssh服务:

    [root@controller ~]# systemctl restart sshd

    四、创建目录:

    [root@controller ~]# mkdir /home/sftp
    [root@controller ~]# chown -R root:test /home/sftp
    [root@controller ~]# chmod -R 750 /home/sftp/

    五、测试登陆:

    [root@controller ~]# sftp test@192.168.31.130
    sftp> pwd
    Remote wsftp> mkdir 123
    Couldn’t create directory: Permission deniedorking directory: /
    因为给了750权限所以无法创建目录

    在指定目录下新建一个子目录:

    [root@controller ~]# mkdir /home/sftp/test
    [root@controller ~]# chown test:test /home/sftp/test/
    [root@controller ~]# chmod -R 755 /home/sftp/test/
    再重新测试下:
    [root@controller ~]# sftp test@192.168.31.130
    test@192.168.31.130’s password:
    Connected to 192.168.31.130.
    sftp> cd file/
    sftp> mkdir 123
    sftp> ls
    123
    sftp> quit
    [root@controller ~]# ls /home/sftp/file/
    123

    五、注意事项:

    sftp用户访问指定目录需要设置用户和组的权限为root,并设置权限为755,但此目录下的文件权限可以自己根据需求设置。

    展开全文
  • 1、需求说明:在一些生产环境中,有部分运营人员需要批量下载并上传专题,配置FTP服务进行权限控制相对比较复杂,也存在安全隐患,为了不让用户浏览除指定目录外得内容,我们可以通过SFTP限制允许访问得目录2、创建...

    1、需求说明:

    在一些生产环境中,有部分运营人员需要批量下载并上传专题,配置FTP服务进行权限控制相对比较复杂,也存在安全隐患,为了不让用户浏览除指定目录外得内容,我们可以通过SFTP限制允许访问得目录

    2、创建系统用户

    # useradd admin && echo 'admin123' | passwd --stdin admin

    3、配置sftp的账户权限

    修改文件/etc/ssh/sshd_config之前先备份文件cp sshd_config{,.bak}

    Subsystem sftp internal-sftp

    Match User admin # 需要限制得用户admin

    ChrootDirectory /data/www/Appcode # 允许admin用户访问得指定目录

    X11Forwarding no

    AllowTcpForwarding no

    ForceCommand internal-sftp

    效果如图所示:

    4、设置允许用户访问目录的权限

    Sftp用户访问目录需要设置所有者和所属组的权限均为root,并设置目录的权限为755

    # chown -R root:root /data/www/Appcode/

    # chmod 755 /data/www/Appcode/

    # /etc/init.d/sshd restart

    5、通过重新启动SSHD后我们通过SFTP连接服务器

    登录后的目录定位到了指定的目录"/data/www/Appcode"目录,不能浏览系统的其他目录,也不能切换目录,用户可正常浏览下载目录中的文件,但是用户无法上传文件。即使在/data/www/Appcode/下属主为admin的目录,用户也无法上传。此时需要在/data/www/Appcode/下建立属主属组为admin的目录,并给/data/www/Appcode目录设置acl权限即可

    # mkdir /data/www/Appcode/test

    # chown admin:admin /data/www/Appcode/test

    # setfacl -m u:admin:rwx /data/www/Appcode

    6、setfacl报错Operation not supported

    setfacl: /data/www/Appcode: Operation not supported

    一般情况下(ext4),默认acl支持都是加载的.但如果遇到二般情况,文件系统加载时没有指定acl.我们可以能过编辑/etc/fstab文件,找到对应得分区指定acl权限,然后重新挂载分区即可。

    # mount -o remount /data

    # setfacl -m u:admin:rwx /data/www/Appcode

    展开全文
  • linux sftp配置用户只能访问指定目录

    千次阅读 2019-07-25 10:57:48
    sftp配置用户上传和下载很容易,但是当需要限制登录用户只能访问指定目录时,则需要注意几点 1.步骤 安装sshd,一般服务器都自带,如果没有安装也可以yum或者apt-ge安装 2.配置sshd 编辑/etc/ssh/sshd_config...

    sftp配置用户上传和下载很容易,但是当需要限制登录用户只能访问指定目录时,则需要注意几点

    1.步骤

    安装sshd,一般服务器都自带,如果没有安装也可以yum或者apt-ge安装

    2.配置sshd

    编辑/etc/ssh/sshd_config文件(一般放置在此处)

    在sshd_config文件中添加如下几行

    Subsystem   sftp    internal-sftp      
    Match Group sftp    #这里是配置用户组,也可以只配置用户(Match User xxxx)
    ChrootDirectory /data/sftp/  #这里配置只能访问的指定目录
    ForceCommand internal-sftp

    3.创建目录 /data/sftp

    注意,注意,注意,重要的事件说三遍

    /data/sftp 的所属组和所属主都必须是root (包括data和sftp),且权限是755权限,不能是777权限

     

    4.创建用户组和用户

    groupadd sftp

    useradd -s /bin/nologin -d /data/sftp -g sftp mysftp

    echo "123456" | passwd --stdin mysftp

    4.在/data/sftp目录下创建用户上传和下载目录

    例如: mkdir  upload

    这个目录的所属主和所属组可以不是root

    5.重启sshd

    systemctl restart sshd

    以上配置过程本人亲自测试并验证过,如有其他要补充的,请留言,至于原理可以翻阅sshd帮助手册

     

     

     

    展开全文
  • 1、创建用户 创建一个例名为 aaaa 的用户,指定它的默认目录为 /home/wwwroot/aaaa,并设置它的密码。 #创建用aaaa ...后期想修改目录的话可以通过这个命令指定 usermod -d /home/wwwroot/te...

    1、创建用户

    创建一个例名为 aaaa 的用户,指定它的默认目录为 /home/wwwroot/aaaa,并设置它的密码。

    #创建用aaaa
    ~]# useradd -d /home/aaaa -m aaaa
    
    #设置aaaa的密码,输入以下指令回车后输入密码即可
    ~]# passwd aaaa

    后期想修改目录的话可以通过这个命令指定
    usermod -d /home/wwwroot/test aaaa

    如果不想让用户aaaa使用ssh登陆,安全性考虑用如下命令设置不允许登陆,但可以sftp访问

    ~]# usermod -s /sbin/nologin aaaa

    恢复ssh登陆可用以下命令:
    usermod -s /sbin/bash aaaa

    2、权限设置与新建可写目录

    用户授权,设置目录权限,aaaa的用户组为root,据网上资料sftp用户访问目录需要设置所有者和所属组的权限均为root,并设置目录的权限为755,即注意两点:
    (1)、ChrootDirectory(下面第3步会设置到这个目录) 的目录及其所有上级目录的所有者都只能为 root 
    (2)、ChrootDirectory 的目录及其所有上级目录都不可以具有群组写入权限(最大权限 755)

    #设置用户组为root
    ~]# chown -R root:aaaa /home/aaaa
    
    #设置权限为755
    ~]# chmod 755 /home/aaaa

    新建一个子目录,这个子目录,用户可以进行读写操作,权限可以设置到777由你定,一般新建时默认755可以了。

    #新建子目录
    ~]# mkdir /home/aaaa/wwwroot
    
    #为用户aaaa添加子目录的操作权
    #设置所有者为aaaa,用户group为root,
    ~]# chown -R aaaa:root /home/aaaa/wwwroot

    上面的第二句chown语句如果不设置的话,用户在wwwroot写入文件会提醒:Couldn't create directory: Permission denied
    chown的详细说明访问:http://www.runoob.com/linux/linux-comm-chown.html

    3、sftp设置

    修改配置文件 “sshd_config”  一般路径:/etc/ssh/sshd_config
    执行命令:

    ~]# vi /etc/ssh/sshd_config

    查找这一行:Subsystem    sftp    /usr/libexec/openssh/sftp-server,注释掉它。不然等一下重启会报错,接着往文件的末尾处添加以下代码,最好在末尾处添加

    Subsystem sftp internal-sftp
    UsePAM yes
    Match user aaaa
    ForceCommand internal-sftp
    ChrootDirectory /home/aaaa

    添加多个目录请重复这三句代码

    Match user aaaa2
    ForceCommand internal-sftp
    ChrootDirectory /home/aaaa2

    保存配置,下面两条指令自由选择一条执行重启sshd:

    # reload:不间断服务重启
    ~]# /etc/init.d/sshd reload
    
    # 或者用下面这条,先stop 再 start,间断服务重启
    ~]# /etc/init.d/sshd restart

    4、测试sftp

    使用终端测试sftp,连接成功后,试着进入其它目录,可以看到提醒不存在的,因为限定了这个用户就只能访问自身的目录。

    ~]# sftp aaaa@192.168.1.286
    Connecting to 116.62.190.22...
    dukedb@116.62.190.22's password:
    sftp> pwd
    Remote working directory: /
    sftp> cd /home
    Couldn't canonicalise: No such file or directory
    sftp> cd ../
    sftp> pwd
    Remote working directory: /
    

    也可以使用,客户端工具进行测试,例如:WinSCP,这里就不截图了,你们自己试试。

    展开全文
  • sftp #输入你的用户名 我的是test Match User test X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp #输入可以访问的目录 ChrootDirectory /test #这行注释掉 #UseDNS no #这行注释掉 #Address...
  • 以下限制了sftp用户组只能sftp 连接上去至指定目录(/projects/tms_prod),ssh 连接就提示只接受sftp 连接。方案具体流程如下:1、创建用户及目录:mkdir -p /projects/groupadd sftp # 新建组useradd -g sft...
  • 所以为他们创建了一个用户并指定只能使用的目录 SFTP服务 需要ssh的支持,服务器已经带有就不再说了创建测试账户:#useradd mysftp 修改密码:# passwd mysftp 创建目录:#mkdir /home/mysftp配置sshd_config ...
  • 1、需求说明:在一些生产环境中,有部分运营人员需要批量下载并上传专题,配置FTP服务进行权限控制相对比较复杂,也存在安全隐患,为了不让用户浏览除指定目录外得内容,我们可以通过SFTP限制允许访问得目录2、创建...
  • 我这里配置lus1这个用户目录,为sftp指向目录,即/home/lus1/ vim /etc/ssh/sshd_config //这个记得要在原有的配置文件注释掉 #Subsystem sftp /usr/libexec/openssh/sftp-server Subsys...
  • Linux sftp 配置手册

    2020-04-16 17:19:15
    mkdir -p /sftp/sftp-oa #创建sftp存放路径 groupadd sftp #创建sftp组 ...#-d /sftp/sftp-oa 指定目录,即登录后会进入该目录 -g sftp 指定用户组 #sftp-oa 创建的用户名 useradd -s /sbin/nologin -d /sft...
  • 并设置密码groupadd sftpuseradd -g sftp -s /sbin/nologinwebsitepasswd website#添加组group sftp# -g 指定用户所属组,必须已经存在,-s /sbin/nogin 禁止ssh登录 -M 不要自动创建用户的宿主目录 sftp 添加用户名...
  • 我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作。这些可以通过配置sftp服务实现。创建新用户www,禁止ssh登录,不创建...
  • 我们有时会遇到这样的需求,限制一个Linux用户,让他只能在指定目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作。这些可以通过配置sftp服务实现。 提供sftp服务的有vsftpd和internal...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 155
精华内容 62
关键字:

linuxsftp指定目录

linux 订阅