私のサーバー(Debian)にはFTPに使用するユーザーがいます。ファイルシステムの特定のディレクトリに対して、彼はディレクトリを作成したりファイルを生成したりできます。
myuser@debian-server:/storage$ su ftp_accesser
Password:
ftp_accesser@debian-server:/storage$ echo "foobar" > foobar.txt
ftp_accesser@debian-server:/storage$ mkdir -v foobar2
mkdir: created directory 'foobar2'
ftp_accesser@debian-server:/storage$ ls -l
total 448380
drwxr-xr-x 2 root root 4096 Mar 25 19:32 other_dir
drwxrwxr-x 2 ftp_accesser ftp_accesser 4096 Apr 9 11:32 foobar2
-rw-rw-r-- 1 ftp_accesser ftp_accesser 7 Apr 9 11:31 foobar.txt
ftp_accesser@debian-server:/storage$
私もこのサーバーでサーバーを運営していますvsftpd
。上記と同じことをするためにクライアントを使ってみました(もちろんファイルを削除)ftp
。
Connected to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:myuser): ftp_accesser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /storage
250 Directory successfully changed.
ftp> mkdir foobar3
550 Permission denied.
ftp> put /home/myuser/foobar.txt foobar.txt
local: /home/myuser/foobar.txt remote: foobar.txt
200 PORT command successful. Consider using PASV.
550 Permission denied.
ftp>
ftp_accesserが/ mkdirファイルをサーバーに配置できるようにする方法はありますか?
答え1
これが私のファイルwrite_enable=YES
でコメントアウトされていることがわかりました。/etc/vsftpd.conf
コメントを削除してサーバーを再起動すると、正常にディレクトリを作成してファイルを配置できます。