නාමාවලියක ඇති සියලුම ෆෝල්ඩර / ගොනු සඳහා පෙරනිමි ගොනු අවසරයන් සකසන්නේ කෙසේද?


276

ෆෝල්ඩරයක් සැකසීමට මට අවශ්‍ය වන්නේ එහි ඇති ඕනෑම දෙයක් (නාමාවලි, ලිපිගොනු) පෙරනිමි අවසර සහ කණ්ඩායම් උරුම කර ගන්නා බැවිනි.

කණ්ඩායම "මාධ්‍ය" ලෙස හඳුන්වමු. තවද, නාමාවලිය තුළ සාදන ලද ෆෝල්ඩර / ගොනු ස්වයංක්‍රීයව g + rw තිබිය යුතුය.


1
පරිශීලකයා විසින් නව ගොනුව / ෆෝල්ඩරය සහ ඔහුගේ උමාස්ක් නිර්මාණය කිරීමෙන් එය පාලනය නොවේද?
වාඩි එම්.

umask අවසරයන්ට සම්බන්ධ නමුත් ඔහු / ඇය භාවිතා කරන්නා නොවන පෙරනිමි කණ්ඩායමක් සැකසීම සමඟ එය කිසිවක් කරනු ඇතැයි මම විශ්වාස නොකරමි.
ක්‍රිස්

1
කුමන මෙහෙයුම් පද්ධතියද? ටැග් අවශ්‍යයි. setfaclසහ පෙරනිමි ACLs AIX හි නොපවතී.
අමිත් නායිදු

Answers:


290

මට එය හමු විය: පෙරනිමි අවසරයන් යෙදීම

ලිපියෙන්:

chmod g+s <directory>  //set gid 
setfacl -d -m g::rwx /<directory>  //set group to rwx default 
setfacl -d -m o::rx /<directory>   //set other

ඊළඟට අපට සත්‍යාපනය කළ හැකිය:

getfacl /<directory>

ප්‍රතිදානය:

# file: ../<directory>/
# owner: <user>
# group: media
# flags: -s-
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x

5
ඇලෙන සුළු බිට් සඳහා ඔව්!
ගේබ්.

27
ඇලෙන සුළු බිටු සමඟ ව්‍යාකූල නොවීමට ඉඩ දෙමු.
අමිත් නායිදු

10
නාමාවලියෙහි නව අන්තර්ගතයන් කණ්ඩායම් හිමිකම උරුම කර ගන්නා බව g + s සහතික කරයි. setfacl මඟින් chmod පමණක් වෙනස් කරයි, ඔබේ නඩුවේදී o = rx සඳහා අවසරය සකසයි
Steen Schütt

11
ගොනු අවසරයන් උරුම කර ගැනීම සඳහා ACL සක්‍රීය කළ යුතු බව (සවිකර ඇති ගොනු පද්ධතිය සඳහා සවි කිරීමේ විකල්පයන්ගෙන් එකක් ලෙස ඇතුළත් කර ඇති) බව සලකන්න.
sg23

16
ඒ වෙනුවට ඔබට 'X' භාවිතා කිරීම ගැන සලකා බැලීමට අවශ්‍ය විය හැකි අතර එමඟින් එය ගොනු නොවන නාමාවලි සඳහා පමණක් ක්‍රියාත්මක කිරීමට අවසර දෙනු ඇතsetfacl -d -m g::rwX /<directory>
ඒඩ්‍රියන් ගුණවන්

29

මෙය ක්‍රිස්ගේ පිළිතුරට එකතු කිරීමකි, එය මගේ ආරුක්කු ලිනක්ස් රිග් පිළිබඳ මගේ අත්දැකීම් මත පදනම් වේ.

පෙරනිමි ස්විචය (-d) සහ වෙනස් කළ ස්විචය (-m) භාවිතා කිරීමෙන් පෙරනිමි අවසරයන් පමණක් වෙනස් වන නමුත් පවතින ඒවා නොවෙනස්ව පවතී:

setfacl -d -m g::rwx /<directory>

