Interview Questions Answers.ORG
Interviewer And Interviewee Guide
Interviews
Quizzes
Home
Quizzes
Interviews Operating System (OS) Interviews:BSDBulnexCompiler Linker LoaderDisk Operating System (DOS)MAC Operating SystemNative iOS EngineerOperating System (OS)OS Data StructuresOS General ConceptsOS Memory ManagementOS MultithreadingOS Process ManagementOS X Mountain LionRTOSShell ScriptingSolarisSolaris AdminSolaris CommandsSymbianUnix CommandsUNIX Operating SystemUnix Socket ProgrammingUnix/Linux programmingVxWorksWindowsWindows 7Windows AdministratorWindows CEWindows Programming
Copyright © 2018. All Rights Reserved
Unix Socket Programming Interview Question:
How can I bind() to a port number < 1024?
Submitted by: AdministratorThe restriction on access to ports < 1024 is part of a (fairly weak) security scheme particular to UNIX. The intention is that servers (for example rlogind, rshd) can check the port number of the client, and if it is < 1024, assume the request has been properly authorised at the client end.
The practical upshot of this, is that binding a port number < 1024 is reserved to processes having an effective UID == root.
This can, occasionally, itself present a security problem, e.g. when a server process needs to bind a well-known port, but does not itself need root access (news servers, for example). This is often solved by creating a small program which simply binds the socket, then restores the real userid and exec()s the real server. This program can then be made setuid root.
Submitted by: Administrator
The practical upshot of this, is that binding a port number < 1024 is reserved to processes having an effective UID == root.
This can, occasionally, itself present a security problem, e.g. when a server process needs to bind a well-known port, but does not itself need root access (news servers, for example). This is often solved by creating a small program which simply binds the socket, then restores the real userid and exec()s the real server. This program can then be made setuid root.
Submitted by: Administrator
Copyright 2007-2025 by Interview Questions Answers .ORG All Rights Reserved.
https://InterviewQuestionsAnswers.ORG.
https://InterviewQuestionsAnswers.ORG.