설명
Linux System의 사용자 계정 정보를 대신하여, ProFTPD의 ftpasswd 명령어를 사용하여 사용자 계정을 생성/변경/삭제 하는 방법에 대해서 알아 봅니다.
사용자 계정 추가
ftpasswd 명령어 바로 뒤에 붙는 --passwd는 사용자 계정의 생성/편집/삭제 등에 사용하는 옵션입니다. 그외에 --group와 --hash가 있습니다. --group 옵션은 사용자 그룹의 생성/편집/삭제에 사용하며, --hash 옵션은 사용자 계정의 패스워드를 재발급할때 사용할수 있습니다.
아래와 같은 형식으로 ftpasswd 명령어로 사용자 계정을 생성할수 있습니다. 주의할 점은 ftpasswd 명령어는 사용하는 위치에서 ftpd.passwd 파일이 생성되므로, ftpd.passwd 파일이 있는 폴더에서 ftpasswd 명령어를 실행하거나, --file 옵션으로 ftpd.passwd의 위치를 명시하여 실행합니다. 아래 옵션중에서 --name과 --uid, --gid, --home 등은 임의로 지정하였으며, --shell은 쉘 환경을 제공하지 않도록 설정하였습니다. 보통 -shell 옵션은 "RequireValidShell off" 옵션과 함께 사용합니다.
### CentOS 7 ###
### Execute the command ###
[root@localhost ~]# ftpasswd --passwd --name=test1 --uid=10001 --gid=10001 --file=/etc/proftpd/ftpd.passwd \
--home=/data/test1 --shell=/bin/false
ftpasswd: using alternate file: /etc/proftpd/ftpd.passwd
ftpasswd: creating passwd entry for user test1
ftpasswd: /bin/false is not among the valid system shells. Use of
ftpasswd: "RequireValidShell off" may be required, and the PAM
ftpasswd: module configuration may need to be adjusted.
Password: **********
Re-type password: **********
ftpasswd: entry created
### Description ###
--passwd : 사용자 계정의 생성/편집/삭제와 관련된 작업에서 사용되는 옵션
--name=test1 : 사용자 계정의 이름 지정
--uid=10001 : 사용자 유저 ID 설정
--gid=10001 : 사용자 그룹 ID 설정
--file=/etc/proftpd/ftpd.passwd : 사용자 계정 정보가 저장될 파일 설정
--home=/data/test1 : 사용자 홈 폴더 설정
--shell=/bin/false : 사용자 쉘 환경 설정
### Reference ###
"--shell=/bin/false" 옵션은 환경설정 파일인 "/etc/proftpd.conf"에서 "RequireValidShell off" 항목과 함께 설정합니다.
사용자 계정 정보 변경
등록한 사용자 계정의 패스워드를 변경할때는 ftpasswd 명령어에 --change-password 옵션을 추가하여 실행합니다.
### CentOS 7 ###
### Execute the command ###
[root@localhost ~]# ftpasswd --passwd --change-password --name=test1 --file=/etc/proftpd/ftpd.passwd
ftpasswd: using alternate file: /etc/proftpd/ftpd.passwd
ftpasswd: updating passwd entry for user test1
ftpasswd: /bin/false is not among the valid system shells. Use of
ftpasswd: "RequireValidShell off" may be required, and the PAM
ftpasswd: module configuration may need to be adjusted.
Password: **********
Re-type password: **********
ftpasswd: entry updated
### Description ###
--change-password : 사용자 계정의 패스워드 변경
--name=test1 : 사용자 계정의 이름 지정
--file=/etc/proftpd/ftpd.passwd : 사용자 계정 정보가 저장될 파일 설정
사용자 계정의 홈 폴더의 위치를 변경할때는 ftpasswd 명령어에 --change-home 옵션을 붙여서 실행합니다. --home 옵션은 변경할 홈폴더 위치를 입력하는 것에 주의합니다.
### CentOS 7 ###
### Execute the command ###
[root@localhost ~]# ftpasswd --passwd --change-home --name=test1 --uid=10001 --gid=10001 \
--file=/etc/proftpd/ftpd.passwd --home=/data/test10 --shell=/bin/false
ftpasswd: using alternate file: /etc/proftpd/ftpd.passwd
ftpasswd: updating passwd entry for user test1
ftpasswd: /bin/false is not among the valid system shells. Use of
ftpasswd: "RequireValidShell off" may be required, and the PAM
ftpasswd: module configuration may need to be adjusted.
Password: **********
Re-type password: **********
ftpasswd: entry updated
### Description ###
--passwd : 사용자 계정의 생성/편집/삭제와 관련된 작업에서 사용되는 옵션
--change-password : 사용자 계정의 패스워드 변경 옵션
--name=test1 : 사용자 계정의 이름 지정
--uid=10001 : 사용자 유저 ID 설정
--gid=10001 : 사용자 그룹 ID 설정
--file=/etc/proftpd/ftpd.passwd : 사용자 계정 정보가 저장될 파일 설정
--home=/data/test10 : 변경할 사용자 홈 폴더 지정 (test1 → test10)
--shell=/bin/false : 사용자 쉘 환경 설정
사용자 계정 삭제
사용자 계정 삭제는 --delete-user 옵션을 추가하여 실행합니다. 사용자 계정이 삭제되는 과정에서 확인 과정없이 바로 삭제되므로 주의해서 사용합니다.
### CentOS 7 ###
### Execute the command ###
[root@localhost ~]# ftpasswd --passwd --delete-user --name=test1 --file=/etc/proftpd/ftpd.passwd
ftpasswd: using alternate file: /etc/proftpd/ftpd.passwd
ftpasswd: updating passwd entry for user test1
ftpasswd: entry deleted
### Description ###
--passwd : 사용자 계정의 생성/편집/삭제와 관련된 작업에서 사용되는 옵션
--delete-user : 사용자 계정 삭제 옵션
--name=test1 : 사용자 계정의 이름 지정
--file=/etc/proftpd/ftpd.passwd : 사용자 계정 정보가 저장될 파일 설정
사용자 그룹 생성
그룹의 생성/편집/삭제 작업에 사용되는 옵션은 --group입니다. --name 옵션을 기준으로 그룹이 생성되므로 --name 옵션 값이 같고 --gid 값이 다른 경우, --gid 값이 덮어써지므로 주의가 필요합니다.
### CentOS 7 ###
### Execute the command ###
[root@localhost proftpd]# ftpasswd --group --name=test --gid=10101 --file=/etc/proftpd/ftpd.group
ftpasswd: using alternate file: /etc/proftpd/ftpd.group
ftpasswd: updating group entry for group test
ftpasswd: entry updated
### Description ###
--group : 그룹의 생성/편집/삭제와 관련된 작업에서 사용되는 옵션
--name=test : 그룹 이름 설정
--gid=10101 : 사용자 그룹 ID 설정
--file=/etc/proftpd/ftpd.group : 그룹 정보가 저장될 파일 설정
그룹을 생성할때 사용자 계정을 추가하거나 생성된 그룹에 사용자 계정을 추가할때 --member 옵션을 사용합니다.
### CentOS 7 ###
### Execute the command ###
[root@localhost ~]# ftpasswd --group --name=test --gid=10101 --member=test1 --member=test2 \
--file=/etc/proftpd/ftpd.group
ftpasswd: using alternate file: /etc/proftpd/ftpd.group
ftpasswd: updating group entry for group test
ftpasswd: entry updated
### Description ###
--group : 그룹의 생성/편집/삭제와 관련된 작업에서 사용되는 옵션
--name=test : 그룹 이름 설정
--gid=10101 : 사용자 그룹 ID 설정
--member=test1 : 그룹 생성과 함께 추가할 사용자 계정
--member=test2 : 그룹 생성과 함께 추가할 사용자 계정
--file=/etc/proftpd/ftpd.group : 그룹 정보가 저장될 파일 설정
사용자 그룹에 사용자 계정 추가 및 삭제
test 라는 그룹에 test3 이라는 새로운 사용자 계정을 추가합니다. 새로운 사용자 계정을 추가할때 주의할 점은 반드시 기존 사용자 계정 정보와 함께 선언해주어야만 합니다. 기존 사용자 계정을 빼고 새로운 사용자 계정만 선언하면, 그룹에 포함되어 있던 기존 사용자는 삭제됩니다.
### CentOS 7 ###
### Execute the command ###
[root@localhost ~]# ftpasswd --group --name=test --gid=10101 --member=test1 --member=test2 --member=test3 \
--file=/etc/proftpd/ftpd.group
ftpasswd: using alternate file: /etc/proftpd/ftpd.group
ftpasswd: updating group entry for group test
ftpasswd: entry updated
### Description ###
--group : 그룹의 생성/편집/삭제와 관련된 작업에서 사용되는 옵션
--name=test : 그룹 이름 설정
--gid=10101 : 사용자 그룹 ID 설정
--member=test1 : 그룹에 포함된 기존 사용자 계정
--member=test2 : 그룹에 포함된 기존 사용자 계정
--member=test3 : 그룹에 포함할 새 사용자 계정
--file=/etc/proftpd/ftpd.group : 그룹 정보가 저장될 파일 설정
그룹에서 삭제할 사용자 계정을 빼고 기존 사용자 계정만 선언한 ftpasswd 명령문을 실행합니다.
### CentOS 7 ###
### Execute the command ###
[root@localhost ~]# ftpasswd --group --name=test --gid=10101 --member=test1 --member=test2 \
--file=/etc/proftpd/ftpd.group
ftpasswd: using alternate file: /etc/proftpd/ftpd.group
ftpasswd: updating group entry for group test
ftpasswd: entry updated
### Description ###
--group : 그룹의 생성/편집/삭제와 관련된 작업에서 사용되는 옵션
--name=test : 그룹 이름 설정
--gid=10101 : 사용자 그룹 ID 설정
--member=test1 : 그룹에 포함된 기존 사용자 계정
--member=test2 : 그룹에 포함된 기존 사용자 계정
--member=test3 : 그룹에서 삭제할 사용자 계정
--file=/etc/proftpd/ftpd.group : 그룹 정보가 저장될 파일 설정
사용자 그룹 삭제
그룹을 삭제할때는 "--delete-group" 옵션을 사용합니다.
### CentOS 7 ###
### Execute the command ###
[root@localhost ~]# ftpasswd --group --delete-group --name=test --file=/etc/proftpd/ftpd.group
ftpasswd: using alternate file: /etc/proftpd/ftpd.group
ftpasswd: creating group entry for group test
ftpasswd: entry deleted
### Description ###
--group : 그룹의 생성/편집/삭제와 관련된 작업에서 사용되는 옵션
--delete-group : 그룹 삭제 옵션
--name=test : 삭제할 그룹 이름을 지정
--file=/etc/proftpd/ftpd.group : 그룹 정보가 저장될 파일 설정
'FTP > ProFTPD' 카테고리의 다른 글
[ProFTPD] CentOS 7에서 ProFTPD로 SFTP 서비스 (0) | 2021.11.24 |
---|