У меня есть некоторые проблемы при доступе к моему Серверу Ubuntu 14.04 по Samba. Я пытаюсь получить доступ от своего рабочего стола Ubuntu Gnome 14.04 и других рабочих столов Linux. Я хотел бы иметь прекрасное управление доступом в сервере, где некоторые пользователи могут читать и записать в доли, и другие пользователи могут только считать, но не писать/удалять файлы. Я не уверен, что делаю это правильный путь, но я понимаю, что обычно существует много способов сделать что-то на Linux. Я создал папки через командную строку, и использую Samba через Webmin для совместного использования их.
Я полагаю, что уровень файла, который - ACL то, где моя текущая проблема. Например, у меня есть две папки на сервере один, я могу читать и записать в, и один я не могу записать в, но могу читать.
Getfacl перечисляет их свойства как это:
john@Server:~ $ getfacl/exports/Stuff
getfacl: Удаление продвижения '/' от абсолютных путей
файл: экспорт/Материал
владелец: корень
группа: корень
пользователь:: rwx
группа:: r-x
другое::r-x
default:user:: rwx
default:user:john:rw-
default:user:wife:rw-
default:user:daughter:rw-
default:group:: r-x
default:group:users:r-
default:mask:: rwx
default:other::r-x
john@Server:~ $ getfacl/exports/Photos
getfacl: Удаление продвижения '/' от абсолютных путей
файл: экспорт/Фотографии
владелец: Джон
группа: корень
пользователь:: rwx
группа:: r-x
другое::r-x
default:user:: rwx
default:user:john:rw-
default:user:wife:rw-
default:group:: r-x
default:group:users:r-
default:mask:: rwx
default:other::r-x
Теперь я вижу, что я - владелец фотографий, и корень является владельцем папки Stuff, который, кажется, самое большое различие между ними.
Другой пользователь в сети также с помощью Gnome Ubuntu может получить доступ к фото папке, но не может записать, это - поведение, которое я хотел, и я предполагаю, что Samba управляет этим как она не перечисленным в ACL, но перечислен в безопасности Samba.
Лучшее приблизилось бы, чтобы должным быть удалить файловую систему acls с setfacl и затем просто использовать самбу для управления пользовательским доступом, или я должен установить их на оба соответствия?
Я иду об этом правильным способом? Что лучшая практика должна обработать что-то вроде этого? Все клиенты находятся на Linux поэтому, Если бы у Вас были доли, которые некоторые просмотрели бы и никогда не писали бы в, в то время как другие будут читать и писать, как Вы управляли бы доступом?
Webmin устарел и имеет проблемы безопасности и не должен использоваться.
у меня была та же проблема на 14,04. Многие люди ответили на мой вопрос и сказали, что Samba не был так завинчен на предыдущих версиях Ubuntu. Но это - функция и псевдоним, который я добавляю к своему $HOME/.bashrc.
####################
# $1 is parameter for function
function fAdduser
{
if [ -z $1 ]; then
echo "ERROR: No user given.";
echo "Usage: cradduser USER";
echo "Sets permissions and groups for home dir of user.";
echo "Also sets up samba for user.";
echo " ";
return;
fi
# Add new user $1 and add to group 'users'.
# -m = make home dir
# -G GROUP = assign to group
sudo useradd -m -G users $1 || { echo "Error in useradd"; return 1; };
sudo usermod -p $1 $1;
echo "fAdduser: Their password is now the same as their username."
sudo passwd -u $1;
echo "fAdduser: Now enter their password.";
sudo passwd $1;
# Now add to samba users. This linux user uses this password for Samba.
# The user is the same, the Samba password is not.
# -a = add user
# -e = enable user
sudo smbpasswd -ae $1;
# Now change permissions for Samba on their home dir.
TDIR=/home/$1;
echo "Changing permissions and group on $TDIR files for Samba...";
sudo chmod a+rw $TDIR;
sudo chmod -R a+rw $TDIR/*;
sudo chgrp users $TDIR;
sudo chgrp -R users $TDIR/*;
echo "These are the users in group 'users'";
getent group users;
echo "Added user $1";
}
alias myadduser='fAdduser'
alias mysambareset='sudo restart smbd; sudo restart nmbd; sudo service smbd restart'
Редактирование и сохраняет Ваш .bashrc, затем сделайте это: source $HOME/.bashrc
для внесения изменений в эффект. Функция fAdduser добавляет нового пользователя и настраивает их для Samba. Рассмотрите шаги здесь и посмотрите, сделали ли Вы их всех.
Для установки пользователя Samba делают это: myadduser USERNAME
.
при изменении файла конфигурации Samba сохраните его и сделайте это: mysambareset
.
После большого конфликтующего совета и большого метода проб и ошибок, это что работы для меня.