首页>>百科常识

Linux怎么设置用户通过SFTP访问目录的权限

今天宠物迷的小编给各位宠物饲养爱好者分享sftp 权限设置的宠物知识,其中也会对Linux怎么设置用户通过SFTP访问目录的权限进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!

Linux怎么设置用户通过SFTP访问目录的权限

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。 有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。 每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如: $ ls -l sobsrc. tgz -rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz 横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。 例如: - rw- r-- r-- 普通文件 文件主 组用户 其他用户 是文件sobsrc.tgz 的访问权限,表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。 确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。 下面分别对这些命令加以介绍。

Linux怎么设置用户通过SFTP访问目录的权限

linux怎么给用户权限sftp上传权限

useradd
-g
test
–d
/tmp/test
–m
usr1
注:g:用户所在的组
d:表示创建用户的自己目录的位置给予指定
m:不建立默认的自家目录,也就是说在/home下没有自己的目录
useradd
–g
test
–d
/tmp/test
–m
usr2
接着改变文件夹的属主和权限
chown
usr1.test
/tmp/test
----这表示把/tmp/test的属主定为usr1
chmod
750
/tmp/test
----7表示wrx
5表示rx
0表示什么权限都没有
这个实验的目的就是usr1有上传、删除和下载的权限
而usr2只有下载的权限没有上传和删除的权限
当然主配置文件vsftpd***nf
要确定local_enable=yes、write_enable=yes、chroot_local_usr=yes这三个选项

Linux怎么设置用户通过SFTP访问目录的权限

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。 有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。 每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如: $ ls -l sobsrc. tgz -rw-r--r-- 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz 横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。 例如: - rw- r-- r-- 普通文件 文件主 组用户 其他用户 是文件sobsrc.tgz 的访问权限,表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。 确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。 下面分别对这些命令加以介绍。

Linux(RH)如何禁止某些用户使用SFTP

可以用sshd的配置项:DenyUsers,AllowUsers, DenyGroups,AllowGroups

举个例子:
把你希望禁止使用使用sftp服务的用户都加入某个组比如xyz
然后在/etc/ssh/sshd_config设置
DenyGroups xyz
这样所有属于xyz的用户就没有登录ssh的权限了,自然也没有使用sftp的权限了。

注意仅仅在sshd_config禁止掉sftp-server是不够的,因为只要用户还能通过
ssh登录就可以用其他user space 的工具如scp上传下载文件,效果其实跟sftp是一样的。

Linux下如何进行SFTP用户权限设置

1、打开Linux文件查看有哪些权限。 2、使用chown 命令,修改文件test1.txt的所有者为demo1_1,所有组为group_1。使用chmod 命令,修改文件权限为 0750(- rwx r-x r-x)。 3、切换用户demo2,对文件test1.txt,应该没有任何权限。 4、切换用户demo1_1,对文件test1.txt,应该有所有权限。 5、权限修改完成。 注意事项: Linux用户分三种,超级用户,普通用户,伪用户,超级用户拥有所有权限,伪用户一般和进程相关,无需登录系统,所以常说的管理用户权限指的是管理Linux中普通用户的权限。

gulp-sftp为什么没有上传任何文件

gulp.task('upload', function() {
return gulp.src( jadeWorkDir + '/**' )
.pipe(sftp({
host: jadeConfig.sftp.host,
user: jadeConfig.sftp.user,
port: jadeConfig.sftp.port,
key: jadeConfig.sftp.key,
pass: jadeConfig.sftp.pass,
remotePath: jadeConfig.sftp.remotePath
}));
});

如上写task,需在执行任务路径后加 '/**' or '**' 通配符进行匹配。如果没有,则会出现这样的问题:
gulp-sftp: No files uploaded

linux怎么给用户权限sftp上传权限

众所周知SFTP账号是基于SSH账号的,所以在默认情况下访问服务器的权限是非常大的。下面为SFTP用户权限设置方法。 必要条件: 你的openssh-server版本至少得失4.8p1, 因为配置权限需要版本添加的新配置项ChrootDirectory来完成。 如何查看自己服务器上的ssh版本?大家可以尝试以下命令: $ ssh -V 具体实施步骤: 1. 我们需要创建一个用户组,专门用于sftp用户 $ groupadd sftpusers 2. 我们创建一个用户test $ useradd -s /bin/false -G sftpuser test 注意这里我们将test用户的shell设置为/bin/false使他没有**shell的权限 3. 编辑 /etc/ssh/sshd_config 找到Subsystem这个配置项,将其修改为 Subsystem sftp internal-sftp 然后再到文件最尾处增加配置设定属于用户组sftpusers的用户都只能访问他们自己的home文件夹 Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no 保存并关闭文件 4. 修改test用户home文件夹的权限,让其属于root用户 chown root ~test 5. 重启sshd服务 $ service sshd restart 6. 测试用户账号 $ ssh test@localhost 连接会被拒绝或者无法** $ sftp tesst@localhost **后你会发现你的账号无法切换到除自己home目录之外的地方的 常见问题: 如果你链接服务器的时候出现下面的提示: Write failed: Broken pipe Couldn't read packet: Connection reset by peer 这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root, 权限是 750 或者 755。

