chmod
: เปลี่ยนบิตโหมดไฟล์
การใช้งาน (โหมดฐานแปด):
chmod <octal-mode> files...
การใช้งาน (โหมดสัญลักษณ์):
chmod <references><operator><modes> files..
references
เป็นการรวมกันของตัวอักษรugoa
ซึ่งระบุการเข้าถึงของผู้ใช้ที่files
จะแก้ไข:
u
ผู้ใช้ที่เป็นเจ้าของ
g
ผู้ใช้รายอื่นในfile
กลุ่ม
o
ผู้ใช้รายอื่นไม่อยู่ในกลุ่มไฟล์
a
ผู้ใช้ทั้งหมด
หากไม่ได้ระบุไว้จะมีการกำหนดค่าเริ่มต้นให้กับผู้ใช้ทุกคน แต่จะอนุญาตเฉพาะการอนุญาตที่ได้รับการumask
แก้ไขเท่านั้น
operator
เป็นหนึ่งในตัวละคร+-=
:
+
เพิ่มบิตโหมดไฟล์ที่ระบุให้กับบิตโหมดไฟล์ที่มีอยู่ของแต่ละบิต file
-
ลบบิตโหมดไฟล์ที่ระบุไปยังบิตโหมดไฟล์ที่มีอยู่ของแต่ละบิต file
=
เพิ่มบิตที่ระบุและลบบิตที่ไม่ระบุยกเว้นsetuid
และsetgid
บิตที่ตั้งค่าสำหรับไดเรกทอรียกเว้นที่ระบุไว้อย่างชัดเจน
mode
ประกอบด้วยการรวมกันของตัวอักษรrwxXst
ซึ่งระบุบิตสิทธิ์ที่จะแก้ไข:
r
อ่าน
w
เขียน
x
ดำเนินการ (หรือค้นหาไดเรกทอรี)
X
ดำเนินการ / ค้นหาเฉพาะในกรณีที่ไฟล์เป็นไดเรกทอรีหรือมีชุดรันบิตสำหรับผู้ใช้บางส่วนแล้ว
s
setuid หรือ setgid (ขึ้นอยู่กับที่ระบุreferences
)
t
การตั้งค่าสถานะการลบที่ จำกัด หรือบิตเหนียว
อีกวิธีหนึ่งmode
สามารถประกอบด้วยหนึ่งในตัวอักษรugo
ซึ่งในกรณีนี้โหมดจะสอดคล้องกับการอนุญาตที่ให้แก่เจ้าของ ( u
), สมาชิกของfile
กลุ่ม ( g
) หรือการอนุญาตของผู้ใช้ในหมวดหมู่ก่อนหน้านี้ ( o
)
บิตต่าง ๆ ของการchmod
อธิบาย:
- การควบคุมการเข้าถึง (ดูเพิ่มเติมที่
setfacl
)
rwx
- อ่าน (r) เขียน (w) และดำเนินการ / ข้าม (x) สิทธิ์
- อ่าน (r) ส่งผลกระทบหากไฟล์สามารถอ่านได้หรือหากไดเร็กทอรีสามารถแสดงได้
- เขียน (w) ส่งผลกระทบหากไฟล์สามารถเขียนหรือหากไดเรกทอรีสามารถแก้ไขได้ (เพิ่มไฟล์ลบเปลี่ยนชื่อ)
- Execute (x) จะส่งผลกระทบหากไฟล์สามารถเรียกใช้ใช้สำหรับสคริปต์ (ดู
#!
) และไฟล์ปฏิบัติการอื่น ๆ
- กากบาท (x) ส่งผลกระทบหากสามารถสำรวจไดเรกทอรีได้
s
และt
- บิตเหนียว (t) และ setgid (s) ในไดเรกทอรี
- Sticky บิตมีผลกับไดเรกทอรีเท่านั้น จะป้องกันไม่ให้ใครยกเว้นเจ้าของไฟล์และรูทจากการลบไฟล์ในไดเรกทอรี
- setgid บิตในไดเรกทอรีจะทำให้ไฟล์และไดเรกทอรีใหม่ให้กลุ่มตั้งกลุ่มเดียวกันและไดเรกทอรีใหม่ให้มี setgid bit set (ดูค่าเริ่มต้นใน setfacl ด้วย)
s
- setuid, setgid, ไฟล์ปฏิบัติการ
- สิ่งนี้อาจส่งผลต่อความปลอดภัยในทางที่ผิดถ้าคุณไม่รู้ว่าคุณกำลังทำอะไรอยู่
- เมื่อเรียกใช้ไฟล์ปฏิบัติการหากมีการตั้งค่าบิตใดบิตหนึ่งจากนั้นผู้ใช้ / กลุ่มที่มีประสิทธิภาพของไฟล์ที่เรียกทำงานได้จะกลายเป็นไฟล์ดังกล่าว ดังนั้นโปรแกรมจะทำงานแบบผู้ใช้นั้น ดู
setcap
วิธีการที่ทันสมัยกว่านี้
chattr
: เปลี่ยนแอตทริบิวต์ของไฟล์
การใช้งาน:
chattr <operator><attribute> files...
operator
เป็นหนึ่งในตัวละคร+-=
: * +
เพิ่มคุณลักษณะเลือกเพื่อให้สามารถที่มีอยู่attributes
ของfiles
* -
ลบที่เลือกattributes
* เขียนทับชุดปัจจุบันของคุณลักษณะไฟล์ที่มีกับที่ระบุไว้=
attributes
attribute
เป็นการรวมกันของตัวอักษรacdeijstuADST
ซึ่งสอดคล้องกับคุณลักษณะ:
a
ผนวกเท่านั้น
c
การบีบอัด
d
ไม่มีการถ่ายโอนข้อมูล
e
รูปแบบขอบเขต
i
ไม่เปลี่ยนรูป
j
การบันทึกข้อมูล
s
การลบที่ปลอดภัย
t
ไม่มีการรวมหาง
u
undeletable
A
ไม่มีatime
การอัพเดต
D
อัพเดตไดเร็กทอรีซิงโครนัส
S
การอัพเดตแบบซิงโครนัส
T
ลำดับชั้นของไดเรกทอรี
การใช้งาน (set attribute):
setfattr -n <name> -v <value> files...
การใช้งาน (ลบ):
setfattr -x <name> files...
name
เป็นชื่อของคุณสมบัติเพิ่มเติมที่จะตั้งค่าหรือลบ
value
เป็นค่าใหม่ของแอตทริบิวต์ที่ขยาย
setfacl
: เปลี่ยนรายการควบคุมการเข้าถึงไฟล์
การใช้งาน:
setfacl <option> [default:][<target>:][<param>][:<perms>] files...
option
ต้องมีหนึ่งในสิ่งต่อไปนี้:
--set
ตั้งค่า ACL ของไฟล์หรือไดเรกทอรีแทนที่ ACL ก่อนหน้า
-m
| --modify
แก้ไข ACL ของไฟล์หรือไดเรกทอรี
-x
| --remove
ลบรายการ ACL ของไฟล์หรือไดเรกทอรี
target
เป็นหนึ่งในตัวอักษรugmo
(หรือแบบฟอร์มที่แสดงด้านล่าง):
u
, users
ได้รับอนุญาตจากผู้ใช้ชื่อระบุparam
ค่าเริ่มต้นให้กับเจ้าของไฟล์uid
หากละเว้น
g
, การgroup
อนุญาตของกลุ่มที่มีชื่อซึ่งระบุโดยparam
ค่าเริ่มต้นให้เป็นเจ้าของกลุ่มuid
หากไม่ระบุ
m
, mask
สิทธิที่มีประสิทธิภาพหน้ากาก
o
, other
สิทธิ์ของผู้อื่น
perms
เป็นการรวมกันของตัวอักษรrwxX
ซึ่งสอดคล้องกับการอนุญาต:
r
อ่าน
w
เขียน
x
ปฏิบัติ
X
ดำเนินการเฉพาะในกรณีที่ไฟล์เป็นไดเรกทอรีหรือมีสิทธิ์ดำเนินการสำหรับผู้ใช้บางคนแล้ว
หรือperms
อาจเป็นตัวเลขฐานแปด ( 0
- 7
) เพื่อระบุชุดการอนุญาต
การใช้งาน:
setcap <capability-clause> file
capability-clause
ประกอบด้วยรายการคั่นด้วยเครื่องหมายจุลภาคของความสามารถในการชื่อตามด้วยรายการของคู่ประกอบการธง
ผู้ประกอบการที่มีอยู่=
, และ+
-
ธงที่มีอยู่e
, i
และp
ซึ่งสอดคล้องกับที่มีประสิทธิภาพ , ที่สืบทอดและได้รับอนุญาตชุดความสามารถ
=
ผู้ประกอบการจะยกชุดความสามารถในการระบุและการตั้งค่าอื่น ๆ หากไม่มีการตั้งค่าสถานะร่วมกับ=
ผู้ปฏิบัติงานชุดความสามารถทั้งหมดจะถูกรีเซ็ต +
และ-
ผู้ประกอบการจะเพิ่มหรือลดการอย่างใดอย่างหนึ่งหรือระบุเพิ่มเติมชุดความสามารถตามลำดับ
การใช้งาน:
chcon [-u <user>] [-r <role>] [-t <type>] files...
ผู้ใช้นั้นใช้ SELinux เช่นuser_u
, หรือsystem_u
root
roleคือบทบาท SELinux ( object_r
สำหรับไฟล์เสมอ)
typeเป็นประเภทหัวเรื่องของ SELinux
chsmack
: เปลี่ยนแอตทริบิวต์เพิ่มเติมของSMACK
การใช้งาน:
chsmack -a <value> file
value
เป็นเลเบล SMACK ที่จะตั้งค่าสำหรับSMACK64
แอ็ตทริบิวต์ไฟล์ส่วนขยาย
setrichacl : เปลี่ยนรายการควบคุมการเข้าถึงที่หลากหลาย
richacl s เป็นคุณสมบัติที่จะเพิ่ม ACL ขั้นสูงเพิ่มเติม
ขณะนี้อยู่ระหว่างดำเนินการดังนั้นฉันจึงไม่สามารถบอกคุณเกี่ยวกับพวกเขาได้มากนัก ฉันไม่ได้ใช้พวกเขา
ดูเพิ่มเติมที่คำถามนี้มี ACL ระบบไฟล์ขั้นสูงมากกว่า 'rwx' และ POSIX ACL ดั้งเดิมหรือไม่
และหน้าคน
chmod