/ Sbin / nologin සහ / bin / false අතර වෙනස කුමක්ද?


185

තාක්ෂණික වශයෙන්, මේ දෙකෙන් pamඔබේ කවචය පරීක්ෂා කිරීම සඳහා සකසා නොමැති නම්, ඔබ කවචයේ pam_shellsනොමැති නම්, ඔබේ පිවිසුම වළක්වා ගත නොහැක. මගේ පද්ධතියේ ඒවා ඊටත් වඩා වෙනස් ප්‍රමාණයේ බැවින් ඔවුන් සැබවින්ම යමක් කරයිදැයි මම සැක කරමි. ඉතින් මොකක්ද වෙනස? ඔවුන් දෙදෙනාම පවතින්නේ ඇයි? ඇයි මම එකක් අනෙකට වඩා භාවිතා කරන්නේ?

-rwxr-xr-x 1 root root  21K Feb  4 17:01 /bin/false
-rwxr-xr-x 1 root root 4.7K Mar  2 14:59 /sbin/nologin


6
"1" ආපසු කේතයක් ලබා දීමට / bin / false කේත 21k ගන්නේ ඇයිදැයි මට කුතුහලයක් ඇත! (සහ / sbin / nologin ගත වන්නේ 4.7k පමණි)
මාර්ක් ස්ටුවර්ට්

1
කියවීමට ප්‍රයෝජනවත්. / Sbin / nologin සහ / bin / false අතර වෙනස කුමක්ද
Nordlys Jeger


1
xnxnev ඔව් ඊඑල්එෆ් හි පොදු කාර්යය ගැන සිතුවේ නැත. මගේ පැරණි IBM දින සිට IEFBR14 වැඩසටහනක් තිබුනි, එය සරල එක් විකල්ප කේත එකලස් කිරීමේ උපදෙස් විය: BR 14 - 14 ලියාපදිංචි කිරීමේ ශාඛාව, එමඟින් 14 වන ලේඛනයේ ඇති ඕනෑම දෙයකට ආපසු කේතයක් සමඟ වැඩසටහන අවසන් වේ!
මාර්ක් ස්ටුවර්ට්

Answers:


212

විට /sbin/nologinඒ ෂෙල් ලඝු-සටහන් සමඟ පරිශීලක, ඔවුන් ලබා ඇති ආචාරශීලී පණිවිඩය කියා දෙන්නම් නම්, ෂෙල් ලෙස සකසා ඇත 'මෙම පරිශීලකයා දැනට ලබාගත නොහැක.' ' මෙම පණිවිඩය ගොනුව සමඟ වෙනස් කළ හැකිය /etc/nologin.txt.

/bin/falseද්විමය පමණක් වන අතර එය වහාම පිටවන, අසත්‍ය ලෙස හැඳින්වෙන විට, එය හැඳින්වූ විට, එබැවින් falseකවචයක් ඇති අයෙකු ලොග් වූ විට, falseපිටවන විට ඔවුන් වහාම ඉවත් වේ. කවචය සැකසීම /bin/trueයමෙකුට ලොග් වීමට ඉඩ නොදීමට සමාන බලපෑමක් ඇති නමුත් පුද්ගලයාට කවචයක් නොමැති බවට සංකල්පය ඉදිරිපත් කිරීම වඩා හොඳ බැවින් එය falseසම්මුතියක් ලෙස භාවිතා කරයි true.

nologinමිනිසාගේ පිටුව දෙස බලන විට , එය බීඑස්ඩී 4.4 (1990 දශකයේ මුල් භාගයේ) දී නිර්මාණය කරන ලද්දක් බව පවසන අතර එය නිර්මාණය වී බොහෝ කලකට පසුව පැමිණියේය false. falseකවචයක් ලෙස භාවිතා කිරීම බොහෝ විට යුනික්ස් හි මුල් දිනවල සිට ගෙන ගිය සම්මුතියක් විය හැකිය.

nologinපරිශීලකයාට පුරනය වීමට උත්සාහ කරන අභිරුචිකරණය කළ හැකි පණිවිඩයක් සහිත වඩාත් පරිශීලක-හිතකාමී විකල්පය වන බැවින් ඔබට එය න්‍යායාත්මකව භාවිතා කිරීමට අවශ්‍ය වනු ඇත; නමුත්, ඒ දෙක ම nologinහා falseකෙනෙකු ෂෙල් සහිත සහ SSH කිරීමට නොහැකි වීම නොව එම අවසාන ප්රතිඵලය වනු ඇත.


14
/usr/sbin/nologinඩේබියන් පදනම් කරගත් බෙදාහැරීම් සඳහා.
ඩීමෝ