如何将SFTP用户限制在某个目录下

  通常SFTP的任何用户登录之后能看到整个系统的文件目录,这样很不安全。   通过chroot可以将某个用户登录SFTP后只能在某个限定的目录下操作,这样可以更安全。   将SFTP用户限制在某个目录下的方法与操作步骤:   1、创建一个用于SFTP登录的用户:   useradd sftpuser1   给该用户设置一个密码:   passwd sftpuser1      2、设置sshd_config:   vi /etc/ssh/sshd_config   找到 Subsystem sftp这一行,修改成:      代码示例: Subsystem sftp internal-sftpUsePAM yesMatch user sftpuser1ForceCommand internal-sftpChrootDirectory /home/ftpdir     把以上 /home/ftpdir 目录替换成需要限定的实际目录。   注意,该目录的用户属主必须是root,并且该目录的上级的每一级目录的属主也必须是root。   如果上级目录不可以设置成root,那可以通过建立符号链接 ln -s 来变相实现。   多个用户请重复配置这三行:      代码示例: Match user sftpuser2ForceCommand internal-sftpChrootDirectory /home/ftpdir     这样可以为不同的用户设置不同的限制目录。   3、重新启动sshd:      代码示例: service ssh restart  4、现在用SFTP软件使用sftpuser1用户登录,会发现目录已被限定在了 /home/ftpdir 了。   以上通过实例介绍了将SFTP用户限制在指定目录中的方法,希望对大家有所帮助。

如何将SFTP用户限制在某个目录下

  sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动。
  1.查看openssh软件版本,想sftp服务用户只能访问特定的文件目录,版本需要4.8以上
  代码如下:
  [root@localhost ftp]# rpm -qa grep openssh
  openssh-server-5.3p1-81.el6_3.x86_64
  openssh-5.3p1-81.el6_3.x86_64
  openssh-clients-5.3p1-81.el6_3.x86_64
  2.新增用户,限制用户只能通过sftp访问
  代码如下:
  [root@localhost ftp]# useradd -m -d /opt/ftp/dave -s /sbin/nologin dave
  3.限制用户通过sftp登录进来时只能进入主目录,修改/etc/ssh/sshd_config文件
  代码如下:
  [root@localhost ftp]# vim /etc/ssh/sshd_config
  #Subsystem sftp /usr/libexec/openssh/sftp-server
  Subsystem sftp internal-sftp
  Match User dave
  ChrootDirectory /opt/ftp/dave
  X11Forwarding no
  AllowTcpForwarding no
  ForceCommand internal-sftp
  重启ssh
  4.测试访问
  代码如下:
  root@10.1.1.200:test# sftp -oPort=22 dave@10.1.6.175
  Connecting to 10.1.6.175...
  dave@10.1.6.175's password:
  Read from remote host 10.1.6.175: Connection reset by peer
  Couldn't read packet: Connection reset by peer
  发现连接不上,查看日志
  代码如下:
  [root@localhost ftp]# tail /var/log/messages
  Jan 6 11:41:41 localhost sshd[4907]: fatal: bad ownership or modes for chroot directory "/opt/ftp/dave"
  Jan 6 11:41:41 localhost sshd[4905]: pam_unix(sshd:session): session closed for user dave
  解决方法:
  目录权限设置上要遵循2点:
  ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
  ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。
  如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。
  代码如下:
  [root@localhost ftp]# ll
  total 4
  drwxr-xr-x 3 dave dave 4096 Jan 5 13:06 dave
  [root@localhost ftp]# chown root:root dave
  [root@localhost ftp]# chmod 755 dave
  [root@localhost ftp]# ll
  total 4
  drwxr-xr-x 3 root root 4096 Jan 5 13:06 dave
  然后在测试通过
  代码如下:
  root@10.1.1.200:test# sftp -oPort=22 dave@10.1.6.175
  Connecting to 10.1.6.175...
  dave@10.1.6.175's password:
  sftp> ls
  test
  sftp> cd ..
  sftp> ls
  test
  sftp> cd test
  sftp> ls
  1.txt
  sftp> get 1.txt
  Fetching /test/1.txt to 1.txt
  /test/1.txt
  可以看到已经限制用户在家目录,同时该用户也不能登录该机器。

本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“Linux怎么设置用户通过SFTP访问目录的权限

标签:宠物爱好