ユーザーをコンピューターに追加するスクリプトを作成しようとしています。これらは管理者アカウントではなく、スタッフアカウントである必要があります。次のスクリプトを実行し、アカウントにログインできますが、ファイルにアクセスしたり、ファイルを作成したり、コンピューターにファイルを保存したりできません。
最終的に、これを実行して5つのユーザーアカウントとそれらのすべての情報を削除し、5つの新しいアカウントを作成します(これは36台のコンピューターがある教室にあります)が、次のスクリプトを使用して1人のユーザーを正しく作成するのに苦労しています。
どんな助けでも大歓迎です。
#!/bin/bash
USERNAME=per1
FULLNAME="Period 1"
PASSWORD="test"
SECONDARY_GROUPS="staff"
# ====
if [[ $UID -ne 0 ]]; then echo "Please run $0 as root." && exit 1; fi
# Find out the next available user ID
MAXID=$(dscl . -list /Users UniqueID | awk '{print $2}' | sort -ug | tail -1)
USERID=$((MAXID+1))
# Create the user account
dscl . -create /Users/$USERNAME
dscl . -create /Users/$USERNAME UserShell /bin/bash
dscl . -create /Users/$USERNAME RealName "$FULLNAME"
dscl . -create /Users/$USERNAME UniqueID "$USERID"
dscl . -create /Users/$USERNAME PrimaryGroupID 20
dscl . -create /Users/$USERNAME NFSHomeDirectory /Users/$USERNAME
dscl . -passwd /Users/$USERNAME $PASSWORD
# Add use to any specified groups
for GROUP in $SECONDARY_GROUPS ; do
dseditgroup -o edit -t user -a $USERNAME $GROUP
done
# Create the home directory
createhomedir -c > /dev/null
echo "Created user #$USERID: $USERNAME ($FULLNAME)"
スクリプトは、どこで/どのように正確にスクリプトを実行しますか?
—
nohillside
これはユーザーを作成していますが、ホームディレクトリの作成に問題があると思います。おそらく許可の問題。たとえば、ファインダーでフォルダーを表示できません。
—
ジョンビンセント
作成されたアカウントにログインしているときにこのエラーが表示されます。フォルダ「デスクトップ」は、その内容を表示する権限がないため開くことができません。
—
ジョンビンセント
さて、すべてを詳細に見ることなく:どの
—
nohillside
createhomedir
ユーザーに対してホームディレクトリを作成する必要があるかをどのように予想しますか?
ありがとうございました!私は、ユーザーを追加し、スクリプトが動作するようになりました
—
ジョン・ヴィンセント