之前遇到一个需求,需要在linux服务器开两个账户,一个给运营,使其具有读写权限,另一个给甲方,让其具有只读权限。为防止遗忘,特记录在此。
首先添加两个用户(不能登录linux系统)
useradd -s /sbin/nologin/ -M userA
useradd -s /sbin/nologin/ -M userB
修改密码
passwd userA/userB
创建组
groupadd sftpusers
将用户归属于组下
usermod -g sftpusers userA/userB
创建目录
mkdir sftp
cd sftp
mkdir dic
将目录/sftp/dic/归属于root
chown root:sftpusers /sftp/dic
chmod 755 /sftp/dic
创建sftp用户操作的目录document
mkdir /sftp/dic/document
赋予userA读写权限
chown userA:sftpusers /sftp/dic/document
chmod 755 /sftp/dic/document
赋予userB只读权限
chown userB:sftpusers /sftp/dic/document
chmod 754 /sftp/dic/document
修改配置文件
vim /etc/ssh/sshd_config
将Subsystem sftp /usr/libexec/openssh/sftp-server这一行注释掉
增加如下配置
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory /sftp/dic/
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
重启服务
setenforce 0
systemctl restart sshd.service
默认端口22