Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
You may want to update the line reading: The actual password data is stored in a file called “/etc/passwd”.
I believe it should be “/etc/shadow”
wpg4665: You are completely right. I’ve updated the article. Thanks for keeping an eye out!
This comment has been deleted
Thanks for that article. I am setting up a small mail server with dovecot and was using virtual user for it and needed to understand how /etc/passwd work. The explanation is simple and easy to understand and I was able to grab what I was looking for very fast and very easy. By the way, “adducer” should be “adduser” at the top. For a moment I thought this was a new command that I had to search. Keep up the good work
Hello, Thank you for the great information. I have a linux VPN server and I would like to let users to change their passwords and I don’t want to give them permission to ssh to my server. I developed an application in C# and SSH.NET I can run ssh commands but I am not able to run a command to change users password.
I have tried all the command below: ID_NewPass = txt1.Text.Trim(); using (SshClient ssh1 = new SshClient(ID_ServerID, ID_Username, ID_Pass)) { try { string cp = "passwd " + ID_Uname + " "; ssh1.Connect();
//the command below works with out any issue //I use it to check if the user has any account on the server //if there is not any account Program shows an appropriate message and close //the checking section is somewhere else, I repeat the command to be sure that there is not any //problem in the ssh connection var result_1 = ssh1.RunCommand(“grep -c '^” + ID_Uname + ":’ /etc/passwd ");
cp = "Echo -e \"" + ID_NewPass + "\" | passwd --stdin " + ID_Uname;
cp = "echo -e '" + ID_NewPass + "' | passwd " + ID_Uname;
cp = "echo -e " + ID_NewPass + " | passwd AH3";
cp = "echo user:" + ID_NewPass + " | passwd AH3";
var result = ssh1.RunCommand(cp);
}
finally
{
ssh1.Disconnect();
ssh1.Dispose();
}
none of them work. Any recommendation?