반응형
Notice
Recent Posts
Recent Comments
IT 일기장
[Server] sftpuser.sh 계정 삭제 본문
반응형
직원에게 SFTP 접속시 특정 폴더로 접근할 수 있도록 권한을 부여해줘야 했는데,
권한을 부여해주려면 관리자 계정의 sftpuser.sh 파일을 알고있어야 했다. (본인의 경우에는 /data 폴더에 위치)
편집해서 열어봤는데 소스 구조는 다음과 같았다.
#!/bin/bash
COMMAND=${1}
GROUP=sftp
USERNAME=${2}
USERPWD=${3}
USERHOME=/home/${USERNAME}
FTPHOME=data
if [ "$USERPWD" == "" ]; then
USERPWD=$USERNAME
fi
if [ "$COMMAND" == "add" ]; then
/usr/sbin/useradd $USERNAME -g $GROUP -d $USERHOME -u 9999 -s /bin/false
sed -i "s/${USERNAME}:x:9999:/${USERNAME}:x:1002:/g" /etc/passwd
echo "${USERPWD}" | passwd --stdin $USERNAME
echo ">>> Created User ${USERNAME}"
chown -R ${USERNAME}:${GROUP} $USERHOME
chown root:root $USERHOME
chmod 755 $USERHOME
echo ">>> chmod 755 $USERHOME"
mkdir $USERHOME/$FTPHOME
mkdir $USERHOME/$FTPHOME/deploy
chown -R ${USERNAME}:${GROUP} $USERHOME/$FTPHOME
chmod 755 -R $USERHOME/$FTPHOME
echo ">>> Created FTPROOT $USERHOME/$FTPHOME"
mount --bind /data/deploy $USERHOME/$FTPHOME/deploy
elif [ "$COMMAND" == "addmkup" ]; then
/usr/sbin/useradd $USERNAME -g $GROUP -d $USERHOME -u 9999 -s /bin/false
sed -i "s/${USERNAME}:x:9999:/${USERNAME}:x:1002:/g" /etc/passwd
echo "${USERPWD}" | passwd --stdin $USERNAME
echo ">>> Created User ${USERNAME}"
chown -R ${USERNAME}:${GROUP} $USERHOME
chown root:root $USERHOME
chmod 755 $USERHOME
echo ">>> chmod 755 $USERHOME"
mkdir $USERHOME/$FTPHOME
mkdir $USERHOME/$FTPHOME/deploy
chown -R ${USERNAME}:${GROUP} $USERHOME/$FTPHOME
chmod 755 -R $USERHOME/$FTPHOME
echo ">>> Created FTPROOT $USERHOME/$FTPHOME"
mount --bind /data/deploy/WEB_ROOT/was6 $USERHOME/$FTPHOME/deploy
elif [ "$COMMAND" == "del" ]; then
umount $USERHOME/$FTPHOME/deploy
userdel -rf $USERNAME
else
echo $"Usage: {add|del|status|log} {name} {passwd}"
exit 1
fi
exit 0
이 소스를 참고해서 처음에는 계정을 추가를 해줬는데.. 사용자가 이미 있다며 허가 거부를 뱉어냈다.
./sftpuser.sh add [id] [password]
그럼에도 안되는 이유는 잘 모르겠지만 계정을 삭제하고 다시 추가하면 되겠다고 판단해서 진행했다.
root 계정이 아니여서 sudo 붙이는 시행착오를 한번 겪기도 했고..
sudo ./sftpuser.sh del [id] [password]
반응형
'프로그래밍 언어 > Server' 카테고리의 다른 글
[Server] Fiddler를 활용한 운영서버에 있는 소스 분석 (0) | 2024.08.29 |
---|---|
[Linux] OpenJDK 64-Bit Server VM warning INFO oscommit_memory(0x000000075c300000, 378011648, 0) failed error=메모리를 할당할 수 없습니다 (errno=12) (0) | 2023.08.08 |
[Windows 10] Apache 자동 실행 중지 (0) | 2022.09.19 |
[CMD] 8080 포트가 살아있을때 중지 시키는법 (0) | 2022.05.17 |
[SunOS] passwd 기록 목록에 암호가 있습니다 (0) | 2022.01.07 |
Comments