Я новый техник по фотографии в небольшой школе искусств и отвечаю за небольшую лабораторию Mac. К сожалению, наш отдел ИТ. dosen't предлагает прямую поддержку для macs (только для сети), поэтому мне нужно свернуть рукава и узнать, как я иду.сценарий bash для создания папки для пользователя при входе в систему и установки разрешений доступа
Лаборатория работает как единый управляемый логин (без пароля) на всех компьютерах на протяжении веков, и это вызвало множество трудностей, но я работаю над тем, чтобы изменить это на modle, который принимает учетные данные Active Directory, создавая нового пользователя на лету. При выходе из системы пользовательская учетная запись будет уничтожена для нормализации пользовательской среды между каждым сеансом.
Недостатком является то, что для немногих студентов, которые выполняют повторную работу на определенной станции, любые файлы, которые они создают, будут, конечно, уничтожены. Как работа, я бы хотел создать сценарий входа, который создает безопасное место для сохранения их файлов на многораздельном диске и устанавливает разрешения для этого каталога для записи только для всех других пользователей, кроме admin.
Я уже собрал большую часть этого вместе, но мне бы очень понравилась общая обратная связь от моих лучших (что-то, что я делаю здесь неразумно) и руководство по настройке разрешений, как то, что у меня здесь, t, похоже, работает, и, честно говоря, у меня есть только слабое понимание входов и выходов UNIX-разрешений.
Я установил это как файл .command с разрешениями на выполнение для его проверки - и папка и псевдоним создаются, как ожидалось, но параметры владельца/группы не принимаются. - владелец - моя учетная запись администратора, и группа остается «персоналом». Я также создал пользователя «test» и группу студентов.
Большое спасибо за ваши мысли.
#!/bin/bash
# Create a safe place for users to save their files
# We will destroy this directory if it's empty on log out
# Using sudo for the time being for testing, wont have to when it's run at login by root
# Dont run if user is admin
if [ `whoami` == "comdesadmin" ]; then
exit 1
fi
if [ `whoami` != "comdesadmin" ]; then
#User name
USERNAME="test";
#USERNAME=`whoami` ;
# Group name
USERGROUP=student;
#Set direcory path
USERSAFEFOLDER=/Volumes/nest/$USERNAME
# Create the directory for the user if it isn't there
# user names shouldn't have any spaces so this should be ok
mkdir -p $USERSAFEFOLDER;
# Set the ownership to the current users (as this be being run by root)
sudo chown -R guest $USERSAFEFOLDER;
# Set the group
sudo chgrp $USERGROUP $USERSAFEFOLDER;
# Set write only to everyone else
chmod 700 $USERSAFEFOLDER;
# Make alias on the desktop for them
osascript <<END_SCRIPT
tell application "Finder"
make new alias to folder (posix file "$USERSAFEFOLDER") at desktop
end tell
END_SCRIPT
echo "Sucess";
fi
exit 0
Я рекомендую задать этот вопрос на apple.stackexchange.com для поддержки правильного администрирования пользователей на базе Mac OS X. – chepner
Я не знал о apple.stackexchange - хороший крик. – orionrush