저는 루트용으로 설계된 시스템을 가지고 있고 그 시스템에서 FTP 서버를 실행하고 싶습니다. 내가 사용하고 있는 소프트웨어는 운영 체제 자체와 동일한 사용자 이름과 비밀번호를 사용하여 인증을 처리합니다. 나에게는 다른 사용자가 FTP 데이터 전송을 수행하고 다른 사용자는 FTP 서버만 실행하는 것이 더 안전해 보입니다.
그래서 내 질문은 다음과 같습니다. 내가 말했듯이 시스템은 루트에서만 사용하도록 설계되었으며 내가 아는 한 useradd 또는 이와 유사한 것은 없습니다. 사용자를 수동으로 추가할 수 있나요?
중요한 경우 OpenWRT Backfire 10.03.1-rc4를 실행하고 있지만 일반적인 대답이 가장 좋습니다.
답변1
대략적으로:
# cp /etc/passwd /etc/passwd.bak # just in case you e.g. forget one of the >s
# echo 'ftpuser:x:1000:1000:ftp user:/home/ftpuser:/bin/sh' >>/etc/passwd
# cp /etc/shadow /etc/shadow.bak
# echo 'ftpuser:x:15020:0:99999:7:::' >>/etc/shadow
# cp /etc/group /etc/group.bak
# echo 'ftpuser:x:1000:' >>/etc/group
# cp /etc/gshadow /etc/gshadow.bak
# echo 'ftpuser:x:1000:' >>/etc/gshadow
# passwd ftpuser
# mkdir /home/ftpuser
# chown ftpuser:ftpuser /home/ftpuser
물론 사용자 이름, 사용자 ID, 그룹 ID를 사용할 수 있는지 확인해야 합니다. 또한 계정에 어떤 이유로 셸 액세스가 필요한 경우가 아니면 셸을 /bin/false
또는 /sbin/nologin
후자를 사용할 수 있는 경우와 같은 것으로 설정하십시오.