ඔබට දැනට පවතින ඒවා ඇතුළුව ෆෝල්ඩරයේ සම්පූර්ණ අවසර ව්‍යුහය වෙනස් කිරීමට අවශ්‍ය නම් (ඔබට අමතර රේඛාවක් කර එය පුනරාවර්තනය කිරීමට සිදු වේ -R:

setfacl -R -m g::rwx /<directory>

උදා.

setfacl -R -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively
setfacl -R -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders 
setfacl -R -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively
setfacl -R -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else. 

( ණය අවුළුවන වන synthax සඳහා අදහස් markdwite සියලු වරප්රසාද මාර්ගය)


2
කණ්ඩායම් වරප්‍රසාද අවලංගු කිරීම සඳහා (නිදසුනක් ලෙස): sudo setfacl -d -mg :: --- / path
markdwhite

2
එය setfacl -R -m g::rwx /<directory>ඔබේ පිළිතුරේ දෙවරක් සඳහන් කරන අක්ෂර වින්‍යාසයක්ද ?
ෂේන් ​​රෝවට්

1

Www-data කණ්ඩායමට ඔබම / ලොග් වූ පරිශීලකයෙකු එක් කරන්න, එවිට අපට www-data සේවාදායකය විසින් සාදන ලද ගොනු සමඟ වැඩ කළ හැකිය

sudo usermod -a -G www-data $USER

නැවත ආරම්භ කිරීම / නැවත සකස් කිරීම අවශ්‍ය වන බැවින් අලුතින් එකතු කරන ලද කණ්ඩායම ක්‍රියාත්මක වේ

cd /var/www

Html ෆෝල්ඩරයේ කණ්ඩායම් සාමාජිකයෙකු ලෙස www-data සහ ඔබේ පරිශීලකයා හිමිකරු ලෙස එක් කරන්න, එබැවින් අපට එය මෙන්ම කණ්ඩායම් සාමාජිකයෙකුද ඇත

sudo chown -R $USER:www-data html

ඔබගේ පරිශීලක නාමය USER වෙනුවට තබන්න

කියවීමට, ලිවීමට, අවශ්‍ය පරිදි අවසර ක්‍රියාත්මක කරන්න, (ugo) u = පරිශීලක, g = කණ්ඩායම, o = වෙනත් අය

sudo chmod 750 html

Html හි GID සකසන්න, දැන්, html හි අලුතින් සාදන ලද ලිපිගොනු හිමිකාරිත්ව අවසරයන් උරුම කර ගනී:

sudo chmod g+s html

මෙය html නාමාවලිය සහ උප නාමාවලි තුළ අලුතින් සාදන ලද ගොනු / ඩර් සඳහා පෙරනිමි නීති නිර්මාණය කරයි.

sudo setfacl -R -d -m u::rwX -m g::rX -m o::000 html

ස්ථාපනය කර ඇත්නම් SELinux සාදන්න, www-data සන්දර්භය අවශ්‍යතාවය නොසලකා හරින්න එවිට ලිවීමට අවසර ලබා දේ

sudo setsebool -P httpd_unified 1

නව අවසරයන් බැලීමට ලැයිස්තු නාමාවලිය

ls -ld html

මෙය ලබා දෙයි

drwxrwsr-x+   3 html www-data

පසුපස + යන්නෙන් ඇඟවෙන්නේ ACL, ප්‍රවේශ පාලන ලැයිස්තුව, නාමාවලියෙහි සකසා ඇති බවයි.

යොමුව : සංසදයට සබැඳිය


-2

පහත දැක්වෙන විධානය භාවිතා කරමින් ඔබට ගොනුවකට පෙරනිමි අවසරය සැකසිය හැකිය:

chacl -R filename

3
මෙය වෙනත් පිළිතුරු වලට වඩා වෙනස් වන්නේ කෙසේද? උදාහරණ කිහිපයක් දෙන්න
රෝමියෝ නිනොව්

3
ඔබට විශ්වාසද එය කරන්නේ එයද? linux.die.net/man/1/chacl මඟින් පෙන්නුම් කරන්නේ එය ACL ඉවත් කරන බවයි.
ජෙෆ් ෂලර්
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.