linux/centos普通用户sudo开启sftp
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux/centos普通用户sudo开启sftp相关的知识,希望对你有一定的参考价值。
参考技术A 一般情况下,从安全考虑,root是禁止ssh登录,普通用户通过sudo操作,一般都没问题,但是要通过ftp传输文件就麻烦了,文件是属于root用户的,普通用户即使等登录也不能更改文件,也要加上sudo命令才能更改文件,通过winscp软件可以实现实现这个功能,详细配置查看这个帖子:http://blog.csdn.net/xuejinliang/article/details/52301349
配置图1(http://upload-images.jianshu.io/upload_images/3727878-911d343f96035822.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置-高级-SFTP sudo /usr/libexec/openssh/sftp-server
配置图2(http://upload-images.jianshu.io/upload_images/3727878-52fa5c95dcc9d859.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
配置-高级-Shell sudo -i
附加背景知识:
https://en.wikibooks.org/wiki/OpenSSH/Cookbook/File_Transfer_with_SFTP
在主流linux系统版本当中,默认都有安装openssl和openssh包,都有ssh命令,也就是说默认安装好了SFTP服务器和sftp命令,不需要额外配置vsftp。
sftp有两种实现
1.sftp-server默认实现
2.internal-sftp可更改用户对应的目录
本来考虑不用sudo,而是通过internal-sftp来实现,把普通用户加入到root用户组,把文件的root用户组权限加上写的权限来实现的,后来发现没用,
因为目录权限设置要遵循2点:
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。
如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。
Linux环境下为普通用户添加sudo权限
系统环境:Centos6.5
1.背景:
sudo是Linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部root命令的一个工具。Linux系统下,为了安全,一般来说我们操作都是在普通用户下操作,但是有时候普通用户需要使用root权限,比如在安装软件的时候。这个时候如果我们切回root用户下效率就会比较低,所以用sudo命令就会很方便。
2.安装sudo
设置之前必须得安装sudo,安装方法:
yum install sudo //这个安装包很小,不到1M
3.设置
(1)进入root用户,打开sudoers文件:
su root //进入root用户
vim /etc/sudoers //打开sudo的配置文件
打开之后如下图所示:
(2)修改sudoers文件
先找到如下图所示的一行:(root ALL=(ALL)ALL)
然后给普通用户kcc添加sudo权限,在“root ALL=(ALL)ALL”这一行下面,加入如下图所示的一行(用户名 ALL=(ALL) ALL),并保存。
ps:有些小伙伴可能会注意到sudoers文件只是一个只读文件,其实强制修改的话也没关系,但是如果你觉得不安全,可以在修改文件之前先赋予文件写权限(W),修改保存之后再收回写权限,操作如下:
chmod u+w /etc/sudoers
//进行修改,修改完成之后:
chmod u-w /etc/sudoers
4.测试
现在已经给kcc用户sudo权限了,我们试着用一下sudo命令在kcc用户下创建安装一个gcc,现象如下:(完全可以安装)
以上是关于linux/centos普通用户sudo开启sftp的主要内容,如果未能解决你的问题,请参考以下文章