`
wb284551926
  • 浏览: 538654 次
文章分类
社区版块
存档分类
最新评论

LINUX新建用户,并指定目录,无下载和上传权限(转载)

    博客分类:
  • FTP
FTP 
阅读更多

客户需求:请在数据仓库接口机134.224.40.67上增加ftp账号:sjjs,权限仅为:/infdata3/TDSS_SAVE目录下文件的查询权限

这个看似简单,但还是让我磨了好久才出来,特此记录下来,供大家分享;

一、检查Linux中vsftpd的安装情况

ps -ef |grep vsftpd

 

二、将系统中的SELinux关闭,然后重新启动电脑

关闭SELinux的方法:

修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。
如果不想重启系统,使用命令setenforce 0
注:
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux

setsebool ftpd_disable_trans 1     ----重启之后失效

所以可以加上-P参数永久生效

setsebool -P ftpd_disable_trans 1    ------此命令是为了避免出现 500 OOPS: cannot change directory的错误

 

三、建立用户和指定目录

#useradd -d /home/sjjs sjjs

#passwd sjjs

建立用户sjjs,并指定其ftp目录为sjjs

这样sjjs用户就被指定到相应的文件夹下,在后期的设置中也可以改变用户的指定目录,在后面可以看到

 

四、修改vsftpd.conf配置文件

将anonymous_enable改为NO,阻止匿名上传

将chroot_list_enable和chroot_list_file的注释去掉,阻止用户访问上级目录

userlist_enable=yes   #禁止文件/etc/vsftpd/user_list文件中的用户登陆FTP

user_config_dir=/etc/vsftpd/userconf    #添加读取用户配置目录(注:本行配置默认没有,需要手动输入)

 

五、在/etc/vsftpd下建立chroot_list文件

建立完成后,在其中添加用户sjjs,使其只允许访问指定目录。(注意:是完整路径)

 

六、建立用户配置目录

mkdir -p /etc/vsftpd/userconf

 

七、建立用户登陆后的目录

mkdir /test

因用户已要求目录指定为/infdata3/TDSS_SAVE,所以不需要创建新的目录

 

八、添加用户配置文件(用户配置里面,可以根据要求加入相应的参数)

已知有用户sjjs

注:有很多用户时,需要建每个用户相对应的文件

vi /etc/vsftpd/userconf/sjjs

local_root=/infdata3/TDSS_SAVE   #用户需求的目录,FTP用户登陆后指定的目录

因为只要求有查询权限,即只读权限,所以该用户配置文件里还需要增加

download_enable=NO   #如果设为NO,下载请求将返回“permission denied”

write_enable=NO            #这决定是否容许一些FTP命令去更改文件系统

 

九、启动或是重启ftp服务

#service vsftpd restart

启动成功后,就可以按用户的要求访问FTP服务了

 

注:配置文件中的解释

anonymous_enable=YES开启匿名用户登录 
local_enable=YES开启本地用户登录 
write_enable=YES开启写权限以便上传 
local_umask=022设置上传后文件为user=rwx, group=, other= 
这样,用户上传文件后,是不能删除和修改了。因为用户属于group组。 
解决方法是,设置local_umask=002。 
最终文件权限是777-文件夹掩码-local_umask掩码 
anon_upload_enable=YES开启匿名用户上传权限 
统一匿名上传用户上传的文件的属性 
chown_uploads=YES 
chown_username=ftp 
设定chroot配置,禁止特定用户访问上一级目录 
chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd/chroot_list 
userlist_enable=YES这个选项如果是YES,那/etc/vsftpd/user_list中的用户将被禁止访问ftp。如果是NO,则只有user_list里面的用户才能访问ftp

 

 

 

原文地址:http://blog.csdn.net/jiejie5945/article/details/8125449

分享到:
评论
1 楼 460544406 2017-05-05  
[color=red][/color]
66

相关推荐

Global site tag (gtag.js) - Google Analytics