文章目录需求:创建一个用户,让他只能访问某个目录用 setfacl 实现:用ssh+ftp的方法实现:需求:创建一个用户,只能用于ftp登陆

需求:创建一个用户,让他只能访问某个目录

useradd getfile

mkdir -p /home/weblogic/Oracle/Middleware/user_projects/domains/app/htdocs

让他只能访问这个目录。上层目录也不让其访问。

用 setfacl 实现:

setfacl -m u:getfile:–x /home/weblogic/

setfacl -m u:getfile:r-x /home/weblogic/Oracle/Middleware/user_projects/domains/app/htdocs

setfacl -m u:getfile:–x /home/weblogic/Oracle/Middleware/user_projects/domains/app

setfacl -m u:getfile:–x /home/weblogic/Oracle/Middleware/user_projects/domains/

setfacl -m u:getfile:–x /home/weblogic/Oracle/Middleware/user_projects/

setfacl -m u:getfile:–x /home/weblogic/Oracle/Middleware/

setfacl -m u:getfile:–x /home/weblogic/Oracle/

用ssh+ftp的方法实现:

应该也可以,没有测试成功

https://blog..net/u010073893/article/details/52953911

sudo是让其他用户有执行root命令的权限,不适合目录放权

需求:创建一个用户,只能用于ftp登陆

1、创建用户

需求:该ftp用户不能用于登陆,只能进行21端口的ftp连接

useradd -d /test -s /sbin/nologin test //限定用户test不能telnet,只能ftp,主目录为/test

passwd test

2、修改ftp服务配置

vi /etc/vsftpd/vsftpd.conf

chroot_list_enable=YES //限制访问自身目录

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行

改完配置文件,重启vsFTPd服务器

/etc/init.d/vsftpd restart

测试登陆:ftp 172.16.x.x //登陆后只能在/test目录下活动

2、linux下添加sftp用户并设置权限

需求:该sftp用户不能用于登陆,只能进行22端口的sftp连接

useradd -s /sbin/nologin -M www

passwd www

mkdir /home/www

chown root:root /home/www

chmod 755 /home/www

vim /etc/ssh/sshd_config

修改为下面内容

#注释掉这行

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

#添加在配置文件末尾

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

Match User www #匹配用户,如果要匹配多个组,多个组之间用逗号分割

ChrootDirectory /home/www #用chroot将指定用户的根目录

ForceCommand internal-sftp #指定sftp命令

X11Forwarding no #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉

AllowTcpForwarding no

service sshd restart

mkdir /home/www/ui //用户登录后进入的是/home/www目录是无法写入的 新建一个ui

chown www:www /home/www/ui

chmod 777 /home/www/ui

//可以在其他目录创建软连接指向ui目录

测试登陆:sftp -oPort=22 ui@172.16.x.x //登陆后只能在/home/www/ui目录下活动

3、linux下限制目录的使用大小

dd if=/dev/zero of=/dev/disk.img bs=1024M count=1 //生成一个disk文件

losetup /dev/loop0 /dev/disk.img //把生成的文件虚拟为块设备

mkfs.ext4 /dev/loop0 //格式化设备

mount /dev/loop0 /home/www/ui2 //挂载

losetup -d /dev/loop0 //卸载loop设备与文件的关联

这种方式系统重启之后只需要再mount,里面文件都还在

Logo

更多推荐