mirror of
https://github.com/fairyglade/ly.git
synced 2026-11-07 02:31:49 +00:00
Compare commits
73
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
271b4f8898 | ||
|
|
552d533435 | ||
|
|
9d774d93c5 | ||
|
|
90f18e9b34 | ||
|
|
ccb9dfabc5 | ||
|
|
4ba42400ce | ||
|
|
b336b70605 | ||
|
|
9c70ff5576 | ||
|
|
ec230541f3 | ||
|
|
d2fcb2e87d | ||
|
|
96a556a345 | ||
|
|
f79330cda3 | ||
|
|
3deedba040 | ||
|
|
dfe918358e | ||
|
|
cd738eafa7 | ||
|
|
289624bc88 | ||
|
|
7d4b25fc70 | ||
|
|
b8b31386e1 | ||
|
|
a14e6b5224 | ||
|
|
16922531e2 | ||
|
|
5c04c996d5 | ||
|
|
a7dedbab1b | ||
|
|
1926901eda | ||
|
|
43a40faf79 | ||
|
|
974aca51cb | ||
|
|
6ac03ab27e | ||
|
|
77f6958241 | ||
|
|
1523d0858d | ||
|
|
f6658f83a9 | ||
|
|
52d24304f8 | ||
|
|
ab531c9b2d | ||
|
|
86bd5bc1f6 | ||
|
|
7e7b2adf05 | ||
|
|
8493c5a8ad | ||
|
|
4a7c82e3e3 | ||
|
|
0a0da30ac9 | ||
|
|
c0328b3677 | ||
|
|
29e3ac28dd | ||
|
|
ce74c762ee | ||
|
|
afb6e964dd | ||
|
|
ce785ed0dc | ||
|
|
915ebd442f | ||
|
|
825544f7e2 | ||
|
|
33934f3ab2 | ||
|
|
4882cd4548 | ||
|
|
36b7ab0d4d | ||
|
|
9eb212cb91 | ||
|
|
fa42781cb9 | ||
|
|
740e7393bb | ||
|
|
ccf7911e9f | ||
|
|
faff4d21f0 | ||
|
|
3d2ec52290 | ||
|
|
4a1adf92b5 | ||
|
|
7904b07e14 | ||
|
|
c83ef00099 | ||
|
|
37fc47ef7a | ||
|
|
4d0549d53a | ||
|
|
a99c18b7fa | ||
|
|
ecaea4131b | ||
|
|
31e1ba84af | ||
|
|
f650e82f93 | ||
|
|
fe4af2bfe6 | ||
|
|
9486f05e59 | ||
|
|
95c0077416 | ||
|
|
6388208bb1 | ||
|
|
ce07938ccf | ||
|
|
3c20d7d47c | ||
|
|
7457ceaa56 | ||
|
|
500951fa34 | ||
|
|
bce0a161af | ||
|
|
e5cb2b4cf8 | ||
|
|
efc5c49de5 | ||
|
|
303a80dae8 |
No files matched your search
@@ -0,0 +1,4 @@
|
|||||||
|
srpm:
|
||||||
|
cd $(spec)
|
||||||
|
make github
|
||||||
|
rpmbuild -vv -bs ly.spec --define "_srcrpmdir $(outdir)"
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
[submodule "sub/argoat"]
|
[submodule "sub/argoat"]
|
||||||
path = sub/argoat
|
path = sub/argoat
|
||||||
url = https://git.cylgom.net/cylgom/argoat.git
|
url = https://git.nullgemm.fr/nullgemm/argoat.git
|
||||||
[submodule "sub/configator"]
|
[submodule "sub/configator"]
|
||||||
path = sub/configator
|
path = sub/configator
|
||||||
url = https://git.cylgom.net/cylgom/configator.git
|
url = https://git.nullgemm.fr/nullgemm/configator.git
|
||||||
[submodule "sub/ctypes"]
|
[submodule "sub/ctypes"]
|
||||||
path = sub/ctypes
|
path = sub/ctypes
|
||||||
url = https://git.cylgom.net/cylgom/ctypes.git
|
url = https://git.nullgemm.fr/nullgemm/ctypes.git
|
||||||
[submodule "sub/dragonfail"]
|
[submodule "sub/dragonfail"]
|
||||||
path = sub/dragonfail
|
path = sub/dragonfail
|
||||||
url = https://git.cylgom.net/cylgom/dragonfail.git
|
url = https://git.nullgemm.fr/nullgemm/dragonfail.git
|
||||||
[submodule "sub/termbox_next"]
|
[submodule "sub/termbox_next"]
|
||||||
path = sub/termbox_next
|
path = sub/termbox_next
|
||||||
url = https://git.cylgom.net/cylgom/termbox_next.git
|
url = https://git.nullgemm.fr/nullgemm/termbox_next.git
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
[submodule "sub/argoat"]
|
[submodule "sub/argoat"]
|
||||||
path = sub/argoat
|
path = sub/argoat
|
||||||
url = https://github.com/cylgom/argoat.git
|
url = https://github.com/nullgemm/argoat.git
|
||||||
[submodule "sub/configator"]
|
[submodule "sub/configator"]
|
||||||
path = sub/configator
|
path = sub/configator
|
||||||
url = https://github.com/cylgom/configator.git
|
url = https://github.com/nullgemm/configator.git
|
||||||
[submodule "sub/ctypes"]
|
[submodule "sub/ctypes"]
|
||||||
path = sub/ctypes
|
path = sub/ctypes
|
||||||
url = https://github.com/cylgom/ctypes.git
|
url = https://github.com/nullgemm/ctypes.git
|
||||||
[submodule "sub/dragonfail"]
|
[submodule "sub/dragonfail"]
|
||||||
path = sub/dragonfail
|
path = sub/dragonfail
|
||||||
url = https://github.com/cylgom/dragonfail.git
|
url = https://github.com/nullgemm/dragonfail.git
|
||||||
[submodule "sub/termbox_next"]
|
[submodule "sub/termbox_next"]
|
||||||
path = sub/termbox_next
|
path = sub/termbox_next
|
||||||
url = https://github.com/cylgom/termbox_next.git
|
url = https://github.com/nullgemm/termbox_next.git
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
%define relabel_files() \
|
||||||
|
restorecon -R /usr/bin/ly; \
|
||||||
|
|
||||||
|
%define selinux_policyver 3.14.6-34
|
||||||
|
|
||||||
|
Name: {{{ git_dir_name }}}
|
||||||
|
Version: {{{ git_dir_version }}}
|
||||||
|
Release: 1%{?dist}
|
||||||
|
Summary: A TUI display manager
|
||||||
|
License: WTFPL
|
||||||
|
URL: https://github.com/nullgemm/ly
|
||||||
|
VCS: {{{ git_dir_vcs }}}
|
||||||
|
Source: {{{ git_dir_pack }}}
|
||||||
|
BuildRequires: libxcb-devel
|
||||||
|
BuildRequires: pam-devel
|
||||||
|
BuildRequires: make
|
||||||
|
BuildRequires: git
|
||||||
|
BuildRequires: gcc
|
||||||
|
BuildRequires: selinux-policy-devel
|
||||||
|
Requires: libxcb
|
||||||
|
Requires: pam
|
||||||
|
|
||||||
|
%description
|
||||||
|
Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
git clone https://github.com/dhalucario/ly.git ly
|
||||||
|
cd ly
|
||||||
|
# git checkout v0.5.2
|
||||||
|
make github
|
||||||
|
|
||||||
|
%build
|
||||||
|
cd ly
|
||||||
|
make
|
||||||
|
|
||||||
|
%install
|
||||||
|
cd ly
|
||||||
|
mkdir -p %{buildroot}/etc/
|
||||||
|
mkdir -p %{buildroot}/usr/bin/
|
||||||
|
mkdir -p %{buildroot}/usr/lib/systemd/system/
|
||||||
|
mkdir -p %{buildroot}/etc/pam.d/
|
||||||
|
DESTDIR="%{buildroot}" make install
|
||||||
|
DESTDIR="%{buildroot}" make installselinux
|
||||||
|
chmod -x %{buildroot}/etc/ly/config.ini
|
||||||
|
chmod -x %{buildroot}/etc/ly/lang/*
|
||||||
|
|
||||||
|
%post
|
||||||
|
semodule -n -i /usr/share/selinux/packages/ly.pp
|
||||||
|
if /usr/sbin/selinuxenabled ; then
|
||||||
|
/usr/sbin/load_policy
|
||||||
|
%relabel_files
|
||||||
|
|
||||||
|
fi;
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
%postun
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
semodule -n -r ly
|
||||||
|
fi;
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
%files
|
||||||
|
/usr/bin/ly
|
||||||
|
/usr/lib/systemd/system/ly.service
|
||||||
|
/etc/ly/lang/es.ini
|
||||||
|
/etc/ly/lang/pt.ini
|
||||||
|
/etc/ly/lang/ru.ini
|
||||||
|
/etc/ly/lang/en.ini
|
||||||
|
/etc/ly/lang/fr.ini
|
||||||
|
/etc/ly/lang/ro.ini
|
||||||
|
/etc/ly/xsetup.sh
|
||||||
|
/etc/ly/wsetup.sh
|
||||||
|
/etc/ly/config.ini
|
||||||
|
/etc/pam.d/ly
|
||||||
|
/usr/share/selinux/packages/ly.pp
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
{{{ git_dir_changelog }}}
|
||||||
@@ -78,7 +78,8 @@ install: $(BIND)/$(NAME)
|
|||||||
@install -DZ $(RESD)/wsetup.sh -t $(DATADIR)
|
@install -DZ $(RESD)/wsetup.sh -t $(DATADIR)
|
||||||
@install -dZ $(DATADIR)/lang
|
@install -dZ $(DATADIR)/lang
|
||||||
@install -DZ $(RESD)/lang/* -t $(DATADIR)/lang
|
@install -DZ $(RESD)/lang/* -t $(DATADIR)/lang
|
||||||
@install -DZ $(RESD)/ly.service -t ${DESTDIR}/usr/lib/systemd/system
|
@install -DZ $(RESD)/ly.service -m 644 -t ${DESTDIR}/usr/lib/systemd/system
|
||||||
|
@install -DZ $(RESD)/pam.d/ly -m 644 -t ${DESTDIR}/etc/pam.d
|
||||||
|
|
||||||
installnoconf: $(BIND)/$(NAME)
|
installnoconf: $(BIND)/$(NAME)
|
||||||
@echo "installing without the configuration file"
|
@echo "installing without the configuration file"
|
||||||
@@ -88,7 +89,13 @@ installnoconf: $(BIND)/$(NAME)
|
|||||||
@install -DZ $(RESD)/wsetup.sh -t $(DATADIR)
|
@install -DZ $(RESD)/wsetup.sh -t $(DATADIR)
|
||||||
@install -dZ $(DATADIR)/lang
|
@install -dZ $(DATADIR)/lang
|
||||||
@install -DZ $(RESD)/lang/* -t $(DATADIR)/lang
|
@install -DZ $(RESD)/lang/* -t $(DATADIR)/lang
|
||||||
@install -DZ $(RESD)/ly.service -t ${DESTDIR}/usr/lib/systemd/system
|
@install -DZ $(RESD)/ly.service -m 644 -t ${DESTDIR}/usr/lib/systemd/system
|
||||||
|
@install -DZ $(RESD)/pam.d/ly -m 644 -t ${DESTDIR}/etc/pam.d
|
||||||
|
|
||||||
|
installselinux:
|
||||||
|
@echo "installing selinux modules"
|
||||||
|
@make -f /usr/share/selinux/devel/Makefile ly.pp
|
||||||
|
@install -DZ ly.pp ${DESTDIR}/usr/share/selinux/packages/ly.pp
|
||||||
|
|
||||||
uninstall:
|
uninstall:
|
||||||
@echo "uninstalling"
|
@echo "uninstalling"
|
||||||
@@ -96,6 +103,7 @@ uninstall:
|
|||||||
@rm -rf $(DATADIR)
|
@rm -rf $(DATADIR)
|
||||||
@rm -f ${DESTDIR}/usr/bin/ly
|
@rm -f ${DESTDIR}/usr/bin/ly
|
||||||
@rm -f ${DESTDIR}/usr/lib/systemd/system/ly.service
|
@rm -f ${DESTDIR}/usr/lib/systemd/system/ly.service
|
||||||
|
@rm -f ${DESTDIR}/etc/pam.d/ly
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@echo "cleaning"
|
@echo "cleaning"
|
||||||
@@ -104,8 +112,8 @@ clean:
|
|||||||
|
|
||||||
remotes:
|
remotes:
|
||||||
@echo "registering remotes"
|
@echo "registering remotes"
|
||||||
@git remote add github git@github.com:cylgom/$(NAME).git
|
@git remote add github git@github.com:nullgemm/$(NAME).git
|
||||||
@git remote add gitea ssh://git@git.cylgom.net:2999/cylgom/$(NAME).git
|
@git remote add gitea ssh://git@git.nullgem.fr:2999/nullgemm/$(NAME).git
|
||||||
|
|
||||||
github:
|
github:
|
||||||
@echo "sourcing submodules from https://github.com"
|
@echo "sourcing submodules from https://github.com"
|
||||||
@@ -116,7 +124,7 @@ github:
|
|||||||
@git submodule update --init --recursive --remote
|
@git submodule update --init --recursive --remote
|
||||||
|
|
||||||
gitea:
|
gitea:
|
||||||
@echo "sourcing submodules from https://git.cylgom.net"
|
@echo "sourcing submodules from personal server"
|
||||||
@cp .gitea .gitmodules
|
@cp .gitea .gitmodules
|
||||||
@git submodule sync
|
@git submodule sync
|
||||||
@git submodule update --init --remote
|
@git submodule update --init --remote
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
# Ly - a TUI display manager
|
# Ly - a TUI display manager
|
||||||
[](https://www.codefactor.io/repository/github/cylgom/ly/overview/master)
|

|
||||||

|
|
||||||
|
|
||||||
Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD.
|
Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD.
|
||||||
|
|
||||||
@@ -16,8 +15,7 @@ Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD.
|
|||||||
- tput
|
- tput
|
||||||
- shutdown
|
- shutdown
|
||||||
|
|
||||||
### Debian-based distros
|
On Debian-based distros running `apt install build-essential libpam0g-dev libxcb-xkb-dev` as root should install all the dependencies for you.
|
||||||
- libpam0g-dev
|
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
The following desktop environments were tested with success
|
The following desktop environments were tested with success
|
||||||
@@ -49,7 +47,7 @@ changing the source code won't be necessary :)
|
|||||||
## Cloning and Compiling
|
## Cloning and Compiling
|
||||||
Clone the repository
|
Clone the repository
|
||||||
```
|
```
|
||||||
git clone https://github.com/cylgom/ly.git
|
git clone https://github.com/nullgemm/ly.git
|
||||||
```
|
```
|
||||||
|
|
||||||
Fetch submodules
|
Fetch submodules
|
||||||
@@ -93,6 +91,19 @@ Use the up and down arrow keys to change the current field, and the
|
|||||||
left and right arrow keys to change the target desktop environment
|
left and right arrow keys to change the target desktop environment
|
||||||
while on the desktop field (above the login field).
|
while on the desktop field (above the login field).
|
||||||
|
|
||||||
|
## .xinitrc
|
||||||
|
If your .xinitrc doesn't work make sure it is executable and includes a shebang.
|
||||||
|
This file is supposed to be a shell script! Quoting from xinit's man page:
|
||||||
|
```
|
||||||
|
If no specific client program is given on the command line, xinit will look for
|
||||||
|
a file in the user's home directory called .xinitrc to run as a shell script to
|
||||||
|
start up client programs.
|
||||||
|
```
|
||||||
|
On ArchLinux, the example .xinitrc (/etc/X11/xinit/xinitrc) starts like this:
|
||||||
|
```
|
||||||
|
#!/bin/sh
|
||||||
|
```
|
||||||
|
|
||||||
## Tips
|
## Tips
|
||||||
The numlock and capslock state is printed in the top-right corner.
|
The numlock and capslock state is printed in the top-right corner.
|
||||||
Use the F1 and F2 keys to respectively shutdown and reboot.
|
Use the F1 and F2 keys to respectively shutdown and reboot.
|
||||||
|
|||||||
+5
-3
@@ -16,6 +16,7 @@
|
|||||||
#blank_box = true
|
#blank_box = true
|
||||||
|
|
||||||
# erase password input on failure
|
# erase password input on failure
|
||||||
|
#blank_password = false
|
||||||
#blank_password = true
|
#blank_password = true
|
||||||
|
|
||||||
# console path
|
# console path
|
||||||
@@ -57,7 +58,7 @@
|
|||||||
#min_refresh_delta = 5
|
#min_refresh_delta = 5
|
||||||
|
|
||||||
# default path
|
# default path
|
||||||
#path = /sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/bin
|
#path = /sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin
|
||||||
|
|
||||||
# command executed when pressing F2
|
# command executed when pressing F2
|
||||||
#restart_cmd = /sbin/shutdown -r now
|
#restart_cmd = /sbin/shutdown -r now
|
||||||
@@ -68,8 +69,8 @@
|
|||||||
# file in which to save and load the default desktop and login
|
# file in which to save and load the default desktop and login
|
||||||
#save_file = /etc/ly/save
|
#save_file = /etc/ly/save
|
||||||
|
|
||||||
# service name (pam needs this set to login)
|
# service name (set to ly to use the provided pam config file)
|
||||||
#service_name = login
|
#service_name = ly
|
||||||
|
|
||||||
# command executed when pressing F1
|
# command executed when pressing F1
|
||||||
#shutdown_cmd = /sbin/shutdown -a now
|
#shutdown_cmd = /sbin/shutdown -a now
|
||||||
@@ -85,6 +86,7 @@
|
|||||||
|
|
||||||
# add wayland specifier to session names
|
# add wayland specifier to session names
|
||||||
#wayland_specifier = false
|
#wayland_specifier = false
|
||||||
|
#wayland_specifier = true
|
||||||
|
|
||||||
# wayland desktop environments
|
# wayland desktop environments
|
||||||
#waylandsessions = /usr/share/wayland-sessions
|
#waylandsessions = /usr/share/wayland-sessions
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
capslock = caixa alta
|
||||||
|
err_alloc = alocação de memória malsucedida
|
||||||
|
err_bounds = índice fora de limites
|
||||||
|
err_chdir = não foi possível abrir o diretório home
|
||||||
|
err_console_dev = não foi possível acessar o console
|
||||||
|
err_dgn_oob = mensagem de log
|
||||||
|
err_domain = domínio inválido
|
||||||
|
err_hostname = não foi possível obter o nome do host
|
||||||
|
err_mlock = bloqueio da memória de senha malsucedido
|
||||||
|
err_null = ponteiro nulo
|
||||||
|
err_pam = transação pam malsucedida
|
||||||
|
err_pam_abort = transação pam abortada
|
||||||
|
err_pam_acct_expired = conta expirada
|
||||||
|
err_pam_auth = erro de autenticação
|
||||||
|
err_pam_authinfo_unavail = não foi possível obter informações do usuário
|
||||||
|
err_pam_authok_reqd = token expirada
|
||||||
|
err_pam_buf = erro de buffer de memória
|
||||||
|
err_pam_cred_err = erro para definir credenciais
|
||||||
|
err_pam_cred_expired = credenciais expiradas
|
||||||
|
err_pam_cred_insufficient = credenciais insuficientes
|
||||||
|
err_pam_cred_unavail = não foi possível obter credenciais
|
||||||
|
err_pam_maxtries = limite máximo de tentativas atingido
|
||||||
|
err_pam_perm_denied = permissão negada
|
||||||
|
err_pam_session = erro de sessão
|
||||||
|
err_pam_sys = erro de sistema
|
||||||
|
err_pam_user_unknown = usuário desconhecido
|
||||||
|
err_path = não foi possível definir o caminho
|
||||||
|
err_perm_dir = não foi possível alterar o diretório atual
|
||||||
|
err_perm_group = não foi possível reduzir as permissões de grupo
|
||||||
|
err_perm_user = não foi possível reduzir as permissões de usuário
|
||||||
|
err_pwnam = não foi possível obter informações do usuário
|
||||||
|
err_user_gid = não foi possível definir o GID do usuário
|
||||||
|
err_user_init = não foi possível iniciar o usuário
|
||||||
|
err_user_uid = não foi possível definir o UID do usuário
|
||||||
|
err_xsessions_dir = não foi possível encontrar a pasta das sessões
|
||||||
|
err_xsessions_open = não foi possível abrir a pasta das sessões
|
||||||
|
f1 = F1 desligar
|
||||||
|
f2 = F2 reiniciar
|
||||||
|
login = conectar:
|
||||||
|
logout = desconectado
|
||||||
|
numlock = numlock
|
||||||
|
password = senha:
|
||||||
|
shell = shell
|
||||||
|
wayland = wayland
|
||||||
|
xinitrc = xinitrc
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
capslock = capslock
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
err_console_dev = nu s-a putut accesa consola
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
err_pam_abort = tranzacţie pam anulată
|
||||||
|
err_pam_acct_expired = cont expirat
|
||||||
|
err_pam_auth = eroare de autentificare
|
||||||
|
err_pam_authinfo_unavail = nu s-au putut obţine informaţii despre utilizator
|
||||||
|
err_pam_authok_reqd = token expirat
|
||||||
|
err_pam_buf = eroare de memorie (buffer)
|
||||||
|
err_pam_cred_err = nu s-au putut seta date de identificare (credentials)
|
||||||
|
err_pam_cred_expired = datele de identificare (credentials) au expirat
|
||||||
|
err_pam_cred_insufficient = date de identificare (credentials) insuficiente
|
||||||
|
err_pam_cred_unavail = nu s-au putut obţine date de indentificare (credentials)
|
||||||
|
err_pam_maxtries = s-a atins numărul maxim de încercări
|
||||||
|
err_pam_perm_denied = acces interzis
|
||||||
|
err_pam_session = eroare de sesiune
|
||||||
|
err_pam_sys = eroare de sistem
|
||||||
|
err_pam_user_unknown = utilizator necunoscut
|
||||||
|
|
||||||
|
err_perm_dir = nu s-a putut schimba dosarul (folder-ul) curent
|
||||||
|
err_perm_group = nu s-a putut face downgrade permisiunilor de grup
|
||||||
|
err_perm_user = nu s-a putut face downgrade permisiunilor de utilizator
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
f1 = F1 opreşte sistemul
|
||||||
|
f2 = F2 resetează
|
||||||
|
login = utilizator:
|
||||||
|
logout = opreşte sesiunea
|
||||||
|
numlock = numlock
|
||||||
|
password = parolă:
|
||||||
|
shell = shell
|
||||||
|
wayland = wayland
|
||||||
|
xinitrc = xinitrc
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
capslock = capslock
|
||||||
|
err_alloc = не удалось выделить память
|
||||||
|
err_bounds = за пределами индекса
|
||||||
|
err_chdir = не удалось открыть домашнюю папку
|
||||||
|
err_console_dev = не удалось получить доступ к консоли
|
||||||
|
err_dgn_oob = отладочное сообщение (log)
|
||||||
|
err_domain = неверный домен
|
||||||
|
err_hostname = не удалось получить имя хоста
|
||||||
|
err_mlock = сбой блокировки памяти
|
||||||
|
err_null = нулевой указатель
|
||||||
|
err_pam = pam транзакция не удалась
|
||||||
|
err_pam_abort = pam транзакция прервана
|
||||||
|
err_pam_acct_expired = срок действия аккаунта истек
|
||||||
|
err_pam_auth = ошибка аутентификации
|
||||||
|
err_pam_authinfo_unavail = не удалось получить информацию о пользователе
|
||||||
|
err_pam_authok_reqd = токен истек
|
||||||
|
err_pam_buf = ошибка буфера памяти
|
||||||
|
err_pam_cred_err = не удалось установить полномочия
|
||||||
|
err_pam_cred_expired = полномочия истекли
|
||||||
|
err_pam_cred_insufficient = недостаточо полномочий
|
||||||
|
err_pam_cred_unavail = не удалось получить полномочия
|
||||||
|
err_pam_maxtries = лимит попыток исчерпан
|
||||||
|
err_pam_perm_denied = доступ запрещен
|
||||||
|
err_pam_session = ошибка сессии
|
||||||
|
err_pam_sys = системная ошибка
|
||||||
|
err_pam_user_unknown = неизвестный пользователь
|
||||||
|
err_path = не удалось установить путь
|
||||||
|
err_perm_dir = не удалось изменить текущий каталог
|
||||||
|
err_perm_group = не удалось понизить права доступа группы
|
||||||
|
err_perm_user = не удалось понизить права доступа пользователя
|
||||||
|
err_pwnam = не удалось получить информацию о пользователе
|
||||||
|
err_user_gid = не удалось установить GID пользователя
|
||||||
|
err_user_init = не удалось инициализировать пользователя
|
||||||
|
err_user_uid = не удалось установить UID пользователя
|
||||||
|
err_xsessions_dir = не удалось найти сессионную папку
|
||||||
|
err_xsessions_open = не удалось открыть сессионную папку
|
||||||
|
f1 = F1 выключить
|
||||||
|
f2 = F2 перезагрузить
|
||||||
|
login = логин:
|
||||||
|
logout = logged out
|
||||||
|
numlock = numlock
|
||||||
|
password = пароль:
|
||||||
|
shell = shell
|
||||||
|
wayland = wayland
|
||||||
|
xinitrc = xinitrc
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#%PAM-1.0
|
||||||
|
|
||||||
|
auth include login
|
||||||
|
account include login
|
||||||
|
password include login
|
||||||
|
session include login
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/usr/bin/ly -- gen_context(system_u:object_r:ly_exec_t,s0)
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
|
||||||
|
## <summary>policy for ly</summary>
|
||||||
|
|
||||||
|
########################################
|
||||||
|
## <summary>
|
||||||
|
## Execute ly_exec_t in the ly domain.
|
||||||
|
## </summary>
|
||||||
|
## <param name="domain">
|
||||||
|
## <summary>
|
||||||
|
## Domain allowed to transition.
|
||||||
|
## </summary>
|
||||||
|
## </param>
|
||||||
|
#
|
||||||
|
interface(`ly_domtrans',`
|
||||||
|
gen_require(`
|
||||||
|
type ly_t, ly_exec_t;
|
||||||
|
')
|
||||||
|
|
||||||
|
corecmd_search_bin($1)
|
||||||
|
domtrans_pattern($1, ly_exec_t, ly_t)
|
||||||
|
')
|
||||||
|
|
||||||
|
######################################
|
||||||
|
## <summary>
|
||||||
|
## Execute ly in the caller domain.
|
||||||
|
## </summary>
|
||||||
|
## <param name="domain">
|
||||||
|
## <summary>
|
||||||
|
## Domain allowed access.
|
||||||
|
## </summary>
|
||||||
|
## </param>
|
||||||
|
#
|
||||||
|
interface(`ly_exec',`
|
||||||
|
gen_require(`
|
||||||
|
type ly_exec_t;
|
||||||
|
')
|
||||||
|
|
||||||
|
corecmd_search_bin($1)
|
||||||
|
can_exec($1, ly_exec_t)
|
||||||
|
')
|
||||||
|
|
||||||
Executable
+32
@@ -0,0 +1,32 @@
|
|||||||
|
policy_module(ly, 1.0.0)
|
||||||
|
|
||||||
|
########################################
|
||||||
|
#
|
||||||
|
# Declarations
|
||||||
|
#
|
||||||
|
|
||||||
|
type ly_t;
|
||||||
|
type ly_exec_t;
|
||||||
|
init_daemon_domain(ly_t, ly_exec_t)
|
||||||
|
|
||||||
|
permissive ly_t;
|
||||||
|
|
||||||
|
########################################
|
||||||
|
#
|
||||||
|
# ly local policy
|
||||||
|
#
|
||||||
|
allow ly_t self:capability { setgid setuid };
|
||||||
|
allow ly_t self:process { fork signal_perms };
|
||||||
|
allow ly_t self:process transition;
|
||||||
|
allow ly_t self:fifo_file rw_fifo_file_perms;
|
||||||
|
allow ly_t self:unix_stream_socket create_stream_socket_perms;
|
||||||
|
|
||||||
|
domain_use_interactive_fds(ly_t)
|
||||||
|
|
||||||
|
files_read_etc_files(ly_t)
|
||||||
|
|
||||||
|
auth_use_nsswitch(ly_t)
|
||||||
|
|
||||||
|
logging_send_audit_msgs(ly_t)
|
||||||
|
|
||||||
|
miscfiles_read_localization(ly_t)
|
||||||
+2
-2
@@ -281,11 +281,11 @@ void config_defaults()
|
|||||||
config.max_password_len = 255;
|
config.max_password_len = 255;
|
||||||
config.mcookie_cmd = strdup("/usr/bin/mcookie");
|
config.mcookie_cmd = strdup("/usr/bin/mcookie");
|
||||||
config.min_refresh_delta = 5;
|
config.min_refresh_delta = 5;
|
||||||
config.path = strdup("/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/bin");
|
config.path = strdup("/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin");
|
||||||
config.restart_cmd = strdup("/sbin/shutdown -r now");
|
config.restart_cmd = strdup("/sbin/shutdown -r now");
|
||||||
config.save = true;
|
config.save = true;
|
||||||
config.save_file = strdup("/etc/ly/save");
|
config.save_file = strdup("/etc/ly/save");
|
||||||
config.service_name = strdup("login");
|
config.service_name = strdup("ly");
|
||||||
config.shutdown_cmd = strdup("/sbin/shutdown -a now");
|
config.shutdown_cmd = strdup("/sbin/shutdown -a now");
|
||||||
config.term_reset_cmd = strdup("/usr/bin/tput reset");
|
config.term_reset_cmd = strdup("/usr/bin/tput reset");
|
||||||
config.tty = 2;
|
config.tty = 2;
|
||||||
|
|||||||
+1
-1
Submodule sub/argoat updated: 36c41f09ec...76d1e23b5e.
+1
-1
Submodule sub/configator updated: c3e1ef1754...8cec178619.
+1
-1
Submodule sub/ctypes updated: 5dd979d364...eb4b36559d.
+1
-1
Submodule sub/dragonfail updated: 6b40d1f8b7...0a2492c6aa.
+1
-1
Submodule sub/termbox_next updated: d356892786...23fff64470.
Reference in new issue
Block a user