5
අවම වශයෙන් BSD ක්‍රියාත්මක කිරීම මඟින් openource.apple.com/source/system_cmds/system_cmds-735/… හි දැක්වෙන පරිදි සයිස්ලොග් කිරීමට ප්‍රවේශවීමේ උත්සාහයන් ද සටහන් කරයි , නමුත් / bin / false කිසිවක් ලොග් නොකරනු ඇත
Sergiy Kolodyazhnyy

29

සමහර FTP සේවාදායකයන් ඔබට වලංගු කවචයක් ඇත්නම් පමණක් FTP ප්‍රවේශය ලබා දේ. /sbin/nologinවලංගු කවචයක් ලෙස සලකනු ලැබේ, නමුත් /bin/falseඑසේ නොවේ.

(මම සිතන්නේ "වලංගු" යන්නෙන් අදහස් වන්නේ එහි පිටවීමේ තත්වය 0 ක් වන අතර එය /etc/shellsද එයට ඇතුල් විය හැකිය, එය බොහෝ විට පද්ධතිය, FTP මෘදුකාංගය සහ ඔබේ වින්‍යාසය මත රඳා පවතී.)


1
ඔව්, එය බොහෝ විට pam භාවිතා කරන ftp වැඩසටහනේ කොටසක් වන අතර, ඔබ පැවසූ පරිදි pam_shells භාවිතා කරන pam /etc/shells. අනුමාන කිරීමක් පමණයි ... මම වැරදියි.
xenoterracide

5
මම උබුන්ටු 8.04 සහ 14.04 යන දෙකම පරීක්ෂා කළා. නොලොජින් විධානය අසත්‍යයට සමාන තත්ව 1 සමඟ පිටවන අතර සත්‍ය, අසත්‍ය හෝ නොලොජින් කිසිවක් / etc / shells වලට ඇතුළත් නොවේ. ඔවුන් එසේ නම්, පරිශීලකයෙකුට chsh භාවිතා කර එවැනි කවචයක් තෝරාගෙන තම ගිණුමෙන් අගුළු දැමිය හැකිය.
penguin359

14

/bin/falseයනු පද්ධතියක විධානයක් වන අතර එය ඔබට විධානයක් වැඩසටහනකට යැවිය යුතු අතර එය දෝෂයකින් පිටවීම හැර වෙන කිසිවක් නොකළ යුතුය. ඒ සඳහා සහකාරියයි /bin/true. මේ දෙකම ඉතා පැරණි හා සම්මත POSIX උපයෝගිතා වන අතර අර්ථ දැක්වීම අනුව කිසිදු ප්‍රතිදානයක් නිපදවන්නේ නැත. true සමහර විට ෂෙල් ස්ක්‍රිප්ටයක් සඳහා භාවිතා වන අතර එය දින නියමයක් නොමැතිව ලූප විය යුතුය:

while true; do
    ...
    # Waste time
    if [ $wasted_time -gt 100000 ]; then
        exit 0
    fi
    ...
done

/usr/sbin/nologinවිශේෂයෙන් නිර්මාණය කර ඇත්තේ කවචයක් ප්‍රතිස්ථාපනය කිරීම සඳහා වන අතර ඔබට පුරනය වීමට නොහැකි බවට පැමිණිලි කරයි. එය පැවතීමට පෙර, /bin/falseව්‍යාජ භාවිතා කරන්නන් සඳහා භාවිතා කිරීම සාමාන්‍ය දෙයක් විය , නමුත් ඔවුන් පන්නා දැමුවේ ඇයිදැයි පරිශීලකයා නොදන්නා බැවින් ව්‍යාකූල විය හැකිය.


