功能需求:
新增用户,限制用户只能通过sftp访问
新建用户,限制用户不能使用ssh登陆
SSH设置
首先要升级OpenSSH的版本。只有4.8p1及以上版本才支持Chroot。
CentOS 5.4的源中的最新版本是4.3,因此需要升级OpenSSH。
指定新的源:
vim /etc/yum.repos.d/test.repo
#输入如下内容
[centalt]
name=CentALT Packages for Enterprise Linux 5 - $basearch
baseurl=http://centos.alt.ru/repository/centos/5/$basearch/
enabled=0
gpgcheck=0
# wq保存
执行升级:
yum --enablerepo=centalt update -y openssh* openssl*
# 重启服务
service sshd restart
# 重看版本
ssh -V
# OpenSSH_5.8p1, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
升级成功后,设置sshd_config。通过Chroot限制用户的根目录。
一、新建用户禁止ssh登陆
useradd –m –d /home/sftp/新建用户名 –s /sbin/nologin 新建用户名
设置用户名密码:
Passwd 新建用户名
二、在sshd_config文件中添加用户内容限制用户只能在自己更目录下使用
vim /etc/ssh/sshd_config
Match User 新建用户名
ChrootDirectory /home/sftp/新建用户名
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
注:必须用root账户进行赋权,不用root用户赋权sftp登陆不上
chown root.root /home/sftp /home/sftp/新建用户名
chmod 755 /home/sftp /home/sftp/新建用户名
三、给该用户创建上传下载的文件夹
cd /home/sftp/新建用户名
mkdir {upload,pub}
chmod a+w upload -R upload
其中,upload目录为可读写权限,可以用来上传,pub目录为只读权限,可以用来下载。
例如创建user用户,限制该用户只能使用sftp,不可以使用ssh连接
useradd –m –d /home/sftp/user –s /sbin/nologin user
Passwd user
vim /etc/ssh/sshd_config
Match User user
ChrootDirectory /home/sftp/user
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
chown root.root /home/sftp /home/sftp/user
chmod 755 /home/sftp /home/sftp/user
用户登陆方式:
sftp user@需要登陆的ip地址
Linux添加或者删除用户和用户组时常用的一些命令和参数。
1、建用户:
adduser phpq //新建phpq用户
passwd phpq //给phpq用户设置密码
2、建工作组
groupadd test //新建test工作组
3、新建用户同时增加工作组
useradd -g test phpq //新建phpq用户并增加到test工作组
注::-g 所属组 -d 家目录 -s 所用的SHELL
4、给已有的用户增加工作组
usermod -G groupname username
或者:gpasswd -a user group
5、临时关闭:在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。
或者使用如下命令关闭用户账号:
passwd peter –l
重新释放:
passwd peter –u
6、永久性删除用户账号
userdel peter
groupdel peter
usermod –G peter peter (强制删除该用户的主目录和主目录下的所有文件和子目录)
7、从组中删除用户
编辑/etc/group 找到GROUP1那一行,删除 A
或者用命令
gpasswd -d A GROUP
8、显示用户信息
id user
cat /etc/passwd