LinuxForum.Fans
Тема

Как дать права одному пользователю права другого?

Автор: setter 52 сообщений 11988 просмотров
#225782
drBatty написал:
По умолчанию в дебе вместе с user1 создаётся группа user1

Видимо она у меня не создалась, когда я писал команду usermod -a -G user2 user1, говорит - нет такой группы user2

#225786

setter, ну я не знаю. Под "удалите юзера", я понимал конечно "вместе с его группой". Забыл об этом написать, извините. команда groupdel.

И ещё раз повторяю: для вашего-же удобства люди старались, писали удобный скрипт adduser. Домой вы тоже залетаете в окно, на украденом в ГРУ парашуте с угнанного из ВВС СШП чорного вертолёта?
(админы CentOS/Fedora мучайтесь дальше, данный скрипт для вас недоступен. Разве что возможно в платной версии smile )

Посмотреть в какую группы вы сейчас входите - groups, можно добавить параметр - имя аккаунта.

#225806
drBatty написал:
(админы CentOS/Fedora мучайтесь дальше, данный скрипт для вас недоступен. Разве что возможно в платной версии  )

oO

text

# cat /etc/redhat-release
CentOS release 6.2 (Final)
# whereis adduser
adduser: /usr/sbin/adduser /usr/share/man/man8/adduser.8.gz
# whereis useradd
useradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz

И это все из коробки. Может будем по осторожней с такими аргументами?

#225825

ok. Удалил пользователей, на всякий случай даже прописал delgroup user1 и user2 и удалил их домашние директории
Заново создал пользователей user1 и user2.
Зашел под пользователем user2, из под root внес в файл .bashrc команду umask 0002
Каждый раз, если после авторизации под пользователем user2 выполнить команду umask, выдает 0002
Если тоже самое выполнить под пользователем user1, выдает 0022
Далее я выполнил команду usermod -a -G user2 user1

В хожу под пользователем user1, в терминал пишу:
[console]$ rm /home/user2/TEST
rm: удалить защищенный от записи файл «/home/user2/TEST»? y
rm: невозможно удалить «/home/user2/TEST»: Отказано в доступе
$[/console]
TEST - это обычный файл, созданный пользователем user2
Опять же, прав как не было, так и нет. oO

#225831
setter написал:
TEST - это обычный файл, созданный пользователем user2
Опять же, прав как не было, так и нет. oO

При попытке удалить файл /home/user2/TEST вы вносите изменения в /home/user2, соответственно и права записи нужно иметь на /home/user2.

#225847
i2ks написал:
И это все из коробки. Может будем по осторожней с такими аргументами?

:(
[console]$ cat /etc/redhat-release
CentOS release 5.5 (Final)
$ ls -l /usr/sbin/adduser
lrwxrwxrwx 1 root root 7 Feb 2 2011 /usr/sbin/adduser -> useradd
$ file /usr/sbin/useradd
/usr/sbin/useradd: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
[/console]
извините, не хотел задевать вашу любовь... Первую похоже, судя по тому, как вы её защищаете :(

#225850
neol написал:
При попытке удалить файл /home/user2/TEST вы вносите изменения в /home/user2, соответственно и права записи нужно иметь на /home/user2.

Так что, все-таки придется на каждый файл права менять? А можно как-то без этого? Права на чтение и запись владельца файла есть, а на группу только чтение.

#225851
setter написал:
rm: удалить защищенный от записи файл «/home/user2/TEST»? y
rm: невозможно удалить «/home/user2/TEST»: Отказано в доступе

да,
[console]chmod -v 0775 /home/user2[/console]

#225852
setter написал:
Так что, все-таки придется на каждый файл права менять? А можно как-то без этого? Права на чтение и запись владельца файла есть, а на группу только чтение.

удаление - операция не с файлом, а с каталогом
создание тоже.
umask сбрасывает ненужные биты при создании. Для новых каталогов права будут сами выставляться в 0775, как и тебуется. Да, для юзера1 тоже надо выставить umask 0002

#225854
setter написал:
Так что, все-таки придется на каждый файл права менять?

нет.

setter написал:
Права на чтение и запись владельца файла есть, а на группу только чтение.

на группу и запись. Иначе удалять/создавать юзер1 в каталоге юзер2 не сможет.

#225875

i2ks, ну для начала home надо перемонтировать.

#225893
drBatty написал:
i2ks, ну для начала home надо перемонтировать.

можно и так попробовать, без remount. Должно работать.

text

$ ls -l /var/log/messages
-rw-r-----+ 1 root root 6936 Jan 31 12:10 /var/log/messages
$ getfacl /var/log/messages
getfacl: Removing leading '/' from absolute path names
# file: var/log/messages
# owner: root
# group: root
user::rw-
user:user1:r--
group::---
mask::r--
other::---
$ mount -l
/dev/mapper/vg_centos6x64tem-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
#225916
drBatty написал:
на группу и запись. Иначе удалять/создавать юзер1 в каталоге юзер2 не сможет.

таким права по умолчанию назначаются файлу, не могу ведь я изменить эти умолчания :o

#225927

Вот я проделал операцию из-под пользователя user1
[console]$ cd /home/user1
$ touch test
$ chmod 000 test
$ rm test
rm: удалить защищенный от записи пустой обычный файл «test»? y
$[/console]
Пользователь, являясь владельцем файла имеет на него любые права, не зависимо от того, какие права назначены файлу.
Такие же права нужны мне для второго пользователя.

#225940

i2ks, я уже написал что данный вариант для меня не подходит.

#225947
setter написал:
i2ks, я уже написал что данный вариант для меня не подходит.

что значит не подходит?

setter написал:
Если acl, то как говорит drBatty, требуется перемонтировать ФС, а это не вариант, не могу я это сделать.

это не требуется, читайте пост выше: http://linuxforum.ru/viewtopic.php?pid=247333#p247333

#225966
i2ks написал:
это не требуется, читайте пост выше: Как дать права одному пользователю права другого? #247333

Я понять не могу, как пользоваться setfacl, английского не знаю, в интернете описания и инструкций к нему толком нет.

#225982
setter написал:
Я понять не могу, как пользоваться setfacl, английского не знаю, в интернете описания и инструкций к нему толком нет.

этого должно хватить:
https://wiki.archlinux.org/index.php/ACL_(Русский)

Войдите или зарегистрируйтесь, чтобы ответить.