2024-01-04
服务器
ftp、git
470

一、Git 配置

1.yum 安装
mkdir -p /root/.ssh
yum install -y git
2.设置用户
git config --global user.name jdzor # 配置全局用户
git config --global user.email 895947580@qq.com # 配置全局邮箱
3.配置 ssh
ssh-keygen -t rsa -C "895947580@qq.com"  
# Generating public/private rsa key pair...
# 三次回车即可生成 ssh key

# 将公钥添加至代码托管平台、查看添加是否成功
cat ~/.ssh/id_rsa.pub

ssh -T git@git.oschina.net # oschina
ssh -T git@git.coding.net # coding
ssh -T git@gitee.com # 码云

二、FTP 设置

1.安装 vsftp
yum install -y vsftpd
2.修改配置文件
vim /etc/vsftpd/vsftpd.conf
cat /etc/vsftpd/vsftpd.conf |grep ^[^#]

anonymous_enable=NO # 不允许匿名访问
local_enable=YES # 允许使用本地帐户进行FTP用户登录验证
chroot_local_user=YES # 用户仅可访问家目录,仅 /etc/vsftpd.chroot_list 文件中用户,可切换到其他目录
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list # 白名单,可访问所有目录
allow_writeable_chroot=YES # 配置文件最后添加,不然会报错
3.修改 pam 保护机制
vim  /etc/pam.d/vsftpd

# auth       required    pam_shells.so # 注释原来行
auth       required     pam_nologin.so # 添加新行
4.启动 vsftp
chkconfig vsftpd on # 开机启动
service vsftpd start

# 报错: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
touch /etc/vsftpd/chroot_list # 如果 /etc/vsftpd/chroot_list 文件不存在,手动创建
5.添加 vsftp 账户
groupadd ftp_group # 设置用户组
useradd -d /www/web/project-demo -g ftp_group -s /sbin/nologin ftp_user # 创建用户
passwd ftp_user 
chown -R  root:ftp_group /www/web/project-demo/ # 设置项目拥有者
chmod -R 775 /www/web/project-demo/ # 设置项目读写权限
6.开启 vsftp 端口
firewall-cmd --permanent --zone=public --add-port=21/tcp # 添加端口
firewall-cmd --permanent --zone=public --remove-port=21/tcp # 删除端口
firewall-cmd --reload # 重新读取配置 

# 在给 ftp 账号指定家目录后,如果是项目目录,一定要给入口文件夹或缓存文件夹设置权限,如:
chmod -R 777 /www/web/project/public/
chmod -R 777 /www/web/project/runtime/
chmod -R 777 /www/web/project/storage/

# 使用 WinSCP 客户端,出现“无法获得目录列表”,用户名与密码均无错误使用 Flashfxp 代理仍然无法结局问题,尝试在 WinScp 高级设置中,将被动(PASV)模式前面的对号去掉,再重新登录 ftp。