id: Гость   вход   регистрация
текущее время 18:21 29/03/2024
создать
просмотр
ссылки

Хранитель паролей KeePassX


На просторах интернет обнаружил свободную программу с открытыми исходными текстами KeePassX. Это хранитель паролей для систем на базе Linux. Возможно окажется полезной в повседневной работе. Возможно кто-либо из участников форума может дать какие-либо комментарии по поводу этой программы, если уже приходилось с ней сталкиваться.
Программа имеет русский и интуитивно понятный интерфейс, а так же довольно приятна в работе.



 
На страницу: 1, 2, 3 След.
Комментарии
— sentaus (28/08/2015 20:38)   профиль/связь   <#>
комментариев: 1060   документов: 16   редакций: 32
Уточнение уточнения: ещё лучше права доступа задать сразу при создании.
— SATtva (28/08/2015 22:28)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Таки да. :)
— pgprubot (29/08/2015 19:06, исправлен 29/08/2015 19:23)   профиль/связь   <#>
комментариев: 511   документов: 2   редакций: 70

Да, так будет ещё лучше, но есть нюанс — менять права доступа придётся под рутом, обычные юзеры этого делать не могут (chown, chgrp), т.е. тут и так уже между двумя юзерами приходится переключаться, а тут ещё и в рута придётся, чтоб сделать

# chgrp userB /tmp/file
# chmod o-rwx /tmp/file


Да, но userB об этом постфактум узнает, т.к. прочитать из fifo можно только один раз, доступ посторонних не останется незамеченным. ☺



А как? Есть способ с изменением на лету umask и с install, но это эквивалент chmod, а мне-то, получается, нужен эквивалент chgrp. Нашёл какой-то хак, но под обычным юзером он не работает:

userA $ sg userB -c "touch filename"
Password:
sg: failed to crypt password with previous salt: Invalid argument
Под рутом работают обе команды (sg и newgrp).

— SATtva (29/08/2015 22:17, исправлен 29/08/2015 22:17)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118

Зачем? Минимальное требование только одно: юзеры A и B должны входить в одну группу, и права доступа должны быть ограничены чтением[/записью] в группе (-rw-rw----). То есть, как отметил sentaus, выполняйте

mkfifo -m o-rw /path

— pgprubot (29/08/2015 23:36, исправлен 30/08/2015 01:03)   профиль/связь   <#>
комментариев: 511   документов: 2   редакций: 70

Спасибо, понял. Тонкость была в том, что для отработки sg под юзером последний должен числиться членом группы, которую назначает создаваемому файлу.

# usermod -a -G Xgroup userA
# usermod -a -G Xgroup userB
 
# [перелогиниваемся под обоими юзерами (userA и user B)]
# [проверяем:]
userA $ groups
group1 group2 groupN ... Xgroup
userB $ groups
group1 group2 groupN ... Xgroup
 
userA $ sg Xgroup -c "mkfifo -m o-rwx /tmp/fifo"
userA $ cat /path/to/file > /tmp/fifo
# [шелл вернётся только после чтения под userB]
 
userB $ cat /tmp/fifo


UPD: Если теперь всё замесить в скрипт, то под userA (передача односторонняя, от userA к userB) можно использовать script_name.sh типа такого:

#!/bin/sh
 
FILE=$1
FIFO_FILE=/tmp/name-of-your-fifo
GROUP_NAME=your_group_name
# e.g. Xgroup
 
FLAG=false
if ! [ -e $FIFO_FILE ] ; then
    sg $GROUP_NAME -c "mkfifo -m g=r,o-rwx \"$FIFO_FILE\""
    FLAG=true
elif [ -p $FIFO_FILE ] ; then
    if ! [ $(stat -c '%U' "$FIFO_FILE") = "$USER" ] ; then
        echo Wrong fifo owner
    elif ! [ $(stat -c '%G' "$FIFO_FILE") = "$GROUP_NAME" ] ; then
        echo Wrong fifo group
    else
        FLAG=true
    fi
fi
 
if $FLAG ; then
    cat $FILE > $FIFO_FILE
fi
Теперь для передачи содержимого файла /path/to/file_to_send из-под userA выполняем
$ script_name.sh /path/to/file_to_send
а под userB, получаетелем,
$ cat /tmp/name-of-your-fifo
Последнюю команду для удобства можно забить алиасом в конфиг шелла, чтоб не набирать каждый раз.

— sentaus (30/08/2015 11:46, исправлен 30/08/2015 11:47)   профиль/связь   <#>
комментариев: 1060   документов: 16   редакций: 32

Наверно можно ещё с ACL попробовать, но тут уже придётся создавать файл с правами rw только для себя, а потом с помощью setfacl дать права rw ещё и другому пользователю. Здесь не будет требования, чтобы они были в одной группе, но должна быть включена поддержка acl.


— pgprubot (13/10/2015 19:41, исправлен 13/10/2015 19:49)   профиль/связь   <#>
комментариев: 511   документов: 2   редакций: 70

Не всегда требуется передавать именно файл — иногда надо просто какую-то ссылку или короткий текст, который вводится с консоли. В новом скрипте этот вариант также учтён:

#!/bin/sh
 
FIFO_FILE=/tmp/name-of-your-fifo
GROUP_NAME=your_group_name
# e.g. Xgroup
 
FLAG=false
if ! [ -e $FIFO_FILE ] ; then
    sg $GROUP_NAME -c "mkfifo -m g=r,o-rwx \"$FIFO_FILE\""
    FLAG=true
elif [ -p $FIFO_FILE ] ; then
    if ! [ $(stat -c '%U' "$FIFO_FILE") = "$USER" ] ; then
        echo Wrong fifo owner
    elif ! [ $(stat -c '%G' "$FIFO_FILE") = "$GROUP_NAME" ] ; then
        echo Wrong fifo group
    else
        FLAG=true
    fi
fi
 
if $FLAG ; then
    if [ $# -eq 0 ] ; then
        (while read inputline ; do
            if [ "${inputline}" = "EOF" ]; then
                exit
            fi
            echo "${inputline}"
        done) > $FIFO_FILE
    else
        cat $1 > $FIFO_FILE
    fi
fi
Передача файлов работает, как и раньше. Для передачи текста скрипт запускается без аргументов:
$ /path/to/script_name.sh
text of line1
text of line2
EOF
Под принимающем пользователем:
$ cat /tmp/name-of-your-fifo
text of line1
text of line2

На страницу: 1, 2, 3 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3