Module 3: Milestone 2

I can’t solve this. It is a different error everytime. I have been stuck on this module for maybe a week now. I am very tired of this. I know we are not supposed to share codes on here. But I would really appreciate someone helping me out here.

Please describe the task exactly, what is to be done. I hate the instructions in Module 3. Not beginner friendly at all. Not to mention, every resource on Google points to a different solution. I would appreciate it if someone could clarify the objective and give me a step by step procedure on what to do. I don’t want the code or anything, but jeez atleast the documentation or something.

Elaborate your issue. Are you facing trouble starting the server or transferring via ftp ? What is the core of your problem.

I don’t even know what I am achieving in the module.

To elaborate, here are my issues -

  1. What are the user permissions of the vsftpd_v1 files and should we be running the file as root?
  2. Should we be changing the PATH to include current directories or move the vsftpd_v1 files to usr/bin
  3. What is the user for the ftp and where is it being set? Is it the same user as ‘crio-user’? Where is the password being set?
  4. What is the difference in terms of user permissions between the get and put command, because I don’t even know but for me the get command was working but put for some reason gave me a ‘Permission Denied’ error, even though it is owned by the same crio-user.
  5. WHY IS EVERYTHING BEING REVERTED BACK TO NORMAL EVERYTIME I LOGOUT

Okay let me try to address your issues.
First of all vsftpd.conf file is the one which requires root permissions because it is a necessary conditon for vsftpd.conf.
Go through the link for vsftpd.conf provided in milestones. It will show a huge list of parameter which can be set to true or false or certain number or string depending upon parameter you are addressing. If you will go through the link its not difficult to understand. Every parameter has its own purpose. For eg the parameter anonymous_enable is a boolean parameter that means it will have either yes or no value. The purpose of this is to tell the server whether to allow anonymous login or not. If set to yes, this means you can login into the server without a user-name and password that is anonymously. Similarly there’s a whole list of parameters with specific purpose.
When you would have run vsftpd_v1 you would have got command not found error this is an error because it is an executable file and the path for this is outside the $PATH variable. Thats why only vsftpd_v1 is not enough. You are not required to copy or move vsftpd_v1 to path. You can use ./ which is an alias for bash or you can add the path to $PATH variable.
FTP is facilitating your communication for server. You can always run ps -ef command to see the list of processes and their users. The password for ftp will be your workspace password. I told you about anonymous_enable parameter right? If you will set it to yes you wont require password to login but its not a good practice to enable anonymous login to your server. Be smart while setting such parameters.
Go through the forum lots of questions has been answered regarding the same.
Get and Put commands are commands used to download and upload file from server and to the server respectively. You can always see on google how to write get and put command. Regarding permission for ftp it describes to what extent a user has privileges for uploading and downloading a file to and from server. Suppose you want a client should only be able to download a read only file from server, you can always set permission for the same in vsftpd.conf file.
Since our workspace is virtual for memory management refresh procedures work in background.

1 Like

So you are saying that apart from the configuration file, all the others should have crio-user ownership and everything should work fine?

Also, where is the user being set? Like sometimes its ‘crio-user’ sometimes its ‘ftp’ for me. I don’t quite understand that.

Apart from that I did write the put and get commands correctly, like the get command worked fine for me, but the put command seems to be giving me a permission denied error. So could you maybe explain the role of permissions in that context?

You should specify permission as per requirement. If a file requires root permission to run you must do that. Set permission according to requirements and need. Put command is giving you error because you dont have rights to do that. Update the corresponding parameter in vsftpd.conf file and everything will work fine. :slight_smile: