37 lines
1.3 KiB
Bash
37 lines
1.3 KiB
Bash
command -v setfacl >/dev/null || pkg_install acl
|
|
groupadd -f finance
|
|
groupadd -f devs
|
|
user_add alice -s /bin/bash
|
|
user_add bob -s /bin/bash -G finance
|
|
user_add dana -s /bin/bash -G devs
|
|
user_add eve -s /bin/bash -G devs
|
|
|
|
# Task 1: reports for group finance only.
|
|
mkdir -p /srv/reports
|
|
echo "Q3 summary" >/srv/reports/q3-summary.txt
|
|
echo "Budget 2027" >/srv/reports/budget-2027.txt
|
|
chown -R bob:finance /srv/reports
|
|
chown root:finance /srv/reports
|
|
chmod 2770 /srv/reports
|
|
chmod 660 /srv/reports/*.txt
|
|
|
|
# Tasks 2 and 4: the team's project, some of it with ACLs already.
|
|
mkdir -p /srv/project/src /srv/project/docs
|
|
echo 'int main(void) { return 0; }' >/srv/project/src/main.c
|
|
echo "# Design" >/srv/project/docs/design.md
|
|
echo "Project notes" >/srv/project/README
|
|
chown -R dana:devs /srv/project
|
|
chown root:devs /srv/project
|
|
chmod 2775 /srv/project /srv/project/src /srv/project/docs
|
|
chmod 664 /srv/project/README /srv/project/src/main.c /srv/project/docs/design.md
|
|
setfacl -m u:alice:r /srv/project/docs/design.md
|
|
setfacl -m u:alice:rx -m d:u:alice:rx /srv/project/docs
|
|
|
|
# Task 3: an entry for alice, limited by a chmod since.
|
|
mkdir -p /srv/shared
|
|
chmod 755 /srv/shared
|
|
echo "Plan" >/srv/shared/plan.txt
|
|
chown bob:bob /srv/shared/plan.txt
|
|
setfacl -m u:alice:rw /srv/shared/plan.txt
|
|
chmod 640 /srv/shared/plan.txt
|