Лучшая практика Полномочий Samba Сервера Ubuntu

У меня есть некоторые проблемы при доступе к моему Серверу 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 поэтому, Если бы у Вас были доли, которые некоторые просмотрели бы и никогда не писали бы в, в то время как другие будут читать и писать, как Вы управляли бы доступом?

0
задан 6 November 2014 в 11:45

1 ответ

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.

После большого конфликтующего совета и большого метода проб и ошибок, это что работы для меня.

0
ответ дан 4 August 2019 в 20:17

Другие вопросы по тегам:

Похожие вопросы: