Russian Qt Forum

Компиляторы и платформы => Linux => Тема начата: Bepec от Октябрь 02, 2017, 22:16



Название: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Bepec от Октябрь 02, 2017, 22:16
Итак, приветствую заглянувших, доброе время суток.

Накопилась кучка вопросов, не сильно проблемных, но очень нервирующих. Поиски в нете практически бесполезны, из-за кучи информации по разным версиям linux/неподдерживаемым утилитам/флуда и посылов в man(каждая вторая тема). Хотя никого отвечать не заставляю, но желающие поделиться своей мудростью приветствуются.

OS: Ubuntu 16.04 LTS

Вопрос 1: Как запустить GUI программу с правами рута, минуя консоль?
Как работает: использование su sudo su gksu даёт нужный результат, но с постоянным требованием пароля. Отключение требования пароля под sudo нежелательно.
Как хотелось бы: двойной щелчок и запуск под рутом.
Причины: приложение работает с COM портами и mount, требуется root разрешения.

Вопрос 2: Как запустить .sh скрипт, с именем "view.sh", с содержимым
Код:
#!/bin/bash
# comment
sudo команда
, с установленным флагом -x(разрешить выполнение файла как программы), двойным щелчком по файлу, а так же двойным щелчком по нему же на рабочем столе Ubuntu?
Как работает: исключительно из консоли. Двойной щелчок вызывает программы-редакторы файлов.

Вопрос 3: Имеется ли GUI-шный способ создать и редактировать свойства ярлыка?
Как работает: хреначить ручками внутреннюю структуру файла.
Как хотелось бы: иметь нормальный gui.

PS если будут какие то полезные лайфхаки/замечания/пожелания/критика, не буду против прочитать/выслушать/принять/оценить.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 03, 2017, 07:24
Причины: приложение работает с COM портами и mount, требуется root разрешения.
Ни для первого, ни для второго не нужны права root.

Как работает: исключительно из консоли. Двойной щелчок вызывает программы-редакторы файлов.
Создать для него ярлык и щелкать по нему.

Вопрос 3: Имеется ли GUI-шный способ создать и редактировать свойства ярлыка?
Это зависит от используемого графического окружения. Вот я сейчас пишу под xfce4, она по клику правой кнопкой мыши на десктопе предлагает созадть  значек запуска.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: qate от Октябрь 03, 2017, 09:17
1. a) внести изменения в файл /etc/sudoers (https://logvinov.net/2014/05/mount-umount-root-bez-parolya-ubuntu.html)
    б) для доступа к КОМ порту необходимо и достаточно включить пользователя в группу dialout (т.е. без прав root)
    в) если это флешка, то она сама монтируется

2. обернуть sh в ярлык, его формат предельно простой:
Код:
[Desktop Entry]
Exec=/home/user1/bin/mySrcipt.sh
Icon=/home/user1/bin/mySrcipt.png
Path=/home/user1/bin/
Name=My Programm
Name[ru]=Моя программа
StartupNotify=false
Terminal=false
Type=Application
и добавить ему флаг запуска



Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Bepec от Октябрь 03, 2017, 14:15
to Old: пожалуйста воздержитесь от бесполезных комментариев в теме, вроде
Цитировать
Ни для первого, ни для второго не нужны права root.
Полезной информации такие комментарии не несут, исключительно вашу эмоциональную окраску. При желании посылайте мне их в личку, я их с удовольствием прочитаю и оценю.

to qate:
Вопрос 1, уточнение - монтируются nfs разделы. И permission denied без рута постоянно выкатывает.

Вот после внесения изменений в visudo, попытка примонтировать флешку
Код:
robopr@IvanMl:~$ mount /dev/sdb1 /media/new
mount: только root может делать это
robopr@IvanMl:~$ mount /dev/sdb1 /home/robopr/myUsb
mount: только root может делать это

файл visudo (/etc/sudoers)
Код:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

robopr ALL=(ALL) NOPASSWD: /bin/mount,/bin/umount,/home/robopr/Рабочий стол/view,/home/robopr/view
 
Попытка запустить программу для работы с COM портами, "view", копии которой размещены на рабочем столе и в домашней папке так же вызывают permission denied.

листинг etc/group
Код:
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,robopr
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:robopr
fax:x:21:
voice:x:22:
cdrom:x:24:robopr
floppy:x:25:
tape:x:26:
sudo:x:27:robopr
audio:x:29:pulse
dip:x:30:robopr
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:
sasl:x:45:
plugdev:x:46:robopr
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
systemd-journal:x:101:
systemd-timesync:x:102:
systemd-network:x:103:
systemd-resolve:x:104:
systemd-bus-proxy:x:105:
input:x:106:
crontab:x:107:
syslog:x:108:
netdev:x:109:
messagebus:x:110:
uuidd:x:111:
ssl-cert:x:112:
lpadmin:x:113:robopr
lightdm:x:114:
nopasswdlogin:x:115:
ssh:x:116:
whoopsie:x:117:
mlocate:x:118:
avahi-autoipd:x:119:
avahi:x:120:
bluetooth:x:121:
scanner:x:122:saned
colord:x:123:
pulse:x:124:
pulse-access:x:125:
rtkit:x:126:
saned:x:127:
robopr:x:1000:
sambashare:x:128:robopr


Вопрос 2:
Да, ярлык решает проблему, правда при наличии пробелов путь надо брать в кавычки, благодарю.


to All:
Вопрос 3:
Т.е. единого пакета для систем нету. Печально, но ожидаемо.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 03, 2017, 14:22
to Old: пожалуйста воздержитесь от бесполезных комментариев в теме
Как показывает ваше сообщение, это был самый полезный ответ.
Я написал, что root не требуется, а вы после этого должны были начать разбираться с вопросом.
Вот qate попытался дать более конкретный ответ, а вы даже не поняли о чем он говорит. :)


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Bepec от Октябрь 03, 2017, 14:43
А да, поправил ответ - забыл листинг груп добавить, куда пользователь добавлен.

PS вы слишком переоцениваете свои "намёки". У вас не намёки, а просто пустословные сообщения. А намёки в себе должны содержать отсылку куда-либо к чему-либо.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: qate от Октябрь 03, 2017, 15:19
1. если пользователь внесен в sudoers то все равно надо писать sudo some_command, просто не запросится пароль
после изменения /etc/group нужно перелогиниться или перезагрузиться см. вывод команды id


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Bepec от Октябрь 03, 2017, 15:25
Код:
robopr@IvanMl:~$ id
uid=1000(robopr) gid=1000(robopr) группы=1000(robopr),4(adm),20(dialout),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)

Т.е. Вопрос 1: запуск  gui приложения с правами рута возможен только ярлыком с приписанным впереди sudo?

Работа с COM портами заработала без sudo, mount к сожалению нет.

PS по идее должен быть способ запуска приложения сразу с правами root. В смысле по идеологии разграничения прав доступа, нельзя ли заставить приложение запускаться под root по умолчанию?


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 03, 2017, 15:34
PS вы слишком переоцениваете свои "намёки". У вас не намёки, а просто пустословные сообщения. А намёки в себе должны содержать отсылку куда-либо к чему-либо.
Так вы же сами знаете куда будете отосланы, в man. :)
А намеки мои понятны тем, кто хоть немного разбирается в вопросе. Как оказалось вы к таким не относитесь.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Bepec от Октябрь 03, 2017, 15:37
Угу. Именно поэтому я и хочу разобраться, т.к. не разбираюсь в вопросе.
И да, мне не нужна посылка в нечитабельный man, т.к. по идеологии linux я должен ЗНАТЬ, что именно мне искать в man.  А это я узнать могу... только... в man...
PS давайте прекратим флуд. Лучше порекомендуйте литературу чтоли, если вы такой супер разбирающийся знаток. Или вы считаете что man лучшая литература, которая может быть?


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 03, 2017, 15:43
Не очень понятно какие вопросы остались?
Как я понимаю, вы mount так и не смогли настроить?


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: qate от Октябрь 03, 2017, 16:42
PS по идее должен быть способ запуска приложения сразу с правами root. В смысле по идеологии разграничения прав доступа, нельзя ли заставить приложение запускаться под root по умолчанию?

можно, см. https://unix.stackexchange.com/questions/79692/running-program-as-root-without-using-sudo-with-normal-user-account


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 03, 2017, 16:53
можно, см. https://unix.stackexchange.com/questions/79692/running-program-as-root-without-using-sudo-with-normal-user-account
Плохо это, запускать обычные GUI-программы под рутом. По хорошему, нужно решить с монтированием, но тут не хватает информации, что нужно монтировать, когда, почему не использовать штатное монтирование и т.д.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Bepec от Октябрь 03, 2017, 17:03
mount * без прав рута не монтируется.
Монтировать надо nfs диск, о чем было написано.

PS непонятен сам запрет "нельзя запускать под рут gui программы", особенно в GUIшной ОС.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 03, 2017, 17:08
mount * без прав рута не монтируется.
Это все сказки-страшилки с винфака. :)
Есть такой флаг у mount - user, если его прописать в fstab, то обычным пользователям можно будет монтировать эту ФС.

К тому же совсем не понятно, почему эту файловую систему должна монтировать именно GUI-программа? Почему она автоматом не монтируется?

PS непонятен сам запрет "нельзя запускать под рут gui программы", особенно в GUIшной ОС.
А что в нем непонятного? Под рутом работают только демоны и школьники. :)


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Bepec от Октябрь 03, 2017, 17:27
Это скорее какая бредовая страшилка, нежели аргумент.

Потому что программа контролирует что и куда надо подцепать. А не наоборот.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 03, 2017, 17:32
Это скорее какая бредовая страшилка, нежели аргумент.

Потому что программа контролирует что и куда надо подцепать. А не наоборот.

Это она для вас бредовая.
Программа должна запускаться с правами, которые не превышают необходимые для программы.
root - наивысшие права в системе. Для обычных программ они опасны и вредны.

Но вендопользователя я даже не буду в этом убеждать. :)


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: __Heaven__ от Октябрь 03, 2017, 18:01
А каким образом флешки монтируются пользователями? Их же нет в fstab, вроде.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 03, 2017, 18:15
А каким образом флешки монтируются пользователями? Их же нет в fstab, вроде.
Как правило, "монтеры" состоят из некого привелегированного демона и пользовательских клиентов, которые ему говорят что монтировать.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: vic57 от Октябрь 03, 2017, 18:27
А каким образом флешки монтируются пользователями? Их же нет в fstab, вроде.
монтирует udev - прослойка между ядром и userspace. в терминале введите tail -f /var/log/messages, вставьте флешку - увидите сообщения


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 03, 2017, 18:35
монтирует udev - прослойка между ядром и userspace. в терминале введите tail -f /var/log/messages, вставьте флешку - увидите сообщения
udev скорее определяет момент установки флешки в порт.
Его конечно можно заставить монтировать, но это не его прямая обязанность.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: vic57 от Октябрь 03, 2017, 18:58
инициализирует как раз ядро, далее udev работает по uevent
Цитировать
udev запускается как демон и принимает через сокет netlink события uevents от ядра, которые генерируются при инициализации или удалении устройства из системы. Задаваемые пользователем (системой) правила сверяются со свойствами события и соответствующего устройства, и совпавшее правило (которых может быть несколько) может назвать и создать соответствующий файл устройств, а также выполнить другие программы для инициализации и конфигурации устройства. Например, таким образом можно реализовать автоматическое монтирование внешних накопителей при их подключении.
https://habrahabr.ru/post/58769/
 


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 03, 2017, 19:00
Так а в чем несоответствие с тем, что я написал? :)


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: vic57 от Октябрь 03, 2017, 19:28
Цитировать
udev скорее определяет момент установки флешки в порт.
это делает ядро - по dmesg видно
ТС - для mount nfs можно autofs юзать
https://help.ubuntu.com/community/Autofs


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 03, 2017, 19:56
Цитировать
udev скорее определяет момент установки флешки в порт.
это делает ядро
Пусть будет "сигнализирует о моменте установки флешки в порт". :)

по dmesg видно
И за устройствами удобней следить запустив:
udevadm monitor


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: __Heaven__ от Октябрь 04, 2017, 09:24
Флешки же не монтируются при втыкании во многих дистрибутивах. Их файл менеджер монтирует при первом использовании или кто-то другой.
Ещё вопрос в тему есть. Как правильно размонтируются внешние hdd? Так понимаю, что лучше шпиндель останавливать - не знаю как.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Old от Октябрь 04, 2017, 09:32
Ещё вопрос в тему есть. Как правильно размонтируются внешние hdd? Так понимаю, что лучше шпиндель останавливать - не знаю как.
Да достаточно размонтировать устройство. При вынимании шнурка из порта, питание отключается и головки паркуются достаточно быстро. :)


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: qate от Октябрь 04, 2017, 09:45
Так понимаю, что лучше шпиндель останавливать - не знаю как.

https://superuser.com/questions/852727/safe-to-manually-spin-down-hard-drive-with-hdparm
но важно ли именно останавливать или он сам сможет при выдергивании это корректно сделать - не знаю


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: __Heaven__ от Октябрь 04, 2017, 10:40
Да достаточно размонтировать устройство. При вынимании шнурка из порта, питание отключается и головки паркуются достаточно быстро. :)
С громким щелчком они паркуются. Пугает как-то.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Bepec от Октябрь 16, 2017, 05:46
Новенький вопрос - как получить доступ без рута к биндингу портов из первой тысячи?
В частности интересует 80.

Гугль говорит - низя, порты из золотой тысячи только рут.


Название: Re: Вопросы по Ubuntu ( критикам и посылальщикам в man не заходить!!!)
Отправлено: Alex Custov от Октябрь 26, 2017, 14:14
Всё верно, так и есть. Есть capability, который разрешает это: CAP_NET_BIND_SERVICE См. https://stackoverflow.com/questions/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-on-linux

Вообще, Linux - это прекрасная серверная система или система-запускальщик виртуальных машин типа Android, и ещё тысяи вариантов использования. Использовать как десктоп его проблематично с моей точки зрения из-за отсутствия фундаментальных возможностей "как в винде" и приятного внешнего вида. Например, временно повысить привилегии до рута а потом дропнуть нельзя. Ни одна современная DE мне так и не понравилась. Всё отстой так или иначе. Считаю KDE3 лучшей DE для Линукс/UNIX. Но времена те ушли безвозвратно :D А Trinity никому не нужен.