4
එය සඳහන් කිරීම වටී /bin/trueසහ /bin/falseසෑම විටම ඔබට ෂෙල් ස්ක්‍රිප්ට් එකකින් ලැබෙනු ඇත. දී zsh trueහා falseඉදි වීම් කොහෙද, bashභාවිතා කරයි /bin/*අනුවාද
xenoterracide

4

මගේ පරිගණකයේ, nologinතර්ක නොසලකා හරිමින් සෑම විටම එකම පණිවිඩය ඉංග්‍රීසියෙන් පෙන්වයි. /bin/falseප්රතිචාර දක්වයි --versionහා --helpමගින් පෙන්නුම් කරන භාෂාවෙන් $LC_CTYPE. මෙම රූපලාවණ්‍ය වෙනස්කම් හැරුණු විට ඒවා එකම බලපෑමක් ඇති කරයි.

භාවිතයට අනුව, nologinඑය ඉංග්‍රීසි කතා කරන සැබෑ පුද්ගලයෙකුගේ ගිණුමක භාවිතා කරන්නේ නම් වඩා හොඳය. ආරක්ෂාව අනුව, වෙනසක් නැත.


4
falseසැබෑ පරිශීලකයෙකු නොමැති පද්ධති ගිණුම් සඳහා සමහර විට වැඩි යමක් ඇති බව පෙනේ , nologinඑය ආබාධිත ගිණුම් සඳහා වේ.
xenoterracide

1
ඔබේ මෙහෙයුම් පද්ධතිය කුමක්ද? සෙන්ටෝස් nologinඅනුවාදය කිසිදු තර්කයක් නොගනී, නමුත් පණිවිඩය කියවිය හැකිය /etc/nologin.txt.
ඇලෙක්සැන්ඩර් ගොන්චි

3

ලිනක්ස් මත /sbin/nologinසිට එන util-linux , ව්යාපෘති අතර /bin/falseකොටසක් GNU Coreutils . ඔවුන් විවිධ භූමිකාවන්හි සේවය කරන අතර, ලොජින් වෙත පිවිසෙන ඔවුන්ගේ කවචය ලෙස පණිවිඩයක් මුද්‍රණය කිරීමේ හැකියාව නොලොජින් සතුව ඇත. ලිනක්ස් විධාන පැමිණෙන්නේ බීඑස්ඩී වෙතින් වන අතර එහිදී ඔවුන්ට වෙනස් ඉතිහාසයක් ඇති බව පෙනේ. FreeBSD falseහුදෙක් 1 ක් ආපසු ලබා දෙන අතර, එය TTY මත ධාවනය වනnologin බව තහවුරු කර ගැනීම සඳහා චෙක්පත් සහ පිවිසුම් උත්සාහයන් අතරතුර syslog වෙත පණිවිඩයක් යවයි. ලිනක්ස් අනුවාදයන් ටිකක් සංකීර්ණයි ( false--help හි ප්‍රතිදානය සඳහා ජාත්‍යන්තරකරණය සමඟ සියලු ආකාරයේ විනෝදජනක දේවල් කිරීම, මම උපකල්පනය කරමි) නමුත් අවශ්‍යයෙන්ම එකම ආකාරයකින් ක්‍රියා කරයි.


3

/ bin / false එකම කාර්යය වන්නේ ශුන්‍ය නොවන පිටවීමේ කේතයක් සමඟ පිටවීමයි.

විධාන රේඛාවේදී එය උත්සාහ කරන්න:

$:> /bin/false
$:> echo $?
1
$:>

සමහර ආයතන මුරපද ගොනුවේ කවච ක්ෂේත්‍රය තුළ / bin / false භාවිතා කරයි. පරිශීලකයා පුරනය වීමට උත්සාහ කරන්නේ නම්, කවචය / බින් / අසත්‍යය, එබැවින් ඒවා වහාම පිටවෙයි


1

ඒවා එකම වැඩසටහනක් විය හැකි නමුත් ඒවාට විවිධ අර්ථයන් ඇත. වැඩසටහනේ නම ඒ සියල්ල කියයි.

  • / bin / false යන්නෙන් අදහස් කරන්නේ ව්‍යාජ අගයක් ලබා දීමයි. එය වැඩසටහනක් ලෙස ක්‍රියාත්මක වේ.
  • / bin / nologin යනු ගිණුමක් සඳහා කිසිදු පිවිසුමකට අවසර නැති බව පරිශීලකයාට පෙන්වීමට අදහස් කරයි. (එය පිවිසුම් කවචයක් භාවිතා කරයි.)

-5

දෙකම එකම හෝ වැඩි වශයෙන් එකම රැකියාව කරන නමුත් /bin/falseවරප්‍රසාද නොලත් පරිශීලකයින් සඳහා ප්‍රයෝජනවත් වේ. අනෙක් අතට, /sbin/nologinවරප්‍රසාදිත පරිශීලකයින් සඳහා වේ.


4
ඔහ්, ඔබ එම නිගමනයට පැමිණියේ කෙසේද?
fpmurphy

1
බොහෝ විට ඔහු සොයා බැලුවා විය /etc/passwdහැකිය. මම /etc/passwdනැවුම් ලෙස ස්ථාපනය කර ඇති ඩේබියන් දිගුවක් දෙස බැලුවෙමි . මෙම කොටුවේ, සෑම පද්ධති ගිණුමකටම (පරිශීලක අයිඩී <1000) /usr/sbin/nologinෂෙල් ලෙස ඇත, ව්‍යතිරේක කිහිපයක් ඇත. Ith pythondetective ගේ පිළිතුරට මා එකඟ නොවන බව කරුණාවෙන් සලකන්න. මම අනුමාන කරන්නේ ඔහුව මෙම නිගමනයට ගෙන යා හැක්කේ කුමක් ද යන්නයි. මගේ අදහස ටිකක් ප්‍රමාදයි.
බිනරස්

නොමැත! පෙරනිමි පිවිසුම් කවචය වරප්‍රසාදවලට සමාන නොවේ.
MUY බෙල්ජියම
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.