Compare commits

...

135 Commits

Author SHA1 Message Date
Alejandro Colomar
7d974e3e9b configure.ac: Release 4.15.2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-06-21 11:15:34 +02:00
Serge Hallyn
c53b76cc49 configure.ac: specify tar-pax to avoid 99 char filename limit
Signed-off-by: Serge Hallyn <serge@hallyn.com>
Cherry-picked-from: 9b7d786b6f ("configure.ac: specify tar-pax to avoid 99 char filename limit")
Link: <https://github.com/shadow-maint/shadow/pull/1021#issuecomment-2167025950>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-06-21 11:15:33 +02:00
Alejandro Colomar
ec00428f90 lib/csrand.c: Fix the lower part of the domain of csrand_uniform()
I accidentally broke this code during an un-optimization.  We need to
start from a random value of the width of the limit, that is, 32 bits.

Thanks to Jason for pointing to his similar code in the kernel, which
made me see my mistake.

Fixes: 2a61122b5e ("Unoptimize the higher part of the domain of csrand_uniform()")
Closes: <https://github.com/shadow-maint/shadow/issues/1015>
Reported-by: Michael Brunnbauer <https://github.com/michaelbrunnbauer>
Link: <https://git.zx2c4.com/linux-rng/tree/drivers/char/random.c#n535>
Cc: "Jason A. Donenfeld" <Jason@zx2c4.com>
Link: <https://github.com/shadow-maint/shadow/pull/638>
Link: <https://github.com/shadow-maint/shadow/issues/634>
Link: <https://github.com/shadow-maint/shadow/pull/624>
Tested-by: Michael Brunnbauer <https://github.com/michaelbrunnbauer>
Reviewed-by: Michael Brunnbauer <https://github.com/michaelbrunnbauer>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Cherry-picked-from: 4119a2dce564 ("lib/csrand.c: Fix the lower part of the domain of csrand_uniform()")
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Link: <https://github.com/shadow-maint/shadow/pull/1025>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-06-21 10:57:17 +02:00
Daniel Bershatsky
18f113cc46 libsubid: Dealocate memory on exit 2024-06-12 18:41:22 +02:00
lixinyun
10429edc14 src/groupmod.c: delete gr_free_members(&grp) to avoid double free
Groupmod -U may cause crashes because of double free. If without -a, the first free of (*ogrp).gr_mem is in gr_free_members(&grp), and then in gr_update without -n or gr_remove with -n.
Considering the minimal impact of modifications on existing code, delete gr_free_members(&grp) to avoid double free.Although this may seem reckless, the second free in two different positions will definitely be triggered, and the following two test cases can be used to illustrate the situation :

[root@localhost src]# ./useradd u1
[root@localhost src]# ./useradd u2
[root@localhost src]# ./useradd u3
[root@localhost src]# ./groupadd -U u1,u2,u3 g1
[root@localhost src]# ./groupmod -n g2 -U u1,u2 g1
Segmentation fault

This case would free (*ogrp).gr_mem in gr_free_members(&grp) due to assignment statements grp = *ogrp, then in if (nflg && (gr_remove (group_name) == 0)), which finally calls gr_free_members(grent) to free (*ogrp).gr_mem again.

[root@localhost src]# ./useradd u1
[root@localhost src]# ./useradd u2
[root@localhost src]# ./useradd u3
[root@localhost src]# ./groupadd -U u1,u2,u3 g1
[root@localhost src]# ./groupmod -U u1,u2 g1
Segmentation fault

The other case would free (*ogrp).gr_mem in gr_free_members(&grp) too, then in if (gr_update (&grp) == 0), which finally calls gr_free_members(grent) too to free (*ogrp).gr_mem again.

So the first free is unnecessary, maybe we can drop it.

Fixes: 342c934a35 ("add -U option to groupadd and groupmod")
Closes: <https://github.com/shadow-maint/shadow/issues/1013>
Link: <https://github.com/shadow-maint/shadow/pull/1007>
Link: <https://github.com/shadow-maint/shadow/pull/271>
Link: <https://github.com/shadow-maint/shadow/issues/265>
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: lixinyun <li.xinyun@h3c.com>
2024-06-07 12:42:44 +02:00
Serge Hallyn
8acec35d1d man/lastlog: remove wrong use of keyword term
Per https://tdg.docbook.org/tdg/4.5/term, term is a word being
defined in a varlistentry.  The 'high uid' description is not a
varlistentry, so <term> and </term> show up in the processed
manpage.  See debian Bug#1072297.

Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-06-05 15:49:54 +02:00
Alejandro Colomar
69f74dbf8a lib/cast.h: const_cast(): Reimplement with _Generic(3)
This makes it much simpler and portable.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-06-04 09:10:23 +02:00
Iker Pedrosa
4e2453fa9f configure: move cmocka library detection
`PKG_CONFIG` variable needs to be set for `PKG_CHECK_MODULES` to
succeed, but this wasn't happening in Fedora because the first
appearance of `PKG_CHECK_MODULES` was conditionally skipped because this
distribution is compiled without `libbsd` support. Thus, moving the
cmocka library detection before libbsd fixes the problem.

Suggested-by: Lukas Slebodnik <lslebodn@fedoraproject.org>
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
2024-05-28 19:19:58 -05:00
Serge Hallyn
d0fef040ed tests: add the tests/ subdirectory to dist tarball
This is a first step to helping distributions to use our tests in CI.

Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-05-28 19:18:39 -05:00
Alejandro Colomar
71e28359d1 lib/atoi/strtou_noneg.[ch], tests/: strtoul_noneg(): Remove unused function
All call sites have been replaced by functions from "atoi/a2i.h" and
"atoi/str2i.h" recently.

Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-27 16:32:09 +02:00
Alejandro Colomar
f3a1e1cf09 src/check_subid_range.c: Call str2ul() instead of strtoul_noneg()
It is a simpler call, with more type safety.

A consequence of this change is that the program now accepts numbers in
bases 8 and 16.  That's not a problem here, I think.

Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-27 16:32:09 +02:00
Alejandro Colomar
fb49de61b7 lib/atoi/strtou_noneg.[ch], tests/: strtoull_noneg(): Remove unused function
All call sites were replaced by a2i() recently.

Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-27 16:32:09 +02:00
Alejandro Colomar
895dfd77d2 lib/gettime.c: gettime(): Call a2i() instead of strtoull_noneg()
time_t isn't necessarily unsigned (in fact, it's likely to be signed.
Therefore, parse the number as the right type, via a2i(time_t, ...).

Still, reject negative numbers, just to be cautious.  It was done
before (strtoull_noneg()), so it shouldn't be a problem.  (However,
strtoull_noneg() was only introduced recently, and before that we called
strtoull(3), which silently accepted negative values.)

Remove the limitation of ULONG_MAX, which seems arbitrary.  It probably
was written in times where 'time_t' had the same length of 'long', and
this was thus a test that the value didn't overflow 'time_t'.  Such a
test is implicit in the a2i() call, so forget about it.

Unify the error messages into a single one that provides all the info
(except the value of 'fallback').

Link: <cb610d54b4 (r136407772)>
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Chris Lamb <lamby@debian.org>
Cc: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-27 16:32:09 +02:00
Tianyu Chen
9dddcd29f1 STABLE.md: 4.15.x is now stable 2024-05-22 15:10:03 +02:00
Alejandro Colomar
a6eb312f60 src/login.c: main(): Use login_name_max_size()
Instead of raw sysconf(_SC_LOGIN_NAME_MAX) calls, which was being used
without error handling.

Fixes: 3b7cc05387 ("lib: replace `USER_NAME_MAX_LENGTH` macro")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-21 13:26:41 +02:00
Alejandro Colomar
99df9d746e lib/chkname.[ch]: login_name_max_size(): Add function
It encapsulates some logic that we may want to reuse elsewhere.

Link: <https://github.com/shadow-maint/shadow/pull/989>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-21 13:26:41 +02:00
Alejandro Colomar
27e467a61a lib/chkname.[ch]: Fix includes
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-21 13:26:41 +02:00
Alejandro Colomar
d8e6a8b99b src/usermod.c: update_gshadow(): Add helper function
Keep the while loop in the outer function, and move the iteration code
to this new helper.  This makes it a bit more readable.

Cc: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-20 09:37:01 +02:00
Alejandro Colomar
adf37cccd0 src/usermod.c: update_group(): Add helper function
Keep the while loop in the outer function, and move the iteration code
to this new helper.  This makes it a bit more readable.

Cc: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-20 09:37:01 +02:00
Alejandro Colomar
da77a82ecb src/usermod.c: update_gshadow_file(): Reduce scope of local variable
After _every_ iteration, 'changed' is always 'false'.  We don't need to
have it outside of the loop.

See:

$ grepc update_gshadow_file . \
| grep -e changed -e goto -e continue -e break -e free_ngrp -e '{' -e '}' \
| pcre2grep -v -M '{\n\t*}';
{
	bool               changed;
	changed = false;
	while ((sgrp = sgr_next ()) != NULL) {
		if (!was_member && !was_admin && !is_member) {
			continue;
		}
		if (was_admin && lflg) {
			changed = true;
		}
		if (was_member) {
			if ((!Gflg) || is_member) {
				if (lflg) {
					changed = true;
				}
			} else {
				changed = true;
			}
		} else if (is_member) {
			changed = true;
		}
		if (!changed)
			goto free_nsgrp;
		changed = false;
	}
}

This was already true in the commit that introduced the code:

$ git show 45c6603cc:src/usermod.c \
| grepc update_gshadow \
| grep -e changed -e goto -e break -e continue -e '\<if\>' -e '{' -e '}' \
| pcre2grep -v -M '{\n\t*}';
{
	int changed;
	changed = 0;
	while ((sgrp = sgr_next())) {
		 * See if the user was a member of this group
		 * See if the user was an administrator of this group
		 * See if the user specified this group as one of their
		if (!was_member && !was_admin && !is_member)
			continue;
		if (was_admin && lflg) {
			changed = 1;
		}
		if (was_member && (!Gflg || is_member)) {
			if (lflg) {
				changed = 1;
			}
		} else if (was_member && Gflg && !is_member) {
			changed = 1;
		} else if (!was_member && Gflg && is_member) {
			changed = 1;
		}
		if (!changed)
			continue;
		changed = 0;
	}
}

Fixes: 45c6603cc8 ("[svn-upgrade] Integrating new upstream version, shadow (19990709)")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-20 09:37:01 +02:00
Alejandro Colomar
68d42a8fbe src/usermod.c: update_group_file(): Reduce scope of local variable
After _every_ iteration, 'changed' is always 'false'.  We don't need to
have it outside of the loop.

See:

$ grepc update_group_file . \
| grep -e changed -e goto -e continue -e break -e free_ngrp -e '{' -e '}' \
| pcre2grep -v -M '{\n\t*}';
{
	bool                changed;
	changed = false;
	while ((grp = gr_next ()) != NULL) {
		if (!was_member && !is_member) {
			continue;
		}
		if (was_member) {
			if ((!Gflg) || is_member) {
				if (lflg) {
					changed = true;
				}
			} else {
				changed = true;
			}
		} else if (is_member) {
			changed = true;
		}
		if (!changed)
			goto free_ngrp;
		changed = false;
free_ngrp:
	}
}

This was already true in the commit that introduced the code:

$ git show 45c6603cc:src/usermod.c \
| grepc update_group \
| grep -e changed -e goto -e break -e continue -e '\<if\>' -e '{' -e '}' \
| pcre2grep -v -M '{\n\t*}';
{
	int changed;
	changed = 0;
	while ((grp = gr_next())) {
		 * See if the user specified this group as one of their
		if (!was_member && !is_member)
			continue;
		if (was_member && (!Gflg || is_member)) {
			if (lflg) {
				changed = 1;
			}
		} else if (was_member && Gflg && !is_member) {
			changed = 1;
		} else if (!was_member && Gflg && is_member) {
			changed = 1;
		}
		if (!changed)
			continue;
		changed = 0;
	}
}

Fixes: 45c6603cc8 ("[svn-upgrade] Integrating new upstream version, shadow (19990709)")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-20 09:37:01 +02:00
Alejandro Colomar
71a3238b79 src/usermod.c: update_gshadow_file(): Fix RESOURCE_LEAK (CWE-772)
Report:
> shadow-4.15.0/src/usermod.c:864:3: alloc_fn: Storage is returned from allocation function "__sgr_dup".
> shadow-4.15.0/src/usermod.c:864:3: var_assign: Assigning: "nsgrp" = storage returned from "__sgr_dup(sgrp)".
> shadow-4.15.0/src/usermod.c:964:1: leaked_storage: Variable "nsgrp" going out of scope leaks the storage it points to.
> 962|                   free (nsgrp);
> 963|           }
> 964|-> }
> 965|   #endif                                /* SHADOWGRP */
> 966|

Link: https://issues.redhat.com/browse/RHEL-35383
Reported-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-20 09:37:01 +02:00
Alejandro Colomar
61964aa06b src/usermod.c: update_group_file(): Fix RESOURCE_LEAK (CWE-772)
Report:
> shadow-4.15.0/src/usermod.c:734:3: alloc_fn: Storage is returned from allocation function "__gr_dup".
> shadow-4.15.0/src/usermod.c:734:3: var_assign: Assigning: "ngrp" = storage returned from "__gr_dup(grp)".
> shadow-4.15.0/src/usermod.c:815:1: leaked_storage: Variable "ngrp" going out of scope leaks the storage it points to.
> 813|                   gr_free(ngrp);
> 814|           }
> 815|-> }
> 816|
> 817|   #ifdef SHADOWGRP

Link: https://issues.redhat.com/browse/RHEL-35383
Reported-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-20 09:37:01 +02:00
Alejandro Colomar
81bc78ec5c src/usermod.c: Rename update_gshadow() => update_gshadow_file()
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-20 09:37:01 +02:00
Alejandro Colomar
b089a63ab3 src/usermod.c: Rename update_group() => update_group_file()
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-20 09:37:01 +02:00
Alejandro Colomar
151f14ad69 src/usermod.c: Reduce scope of local variables
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-20 09:37:01 +02:00
Alejandro Colomar
1ee066ae1e src/useradd.c: set_defaults(): Fix FILE* leak
Report:
> shadow-4.15.0/src/useradd.c:575:2: alloc_fn: Storage is returned from allocation function "fdopen".
> shadow-4.15.0/src/useradd.c:575:2: var_assign: Assigning: "ofp" = storage returned from "fdopen(ofd, "w")".
> shadow-4.15.0/src/useradd.c:734:2: leaked_storage: Variable "ofp" going out of scope leaks the storage it points to.
> 732|           }
> 733|
> 734|->         return ret;
> 735|   }
> 736|

Link: <https://issues.redhat.com/browse/RHEL-35383>
Reported-by: Iker Pedrosa <ipedrosa@redhat.com>
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-18 01:15:10 +02:00
Alejandro Colomar
e7d1508e07 src/useradd.c: Add fmkstemp() to fix file-descriptor leak
This function creates a temporary file, and returns a FILE pointer to
it.  This avoids dealing with both a file descriptor and a FILE pointer,
and correctly deallocating the resources on error.

The code before this patch was leaking the file descriptor if fdopen(3)
failed.

Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-18 01:15:10 +02:00
Alejandro Colomar
a74c4b6ae1 src/useradd.c: De-duplicate code
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-18 01:15:10 +02:00
Alejandro Colomar
701fe4cf1a src/useradd.c: set_defaults(): Do not free(3) the result of asprintf(3) if it failed
See asprintf(3):

RETURN VALUE
     When successful,  these  functions  return  the  number  of  bytes
     printed, just like sprintf(3).  If memory allocation wasn’t possi‐
     ble,  or  some other error occurs, these functions will return -1,
     and the contents of strp are undefined.

Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-18 01:15:10 +02:00
Alejandro Colomar
37ae8827a0 src/useradd.c: set_defaults(): Rename goto label
This will help add other labels in the following commits.

Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-18 01:15:10 +02:00
Alejandro Colomar
f8fc6371f6 src/useradd.c: set_defaults(): Fix order of clean-ups
Resources should be freed in the inverse order of the allocation.
This refactor prepares for the following commits, which fix some leaks.

Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-18 01:15:10 +02:00
Iker Pedrosa
4c16416ebc port: fix OVERRUN (CWE-119)
```
shadow-4.15.0/lib/port.c:154:2: alias: Assigning: "port.pt_names" = "ttys". "port.pt_names" now points to element 0 of "ttys" (which consists of 65 8-byte elements).
shadow-4.15.0/lib/port.c:155:2: cond_const: Checking "j < 64" implies that "j" is 64 on the false branch.
shadow-4.15.0/lib/port.c:175:2: overrun-local: Overrunning array of 65 8-byte elements at element index 65 (byte offset 527) by dereferencing pointer "port.pt_names + (j + 1)".
173|           *cp = '\0';
174|           cp++;
175|->         port.pt_names[j + 1] = NULL;
176|
177|           /*
```

Resolves: https://issues.redhat.com/browse/RHEL-35383

Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
2024-05-17 16:08:26 +02:00
Alejandro Colomar
0066743c49 lib/getrange.c: getrange(): Report an error when min>max
Cc: Serge Hallyn <serge@hallyn.com>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-17 15:40:03 +02:00
Alejandro Colomar
29f135777e lib/getrange.c: getrange(): Add missing cast
isdigit(3) requires a cast if the argument is of type 'char'.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-17 15:40:03 +02:00
Alejandro Colomar
34f431f607 lib/getrange.c: getrange(): Add const to pointer
Now that we have const-generic macros, we can use a const pointer.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-17 15:40:03 +02:00
Alejandro Colomar
040ba6a853 lib/getrange.c: getrange(): Use a2ul() instead of strtoul_noneg()
It simplifies the error checking.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-17 15:40:03 +02:00
Alejandro Colomar
b0498564b2 lib/atoi/a2i.[ch]: Add const-generic macros
These overloaded macros allow passing either a const or a non-const
endp, and will call the appropriate function.  This kind of const
overloading has prior art in C23's string functions, such as memchr(3).

Martin suggested using an artificial function pointer in _Generic(3); it
allows switching on various types at the same time.

Also add a comment referring to liba2i's PDF manual for documentation.

Link: <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf#subsubsection.7.26.5.2>
Link: <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114731>
Link: <http://www.alejandro-colomar.es/share/dist/liba2i/git/HEAD/liba2i-HEAD.pdf>
Co-developed-by: Martin Uecker <muecker@gwdg.de>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-17 15:40:03 +02:00
Alejandro Colomar
26c9dd3715 lib/alloc.h: Reimplement [X]REALLOC[F]() macros with _Generic(3)
Instead of GNU builtins and extensions, these macros can be implemented
with C11's _Generic(3), and the result is much simpler (and safer, since
it's now an error, not just a warning).

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-15 12:08:00 +02:00
Frans Spiesschaert
18ecf3987e updated Dutch translation 2024-05-09 14:25:19 +02:00
Iker Pedrosa
9b3889696b man: update translations for username length
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
2024-05-09 10:56:27 +02:00
Iker Pedrosa
03c31bef87 man: update username length
Fixes: 6a1f45d932 ("lib/chkname.c: Support unlimited user name lengths")
Related-To: https://github.com/shadow-maint/shadow/pull/986

Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
2024-05-09 10:56:27 +02:00
Alejandro Colomar
98aefe8772 lib/, src/: Rename some local variables
'endptr' is appropriate internally in strtol(3) because it's a pointer
to 'end', and 'end' itself is a pointer to one-after-the-last character
of the numeric string.  In other words,

	endptr == &end

However, naming the pointer whose address we pass to strtol(3)'s
'endptr' feels wrong, and causes me trouble while parsing the code; I
need to double check the number of dereferences, because something feels
wrong in my head.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-04 17:22:57 -05:00
Alejandro Colomar
f40bd94856 lib/getrange.c: getrange(): Use goto to deduplicate code
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-04 17:22:57 -05:00
Alejandro Colomar
7af7361fd6 lib/getrange.c: getrange(): Return early
It's doesn't make much sense to break from a switch() just to return.
Let's return early, to simplify.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-04 17:22:57 -05:00
Alejandro Colomar
bbb2735cc0 lib/getrange.c: getrange(): Return early to reduce indentation
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-04 17:22:57 -05:00
Alejandro Colomar
d7ab811a36 lib/getrange.c: getrange(): Don't else after return
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-04 17:22:57 -05:00
Alejandro Colomar
62a4daa2cd lib/getrange.c: getrange(): Return early to remove an else
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-04 17:22:57 -05:00
Alejandro Colomar
8d8062c770 lib/getrange.c: getrange(): Remove temporary variable
This means we set the pointees on error, which we didn't do before, but
since we return -1 on error and ignore (don't use) the pointees at call
site, that's fine.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-04 17:22:57 -05:00
Alejandro Colomar
38a0b0a610 lib/getrange.c: getrange(): Small refactor
All 3 non-error paths in the second part resulted in *has_min = true.
Set in once before the switch(), to simplify.

This means we set this variable on error, which we didn't do before,
but since we return -1 on error and ignore (don't use) the pointees at
call site, that's fine.

Also, move a couple of *has_max = true statements to before a comment,
in preparation for future commits.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-04 17:22:57 -05:00
Alejandro Colomar
6bf5d6d4f3 lib/getrange.c: getrange(): Small refactor
Set *has_{min,max} = false at the begining, so we only need to set them
to true later.

This means we set these variables on error, which we didn't do before,
but since we return -1 on error and ignore (don't use) the pointees at
call site, that's fine.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-05-04 17:22:57 -05:00
Iker Pedrosa
dbd3527c03 share/containers: update build flags for fedora 40
libpam is enabled to provide `passwd` binary from this package, as there
are several password quality checks that are enabled through a PAM
module. Same reason to disable account-tools-setuid.

sssd is disabled because `files provider` has been removed in sssd, and
the underlying functionality in shadow isn't needed anymore.

libcrack dependency was disabled some time ago, but the upstream repo
wasn't updated. Doing it now.

Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
2024-05-02 10:45:03 +02:00
Iker Pedrosa
dbf3b1ad51 share/containers: sort configuration options
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
2024-05-02 10:45:03 +02:00
Iker Pedrosa
b8f17f9c29 share/containers: fix indentation in fedora
Signed-off-by: Iker Pedrosa <ipedrosa@redhat.com>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
2024-05-02 10:45:03 +02:00
Serge Hallyn
2e01b9d7d2 newuidmap and newgidmap manpages: fix fd description
The manpages for newuidmap and newgidmap had a typo "[pid[" instead
of "[pid]".  They were also unclear about what the /proc/pid fd should
be.  Fix both.

Closes #977

Reported-by: igo95862@yandex.ru
Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-04-10 09:18:40 +02:00
Tobias Stoeckmann
5f5b21fd5c lib/env.c: treat out of memory condition as error
If not enough memory is available for more environment variables, treat
it exactly like not enough memory for new environment variable content.

Reviewed-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2024-04-04 20:12:03 +02:00
Alejandro Colomar
f7fe4c5978 lib/atoi/: a2*(), str2*(): Add variants for other types
And type-generic macros that wrap them: a2i(), str2i()

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-29 14:29:13 -05:00
Alejandro Colomar
f39ac101ff lib/, src/: str2*(): Rename functions and reorder parameters
This makes them compatible with liba2i's functions.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-29 14:29:13 -05:00
Alejandro Colomar
b085c3f612 lib/atoi/: Add a2[su]l() and reimplement get[u]long() in terms of them
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-29 14:29:13 -05:00
Alejandro Colomar
27e236ca79 lib/, src/, po/: get[u]long(): Move functions to lib/atoi/str2i.h
And make them inline.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-29 14:29:13 -05:00
Serge Hallyn
dc12e87fe7 configure.ac: release 4.15.1
Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-03-23 18:33:45 -05:00
Alejandro Colomar
4827da0a2f src/login.c: Use localtime_r(3) instead of localtime(3)
This silences a CodeQL warning.  We don't care about reentrancy, but
after this patch we don't need to break a long line, so that's a win.

Reviewed-by: "Serge E. Hallyn" <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-24 00:16:00 +01:00
Alejandro Colomar
0460dac019 lib/, src/: Use STRFTIME() instead of its pattern
Reviewed-by: "Serge E. Hallyn" <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-24 00:16:00 +01:00
Alejandro Colomar
b3affb29cf lib/string/strftime.[ch]: STRFTIME(): Add macro
This macro makes sure that the first argument is an array, and
calculates its size.

Reviewed-by: "Serge E. Hallyn" <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-24 00:16:00 +01:00
Serge Hallyn
0b3d017276 man/Makefile.am: ship config.xml
Other man/*.xml's import it, so they need it shipped as well.

Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-03-23 16:39:07 -05:00
Serge Hallyn
e08db2de4c man/po/Makefile.in: avoid unnecessary changes to git indexed files
Keep pot creation date out of our po files when we compare them.
Otherwise, we always think they need to be updated.

We prepend a line '# To re-generate, ....' to the shadow-man-pages.pot
file.  Do that before we compare the new candidate, because right
now our comparison to see if we've made changes always thinks we have.

Put some of the tempfiles in a mktemp -d'd directory, which we remove when
all's done.  This keeps the working tree cleaner.

Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-03-23 16:39:07 -05:00
Serge Hallyn
55c107617e update translations
Update .po and .pot files to reflect some changes in print
statements.

Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-03-23 16:39:07 -05:00
Serge Hallyn
673ff74fd4 Makefile.am: clean some tempfiles
Add some temporary files to CLEANFILES

Put test-driver in .gitignore

Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-03-23 16:39:07 -05:00
Serge Hallyn
ead55e9ba8 getdef: avoid spurious error messages about unknown configuration options
def_find can return NULL for unset, not just unknown, config options.  So
move the decision of whether to log an error message about an unknown config
option back into def_find, which knows the difference.  Only putdef_str()
will pass a char* srcfile to def_find, so only calls from putdef_str will
cause the message, which was the original intent of fa68441bc4.

closes #967

fixes: fa68441bc4 ("Improve the login.defs unknown item error message")
Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-03-21 11:21:33 +05:30
Enrico Scholz
000619344d lib/copydir:copy_entry(): use temporary stat buffer
There are no guarantees that fstatat() does not clobber the stat
buffer on errors.

Use a temporary buffer so that the following code sees correct
attributes of the source entry.

Issue #973

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
2024-03-21 02:44:12 +01:00
Antoine Roux
51a0d94a08 Fix wrong french translation
32 characters were wrongly translated to 16 in french translation file
2024-03-20 09:58:51 +05:30
Eli Schwartz
e44a9e631d gitignore: add a few more generated files to be ignored
before this, the following untracked files showed up in `git status`:

	lib/atoi/.dirstamp
	lib/string/.dirstamp
	lib/time/.dirstamp
	man/da/login.defs.d
	man/da/messages.mo
	man/de/login.defs.d
	man/de/messages.mo
	man/fr/login.defs.d
	man/fr/messages.mo
	man/it/login.defs.d
	man/it/messages.mo
	man/pl/login.defs.d
	man/pl/messages.mo
	man/ru/login.defs.d
	man/ru/messages.mo
	man/sv/login.defs.d
	man/sv/messages.mo
	man/uk/login.defs.d
	man/uk/messages.mo
	man/zh_CN/login.defs.d
	man/zh_CN/messages.mo
	test-driver

Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
2024-03-18 17:06:07 -05:00
Samanta Navarro
2b67dc7765 lib/pam_pass_non_interactive.c: use strzero/free
The combination of bzero and free could be optimized away.

Reviewed-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: Samanta Navarro <ferivoz@riseup.net>
2024-03-14 17:20:30 -05:00
Alejandro Colomar
fce1d88479 lib/list.c: is_on_list(): Call strsep(3) instead of open-coding it
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 17:11:36 -05:00
Alejandro Colomar
46fd68c37e lib/list.c: is_on_list(): Move break condition to loop controlling expression
This change executes `i++` one more time before breaking, so we need to
update the `i+1` after the loop to just `i`.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 17:11:36 -05:00
Alejandro Colomar
fb01e07e83 lib/list.c: is_on_list(): Move code out of loop
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 17:11:36 -05:00
Alejandro Colomar
08ae38e394 lib/list.c: is_on_list(): Remove unnecessary use of temporary variable
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 17:11:36 -05:00
Alejandro Colomar
34b113baba lib/sgetspent.c: sgetspent(): Explicitly use an empty string literal
cp can only be an empty string literal in that conditional.  Use a
string literal to be more explicit.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 17:11:36 -05:00
Alejandro Colomar
93151689c0 lib/sgetspent.c: sgetspent(): Use NULL instead of 0 to mean a null pointer constant
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 17:11:36 -05:00
Alejandro Colomar
ae17e0291d lib/port.c: getportent(): Call strpbrk(3) instead of open-coding it
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 17:11:36 -05:00
Alejandro Colomar
03677d9acf lib/: Call strsep(3) instead of open-coding it
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 17:11:36 -05:00
Alejandro Colomar
5f8f19f267 lib/: Call strchrnul(3) instead of open-coding it
Performance tests made in 2007 are obsolete.  We should assume libc is
reasonably fast today (otherwise, report a bug to libc).

$ git blame -- lib/sgetgrent.c | grep strchr
45c6603cc (nekral-guest      2007-10-07 11:44:02 +0000  30)  *	WARNING: I profiled this once with and without strchr() calls
6f88bcf58 (nekral-guest      2008-05-26 08:31:14 +0000  97) 		cp = strchr (cp, ':');

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 17:11:36 -05:00
Alejandro Colomar
bed18501b1 lib/, src/: Call gmtime_r(3) instead of gmtime(3)
It's trivial to do the change, and it removes a CodeQL warning.
We don't need to be reentrant, but it doesn't hurt either.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 16:30:46 -05:00
Alejandro Colomar
8fcf6cccff lib/time/day_to_str.[ch]: day_to_str(): Accept a day instead of a date, and rename function
It was always being called with 'day * DAY', so do that internally and
simplify.  This grabs some code from print_day_as_date().

Cc: Tobias Stoeckmann <tobias@stoeckmann.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 16:30:46 -05:00
Alejandro Colomar
8fee869e9a src/passwd.c: print_status(): Fix typo (bogus use of the comma operator)
Amazing that this triggered no warnings at all.

Fixes: 355ad6a9e0 ("Have a single definition of date_to_str()")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 16:30:46 -05:00
Alejandro Colomar
82e28ad534 src/: Use DAY_TO_STR() instead of its pattern
Cc: Tobias Stoeckmann <tobias@stoeckmann.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 16:30:46 -05:00
Alejandro Colomar
19edb06fd2 lib/time/day_to_str.h: DAY_TO_STR(): Add macro
This macro ensures that the buffer is an array, and calculates the size.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 16:30:46 -05:00
Alejandro Colomar
be05c62bd7 lib/, src/, po/: date_to_str(): Move function to header, and make inline
BTW, there's no translatable string in there.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 16:30:46 -05:00
Alejandro Colomar
88760598f0 src/sulogin.c: Invert logic to reduce indentation
Also, it was checking for >=0 for success, but since that code is for
opening a different tty as stdin, that was bogus.  But since it's
guaranteed to be either 0 or -1, this commit doesn't add any code to
make sure it's 0 (i.e., we could say !=0 instead of ==-1).  That's more
appropriate for a different commit.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 16:16:15 -05:00
Alejandro Colomar
efd169e010 lib/, src/: Use int main(void) where appropriate
Remove /*ARGSUSED*/ comments.  Instead, use appropriate declarators for
main().  ISO C allows using int main(void) if the parameters are going
to be unused.

Also, do some cosmetic changes in the uses of argc and argv, to show
where they are used.

And use *argv[], instead of **argv.  Array notation is friendlier, IMO.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 16:16:15 -05:00
Alejandro Colomar
da440b536c lib/: Clean up after previous removal of dead code
Just cosmetic changes.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 16:12:51 -05:00
Alejandro Colomar
33825ab57d lib/, src/: Remove all code wrapped in defined(USE_NIS)
I don't find any way to enable USE_NIS, so it looks like it's all
dead code.  Bury it.

Closes: <https://github.com/shadow-maint/shadow/issues/909>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 16:12:51 -05:00
Alejandro Colomar
ae3d71fb94 src/passwd.c: Don't print the program name twice in a log entry
OPENLOG() already sets the program name as the prefix.

This resulted in entries like:

$ journalctl 2>/dev/null | grep passwd
Mar 03 01:09:47 debian passwd[140744]: passwd: can't view or modify password information for root

Fixes: 8e167d28af ("[svn-upgrade] Integrating new upstream version, shadow (4.0.8)")
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-14 16:01:32 -05:00
ed neville
4959cd10ae Noting copy_symlink behaviour
Mention that symlinks are modified when they prefix the skel directory.

Closes #933
2024-03-14 15:53:33 -05:00
Alejandro Colomar
a3cae72faa share/containers/, .github/workflows/: Don't make(1) twice
It was being done so that the second one prints errors without races.
However, the same thing can be achieved by passing -Orecurse to make(1).

And this makes the logs even more readable, since there's no racy output
at all.

Fixes: 97f79e3b27 ("CI: Make build logs more readable")
Link: <https://github.com/shadow-maint/shadow/pull/702>
Link: <https://github.com/nginx/unit/pull/1123>
Acked-by: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Andrew Clayton <a.clayton@nginx.com>
Cc: Konstantin Pavlov <thresh@nginx.com>
Cc: Dylan Arbour <https://github.com/arbourd>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-13 11:05:36 -05:00
Alejandro Colomar
26deef6945 lib/idmapping.c: get_map_ranges(): Merge two input checks into a simpler one
Previously, we were performing the following two checks:

-       if (ranges != ((argc + 2) / 3)) {
-       if ((ranges * 3) > argc) {

Let's draw a table of the possible input that would pass the first check:

argc:	0 1 2 3 4 5 6 7 8 9
rng:	0 1 1 1 2 2 2 3 3 3
a+2/3*3:0 3 3 3 6 6 6 9 9 9	<-- this is  roundup(argc, 3);
a+2/3:	0 1 1 1 2 2 2 3 3 3	<-- this is  roundup(argc, 3) / 3;
rng*3:	0 3 3 3 6 6 6 9 9 9

From those, let's extract those that would also pass the second check:

argc:	0     3     6     9
rng:	0     1     2     3
rng*3:	0     3     6     9

We can see that there's a simple check for this input:

+       if (ranges * 3 != argc) {

As a sanity check, let's draw a table of the acceptable input with that
check:

rng:	0     1     2     3
rng*3:	0     3     6     9
argc:	0     3     6     9

Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-13 10:55:00 -05:00
Skyler Ferrante
d2f2c1877a Adding checks for fd omission
Adding function check_fds to new file fd.c. The function check_fds
should be called in every setuid/setgid program.

Co-developed-by: Alejandro Colomar <alx@kernel.org>
2024-03-10 19:56:40 -05:00
Alejandro Colomar
b76fc2947f tests/unit/test_zustr2stp.c: Test ZUSTR2STP()
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-10 19:55:39 -05:00
Alejandro Colomar
ffb3992467 lib/string/zustr2stp.[ch]: Remove zustr2stp(); keep ZUSTR2STP()
The function should never be used; it's always used via its wrapper
macro.  To simplify, and reduce chances of confusion: remove the
function, and implement the macro directly in terms of
stpcpy(mempcpy(strnlen())).

Update the documentation, and improve the example, which was rather
confusing.

Cc: "Serge E. Hallyn" <serge@hallyn.com>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-10 19:55:39 -05:00
Serge Hallyn
ba43b49a52 configure.ac: Release 4.15.0
Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-03-08 16:04:59 -06:00
Alejandro Colomar
89c4da43cb src/vipw.c: Use string literals to initialize 'Prog'
This avoids using argv[0], which is controlled by the user,
and might inject arbitrary text in stderr and the logs.

Link: <https://github.com/shadow-maint/shadow/issues/959>
Link: <https://github.com/shadow-maint/shadow/pull/960>
Cc: "Skyler Ferrante (RIT Student)" <sjf5462@rit.edu>
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Cc: Karel Zak <kzak@redhat.com>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Christian Brauner <christian@brauner.io>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-08 10:24:15 -06:00
Alejandro Colomar
0ab893a734 src/vipw.c: Reverse logic and variable name
Since we're checking for "vigr", it makes more sense to name the
variable accordingly.

Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-08 10:24:15 -06:00
Skyler Ferrante
e6c2e43937 Hardcoding Prog to known value
See #959. We now set Prog (program name) based on hardcoded value instead
of argv[0]. This is to help prevent escape sequence injection.
2024-03-07 22:23:04 +01:00
Alejandro Colomar
d13844408c share/containers/: trap(1) to see the cmocka logs
Reviewed-by: "Serge E. Hallyn" <serge@hallyn.com>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-04 01:43:25 +01:00
Alejandro Colomar
e59a39663d share/containers/: Specify one argument per line
Reviewed-by: "Serge E. Hallyn" <serge@hallyn.com>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-04 01:43:25 +01:00
Alejandro Colomar
a14936cf2e .github/workflows/runner.yml: trap(1) to see the testsuite log
Otherwise, 'cat testsuite.log' isn't run, since 'set -e' aborts the
script earlier.

Reviewed-by: "Serge E. Hallyn" <serge@hallyn.com>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-03-04 01:43:25 +01:00
Serge Hallyn
959343fe79 configure.ac: release 4.15.0-rc3
Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-02-29 19:51:37 -06:00
Alejandro Colomar
1af6b68cbe lib/utmp.c: Use the appropriate autotools macros for struct utmpx
Recently, we started using utmpx instead of utmp, and we updated
<./configure.ac> to do the checks for 'struct utmpx' instead of
'struct utmp'.  However, I forgot to update the preprocessor
conditionals accordingly.

Fixes: 64bcb54fa9 ("lib/, src/, configure.ac: Use utmpx instead of utmp")
Link: <https://github.com/shadow-maint/shadow/pull/954>
Cc: Firas Khalil Khana <firasuke@gmail.com>
Cc: "A. Wilfox" <https://github.com/awilfox>
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-21 15:43:25 +01:00
Alejandro Colomar
2806b827d8 lib/utmp.c: Use defined() instead of #if[n]def
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-21 15:43:25 +01:00
Alejandro Colomar
7e94a2f484 lib/utmp.c: Remove #endif comments
Indentation makes it clear which is which.

Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-21 15:43:25 +01:00
Alejandro Colomar
e5815acf37 lib/utmp.c: Merge preprocessor conditionals
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-21 15:43:25 +01:00
Alejandro Colomar
f4ea04b728 lib/utmp.c: Indent nested preprocessor conditionals
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-21 15:43:25 +01:00
Alejandro Colomar
5ff6edf9f2 lib/utmp.c: Replace UT_LINESIZE by a NITEMS() calculation
A difference between 'struct utmp' and 'struct utmpx' is that
the former uses UT_LINESIZE for the size of its array members,
while the latter doesn't have a standard variable to get its
size.  Therefore, we need to get the number of elements in
the array with NITEMS().

Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-20 18:53:53 +01:00
Alejandro Colomar
544709fad3 lib/sizeof.h: memberof(): Add macro
This macro is useful to get the size of a member of a structure
without having a variable of that type.

Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-20 18:53:53 +01:00
Alejandro Colomar
8d1f0bcf99 lib/utmp.c: get_session_host(): Reduce scope of variable
This silences a warning about an unused variable.

Tested-by: Firas Khalil Khana <firasuke@gmail.com>
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-20 18:53:53 +01:00
Alejandro Colomar
64bcb54fa9 lib/, src/, configure.ac: Use utmpx instead of utmp
utmpx is specified by POSIX as an XSI extension.  That's more portable
than utmp, which is unavailable for example in musl libc.  The manual
page specifies that in Linux (but it probably means in glibc), utmp and
utmpx (and the functions that use them) are identical, so this commit
shouldn't affect glibc systems.

Assume utmpx is always present.

Also, if utmpx is present, POSIX guarantees that some members exist:

-  ut_user
-  ut_id
-  ut_line
-  ut_pid
-  ut_type
-  ut_tv

So, rely on them unconditionally.

Fixes: 170b76cdd1 ("Disable utmpx permanently")
Closes: <https://github.com/shadow-maint/shadow/issues/945>
Reported-by: Firas Khalil Khana <firasuke@gmail.com>
Reported-by: "A. Wilfox" <https://github.com/awilfox>
Tested-by: Firas Khalil Khana <firasuke@gmail.com>
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-20 18:53:53 +01:00
Alejandro Colomar
4d139ca466 lib/getdate.y: get_date(): Fix calculation
Instead of adding 1, we should add the value the we stored previously in
the variable.

Fixes: 45c6603cc8 ("[svn-upgrade] Integrating new upstream version, shadow (19990709)")
Closes: <https://github.com/shadow-maint/shadow/issues/939>
Link: <https://github.com/shadow-maint/shadow/pull/942>
Reported-by: Michael Vetter <jubalh@iodoru.org>
Reported-by: Gus Kenion <https://github.com/kenion>
Cc: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-16 19:58:43 -06:00
Tomas Halman
e15aa5a8a6 src/passwd.c: check password length upper limit
The passwd silently truncated the password length to PASS_MAX.
This patch introduces check that prints an error message
and exits the call.

Signed-off-by: Tomas Halman <tomas@halman.net>
2024-02-16 15:46:08 -06:00
Tomas Halman
dfb4d8fdf9 src/passwd.c: inconsistent password length limit
The passwd utility had hardcoded limit for password lenght set
to 200 characters. In the agetpass.c is used PASS_MAX for
this purpose.

This patch moves the PASS_MAX definition to common place
and uses it in both places.

Signed-off-by: Tomas Halman <tomas@halman.net>
2024-02-16 15:46:08 -06:00
Serge Hallyn
0259f84583 release 4.15.0-rc2
Signed-off-by: Serge Hallyn <serge@hallyn.com>
2024-02-15 17:54:19 -06:00
NorwayFun
d72d99a810 Update Georgian translation 2024-02-14 15:20:14 -06:00
Alejandro Colomar
f22ca217cd lib/chkname.c: is_valid_user_name(): Avoid a cast
By using a temporary vairable, we can remove a cast.

Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Tobias Stoeckmann <tobias@stoeckmann.org>
Cc: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-13 16:13:05 -06:00
Alejandro Colomar
ad307ee42a lib/chkname.c: is_valid_user_name(): Remove unnecessary check
If (maxsize == -1), then ((size_t)maxsize == SIZE_MAX).  And no size can
ever be >= SIZE_MAX, so it will never return false if sysconf(3) reports
an unlimited user-name size via returning -1.  Well, to be pedantic,
that disallows a user-name siz of precisely SIZE_MAX bytes when
sysconf(3) returns -1.  However, that's probably a good thing; such a
long user name might trigger Undefined Behavior somewhere else, so be
cautious and disallow it.  I hope nobody will be using the entire
address space for a user name.

The commit that introduced that check missed that this code had always
supported unlimited user-name sizes since it was introduced by Iker in
3b7cc05387 ("lib: replace `USER_NAME_MAX_LENGTH` macro"), and
6be85b0baf ("lib/chkname.c: Use tmp variable to avoid a -Wsign-compare
warning") even clarified this in the commit message.

So, while the code in 6a1f45d932 ("lib/chkname.c: Support unlimited
user name lengths") wasn't bad per se, the commit message was incorrect.
What that patch did was adding code for handling EINVAL (or any other
errors that a future kernel might add).

To be more pedantically correct, that commit also allowed (under certain
circumstances, user names of SIZE_MAX bytes, but those were originally
allowed (by accident), and only became disallowed in 403a2e3771
("lib/chkname.c: Take NUL byte into account").  But again, let's
disallow those, just to be cautious.

Link: <https://github.com/shadow-maint/shadow/pull/935>
Link: <https://github.com/shadow-maint/shadow/pull/935#discussion_r1477429492>
See-also: 6be85b0baf ("lib/chkname.c: Use tmp variable to avoid a -Wsign-compare warning")
Fixes: 6a1f45d932 ("lib/chkname.c: Support unlimited user name lengths")
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Tobias Stoeckmann <tobias@stoeckmann.org>
Cc: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-13 16:13:05 -06:00
Alejandro Colomar
15882a5f90 src/login.c: Fix off-by-one bugss
These functions expect a size, not a length.  Don't subtract 1 to the
size.

Link: <https://github.com/shadow-maint/shadow/pull/935>
Link: <https://github.com/shadow-maint/shadow/issues/920#issuecomment-1926002209>
Link: <https://github.com/shadow-maint/shadow/pull/757>
Link: <https://github.com/shadow-maint/shadow/issues/674>
See-also: 0656a90bfd0d ("src/login.c: Fix off-by-one buggs")
See-also: 403a2e3771 ("lib/chkname.c: Take NUL byte into account")
Fixes: 3b7cc05387 ("lib: replace `USER_NAME_MAX_LENGTH` macro")
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Tobias Stoeckmann <tobias@stoeckmann.org>
Cc: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-13 16:13:05 -06:00
Alejandro Colomar
51cd6aec02 lib/: Don't say 'len' where 'size' is meant
Fixes: 45c6603cc8 ("[svn-upgrade] Integrating new upstream version, shadow (19990709)")
Fixes: 3b7cc05387 ("lib: replace `USER_NAME_MAX_LENGTH` macro")
Fixes: 6be85b0baf ("lib/chkname.c: Use tmp variable to avoid a -Wsign-compare warning")
See-also: 403a2e3771 ("lib/chkname.c: Take NUL byte into account")
See-also: 6a1f45d932 ("lib/chkname.c: Support unlimited user name lengths")
Fixes: 95ea61009d ("lib/chkname.c: Use precise comment")
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Tobias Stoeckmann <tobias@stoeckmann.org>
Cc: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-13 16:13:05 -06:00
Alejandro Colomar
6551709e96 src/login.c: Fix off-by-one buggs
Before 3b7cc05387 ("lib: replace `USER_NAME_MAX_LENGTH` macro"), this
code did use a length.  It used a utmp(5) fixed-width buffer, so the
length matches the buffer size (there was no terminating NUL byte).
However, sysconf(_SC_LOGIN_NAME_MAX) returns a buffer size that accounts
for the terminating null byte; see sysconf(3).  Thus, the commit that
introduced the call to sysconf(3), should have taken that detail into
account.

403a2e3771 ("lib/chkname.c: Take NUL byte into account"), by Tobias,
caught that bug in <lib/chkname.c>, but missed that the same commit that
introduced that bug, introduced the same bug in two other places.
This fixes all remaining calls to sysconf(_SC_LOGIN_NAME_MAX).

I still observe some suspicious code after this fix:

	if (do_rlogin(hostname, username, max_size - 1, term, sizeof(term)))

	...

	login_prompt(username, max_size - 1);

We're passing size-1 to functions that want a size.  But since the fix
to those will be different, let's do that in the following commits.

Link: <https://github.com/shadow-maint/shadow/pull/935>
Link: <https://github.com/shadow-maint/shadow/issues/920#issuecomment-1926002209>
Link: <https://github.com/shadow-maint/shadow/pull/757>
Link: <https://github.com/shadow-maint/shadow/issues/674>
See-also: 403a2e3771 ("lib/chkname.c: Take NUL byte into account")
Fixes: 3b7cc05387 ("lib: replace `USER_NAME_MAX_LENGTH` macro")
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Cc: Tobias Stoeckmann <tobias@stoeckmann.org>
Cc: Serge Hallyn <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-13 16:13:05 -06:00
Tycho Andersen
714b6a53d5 usermod: refuse invalid uidmaps during --add-sub{u,g}ids
It is slightly confusing to allow adding these only to later refuse them.

Here is a (lightly tested :) patch to also refuse them when adding.

Signed-off-by: Tycho Andersen <tycho@tycho.pizza>
2024-02-13 16:06:23 -06:00
Alejandro Colomar
1175932c0c lib/strtoday.c: strtoday(): Fix calculation
Days officially roll over at 00:00 UTC, not at 12:00 UTC.  I see no
reason to add that half day.

Also, remove the comment.  It's likely to get stale.

So, get_date() gets the number of seconds since the Epoch.  I wonder how
that thing works, but I'll assume it's something similar to getdate(3)
+ mktime(3).  After that, we need to convert seconds since Epoch to days
since Epoch.  That should be a simple division, AFAICS, since Epoch is
"1970‐01‐01 00:00:00 +0000 (UTC)".  See mktime(3).

Fixes: 45c6603cc8 ("[svn-upgrade] Integrating new upstream version, shadow (19990709)")
Link: <https://github.com/shadow-maint/shadow/issues/939>
Reported-by: Michael Vetter <jubalh@iodoru.org>
Tested-by: Gus Kenion <https://github.com/kenion>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-13 16:05:12 -06:00
Tobias Stoeckmann
674409e226 lib/: Saturate addition to avoid overflow
Very large values in /etc/shadow could lead to overflows.  Make sure
that these calculations are saturated at LONG_MAX.  Since entries are
based on days and not seconds since epoch, saturating won't hurt anyone.

Co-developed-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Co-developed-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-13 16:02:49 -06:00
Tobias Stoeckmann
20100e4b22 src/chage.c: Unify long overflow checks in print_day_as_date()
The conversion from day to seconds can be done in print_date
(renamed to print_day_as_date for clarification).  This has the nice
benefit that DAY multiplication and long to time_t conversion are done
at just one place.

Co-developed-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Co-developed-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-13 16:02:49 -06:00
Alejandro Colomar
7eb10e6298 etc/pam.d/Makefile.am: Fix typo
The commit we're fixing mentions that it wanted to move 'chpasswd', but
it removed 'ch_g_passwd' from 'pamd_acct_tools_files' and added
'chpasswd' to 'pamd_files'.  It seems it removed the wrong thing by
accident.

Fixes: 341d80c2c7 ("Makefile: move chpasswd and newusers to pamd target")
Link: <https://github.com/shadow-maint/shadow/pull/928#discussion_r1487687347>
Link: <https://github.com/shadow-maint/shadow/issues/926#issuecomment-1941324761>
Reported-by: Dominique Leuenberger <dleuenberger@suse.com>
Reported-by: Michael Vetter <jubalh@iodoru.org>
Cc: David Runge <dvzrv@archlinux.org>
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Tested-by: Michael Vetter <jubalh@iodoru.org>
Reviewed-by: Michael Vetter <jubalh@iodoru.org>
Reviewed-by: loqs <https://github.com/loqs>
Co-developed-by: Dominique Leuenberger <dleuenberger@suse.com>
Signed-off-by: Dominique Leuenberger <dleuenberger@suse.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-13 18:45:04 +01:00
Alejandro Colomar
3e59e9613e AUTHORS.md: Format list
Reviewed-by: Iker Pedrosa <ipedrosa@redhat.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-06 16:16:32 +01:00
Tobias Stoeckmann
95ea61009d lib/chkname.c: Use precise comment
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2024-02-04 17:03:12 -06:00
Tobias Stoeckmann
6a1f45d932 lib/chkname.c: Support unlimited user name lengths
If the system does not have a user name length limit, support it
accordingly. If the system has no _SC_LOGIN_NAME_MAX, use
LOGIN_NAME_MAX constant instead.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2024-02-04 17:03:12 -06:00
Tobias Stoeckmann
403a2e3771 lib/chkname.c: Take NUL byte into account
The _SC_LOGIN_NAME_MAX value includes space for the NUL byte. The length
of name must smaller than this value to be valid.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2024-02-04 17:03:12 -06:00
168 changed files with 146660 additions and 94679 deletions

View File

@@ -49,8 +49,9 @@ jobs:
run: |
set -e
cd tests
trap 'cat testsuite.log' ERR
sudo ./run_some
cat testsuite.log
trap - ERR
# Make sure that 'make dist' makes a usable tarball with no missing files
dist-build:

View File

@@ -32,10 +32,7 @@ jobs:
- name: Build shadow-utils
run: |
PROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
make -kj$PROCESSORS || true
- name: Check build errors
run: make
make -Orecurse -j$PROCESSORS
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2

5
.gitignore vendored
View File

@@ -3,9 +3,11 @@ lib*.a
*.o
*.lo
*.la
*.mo
*.gmo
.deps
.libs
.dirstamp
*.patch
*.rej
@@ -14,6 +16,8 @@ lib*.a
Makefile
Makefile.in
test-driver
/ABOUT-NLS
/aclocal.m4
/autom4te.cache
@@ -34,6 +38,7 @@ Makefile.in
/m4
/missing
/stamp-h1
/test-driver
/ylwrap
/po/*.header

View File

@@ -13,10 +13,10 @@ a lot of mail...
To verify signatures on releases, use the following keys under keys/ :
Serge Hallyn: keys/66D0387DB85D320F8408166DB175CFA98F192AF2.asc
Christian Brauner: keys/4880B8C9BD0E5106FC070F4F7B3C391EFEA93624.asc
Iker Pedrosa: keys/4E80EF49C7987B6DE2F81F5005079C6C3A653E57.asc
Alejandro Colomar: keys/A9348594CE31283A826FBDD8D57633D441E25BB5.asc
* Serge Hallyn: keys/66D0387DB85D320F8408166DB175CFA98F192AF2.asc
* Christian Brauner: keys/4880B8C9BD0E5106FC070F4F7B3C391EFEA93624.asc
* Iker Pedrosa: keys/4E80EF49C7987B6DE2F81F5005079C6C3A653E57.asc
* Alejandro Colomar: keys/A9348594CE31283A826FBDD8D57633D441E25BB5.asc
# Authors and contributors
* Adam Rudnicki <adam@v-lo.krakow.pl>

View File

@@ -13,3 +13,6 @@ SUBDIRS += src po contrib doc etc tests/unit
if ENABLE_REGENERATE_MAN
SUBDIRS += man
endif
CLEANFILES = man/8.out man/po/remove-potcdate.* man/*/login.defs.d man/*/*.mo
EXTRA_DIST = tests/

View File

@@ -2,10 +2,10 @@
The following stable branches are kindly maintained by trusted volunteers:
- 4.14.x
- 4.15.x
- git
- [main](https://www.alejandro-colomar.es/src/alx/shadow/stable/shadow.git/log/?h=4.14.x)
- [mirror](https://github.com/shadow-maint/shadow/tree/4.14.x)
- [main](https://www.alejandro-colomar.es/src/alx/shadow/stable/shadow.git/log/?h=4.15.x)
- [mirror](https://github.com/shadow-maint/shadow/tree/4.15.x)
- tarballs
- [main](https://www.alejandro-colomar.es/share/dist/shadow/4/4.14/)
- [main](https://www.alejandro-colomar.es/share/dist/shadow/4/4.15/)
- [mirror](https://github.com/shadow-maint/shadow/releases/)

View File

@@ -4,9 +4,9 @@ m4_define([libsubid_abi_major], 4)
m4_define([libsubid_abi_minor], 0)
m4_define([libsubid_abi_micro], 0)
m4_define([libsubid_abi], [libsubid_abi_major.libsubid_abi_minor.libsubid_abi_micro])
AC_INIT([shadow], [4.15.0-rc1], [pkg-shadow-devel@lists.alioth.debian.org], [],
AC_INIT([shadow], [4.15.2], [pkg-shadow-devel@lists.alioth.debian.org], [],
[https://github.com/shadow-maint/shadow])
AM_INIT_AUTOMAKE([1.11 foreign dist-xz subdir-objects])
AM_INIT_AUTOMAKE([1.11 foreign dist-xz subdir-objects tar-pax])
AC_CONFIG_MACRO_DIRS([m4])
AM_SILENT_RULES([yes])
AC_CONFIG_HEADERS([config.h])
@@ -49,7 +49,7 @@ AC_CHECK_HEADER([shadow.h],,[AC_MSG_ERROR([You need a libc with shadow.h])])
AC_CHECK_FUNCS(arc4random_buf futimes \
getentropy getrandom getspnam getusershell \
initgroups lckpwdf lutimes \
setgroups updwtmp updwtmpx innetgr \
setgroups updwtmpx innetgr \
getspnam_r \
rpmatch \
memset_explicit explicit_bzero stpecpy stpeprintf)
@@ -57,17 +57,13 @@ AC_SYS_LARGEFILE
dnl Checks for typedefs, structures, and compiler characteristics.
AC_CHECK_MEMBERS([struct utmp.ut_type,
struct utmp.ut_id,
struct utmp.ut_name,
struct utmp.ut_user,
struct utmp.ut_host,
struct utmp.ut_syslen,
struct utmp.ut_addr,
struct utmp.ut_addr_v6,
struct utmp.ut_time,
struct utmp.ut_xtime,
struct utmp.ut_tv],,,[[#include <utmp.h>]])
AC_CHECK_MEMBERS([struct utmpx.ut_name,
struct utmpx.ut_host,
struct utmpx.ut_syslen,
struct utmpx.ut_addr,
struct utmpx.ut_addr_v6,
struct utmpx.ut_time,
struct utmpx.ut_xtime],,,[[#include <utmpx.h>]])
dnl Checks for library functions.
AC_TYPE_GETGROUPS
@@ -278,6 +274,7 @@ AC_DEFINE_UNQUOTED(GROUP_NAME_MAX_LENGTH, $with_group_name_max_length, [max grou
AC_SUBST(GROUP_NAME_MAX_LENGTH)
GROUP_NAME_MAX_LENGTH="$with_group_name_max_length"
AM_CONDITIONAL(USE_SHA_CRYPT, test "x$with_sha_crypt" = "xyes")
if test "$with_sha_crypt" = "yes"; then
AC_DEFINE(USE_SHA_CRYPT, 1, [Define to allow the SHA256 and SHA512 password encryption algorithms])
@@ -314,6 +311,10 @@ dnl needed (Linux glibc, Irix), but still link it if needed (Solaris).
AC_SEARCH_LIBS(gethostbyname, nsl)
PKG_CHECK_MODULES([CMOCKA], [cmocka], [have_cmocka="yes"],
[AC_MSG_WARN([libcmocka not found, cmocka tests will not be built])])
AM_CONDITIONAL([HAVE_CMOCKA], [test x$have_cmocka = xyes])
AC_CHECK_LIB([econf],[econf_readDirs],[LIBECONF="-leconf"],[LIBECONF=""])
if test -n "$LIBECONF"; then
AC_DEFINE_UNQUOTED([VENDORDIR], ["$enable_vendordir"],
@@ -705,10 +706,6 @@ if test "$with_skey" = "yes"; then
]])],[AC_DEFINE(SKEY_BSD_STYLE, 1, [Define to support newer BSD S/Key API])],[])
fi
PKG_CHECK_MODULES([CMOCKA], [cmocka], [have_cmocka="yes"],
[AC_MSG_WARN([libcmocka not found, cmocka tests will not be built])])
AM_CONDITIONAL([HAVE_CMOCKA], [test x$have_cmocka = xyes])
AC_CHECK_FUNC(fgetpwent_r, [AC_DEFINE(HAVE_FGETPWENT_R, 1, [Defined to 1 if you have the declaration of 'fgetpwent_r'])])
AC_DEFINE_UNQUOTED(SHELL, ["$SHELL"], [The default shell.])

View File

@@ -12,7 +12,7 @@ pamd_files = \
pamd_acct_tools_files = \
chage \
chpasswd \
chgpasswd \
groupadd \
groupdel \
groupmod \

View File

@@ -31,6 +31,10 @@ libshadow_la_SOURCES = \
agetpass.h \
alloc.c \
alloc.h \
atoi/a2i.c \
atoi/a2i.h \
atoi/str2i.c \
atoi/str2i.h \
atoi/strtoi.c \
atoi/strtoi.h \
atoi/strtou_noneg.c \
@@ -53,7 +57,6 @@ libshadow_la_SOURCES = \
console.c \
copydir.c \
csrand.c \
date_to_str.c \
defines.h \
encrypt.c \
env.c \
@@ -61,6 +64,7 @@ libshadow_la_SOURCES = \
faillog.h \
failure.c \
failure.h \
fd.c \
fields.c \
find_new_gid.c \
find_new_uid.c \
@@ -74,11 +78,9 @@ libshadow_la_SOURCES = \
getdate.y \
getdef.c \
getdef.h \
getlong.c \
getgr_nam_gid.c \
getrange.c \
gettime.c \
getulong.c \
groupio.c \
groupmem.c \
groupio.h \
@@ -149,16 +151,19 @@ libshadow_la_SOURCES = \
string/stpecpy.h \
string/stpeprintf.c \
string/stpeprintf.h \
string/strftime.c \
string/strftime.h \
string/strncpy.h \
string/strtcpy.c \
string/strtcpy.h \
string/zustr2stp.c \
string/zustr2stp.h \
strtoday.c \
sub.c \
subordinateio.h \
subordinateio.c \
sulog.c \
time/day_to_str.c \
time/day_to_str.h \
ttytype.c \
tz.c \
ulimit.c \

View File

@@ -13,12 +13,15 @@
#include <stdio.h>
#include <time.h>
#include <errno.h>
#include "prototypes.h"
#include "defines.h"
#include "exitcodes.h"
#include <pwd.h>
#include <grp.h>
#include "adds.h"
#include "defines.h"
#include "exitcodes.h"
#include "prototypes.h"
#ident "$Id$"
#ifndef PASSWD_PROGRAM
@@ -162,7 +165,8 @@ void agecheck (/*@null@*/const struct spwd *sp)
return;
}
remain = sp->sp_lstchg + sp->sp_max - now;
remain = addsl(sp->sp_lstchg, sp->sp_max, -now);
if (remain <= sp->sp_warn) {
if (remain > 1) {
(void) printf (_("Your password will expire in %ld days.\n"),

View File

@@ -11,7 +11,6 @@
#include <limits.h>
#include <readpassphrase.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -24,11 +23,6 @@
#endif /* WITH_LIBBSD */
#if !defined(PASS_MAX)
#define PASS_MAX BUFSIZ - 1
#endif
/*
* SYNOPSIS
* [[gnu::malloc(erase_pass)]]

View File

@@ -1,8 +1,5 @@
/*
* SPDX-FileCopyrightText: 2023, Alejandro Colomar <alx@kernel.org>
*
* SPDX-License-Identifier: BSD-3-Clause
*/
// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#ifndef SHADOW_INCLUDE_LIB_MALLOC_H_
@@ -27,31 +24,19 @@
#define XMALLOC(n, type) ((type *) xmallocarray(n, sizeof(type)))
#define REALLOC(ptr, n, type) \
({ \
__auto_type p_ = (ptr); \
\
static_assert(__builtin_types_compatible_p(typeof(p_), type *), ""); \
\
(type *) reallocarray(p_, n, sizeof(type)); \
})
( \
_Generic(ptr, type *: (type *) reallocarray(ptr, n, sizeof(type))) \
)
#define REALLOCF(ptr, n, type) \
({ \
__auto_type p_ = (ptr); \
\
static_assert(__builtin_types_compatible_p(typeof(p_), type *), ""); \
\
(type *) reallocarrayf(p_, n, sizeof(type)); \
})
( \
_Generic(ptr, type *: (type *) reallocarrayf(ptr, n, sizeof(type))) \
)
#define XREALLOC(ptr, n, type) \
({ \
__auto_type p_ = (ptr); \
\
static_assert(__builtin_types_compatible_p(typeof(p_), type *), ""); \
\
(type *) xreallocarray(p_, n, sizeof(type)); \
})
( \
_Generic(ptr, type *: (type *) xreallocarray(ptr, n, sizeof(type))) \
)
ATTR_MALLOC(free)

46
lib/atoi/a2i.c Normal file
View File

@@ -0,0 +1,46 @@
// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#include <config.h>
#include "atoi/a2i.h"
extern inline int a2sh_c(short *restrict n, const char *s,
const char **restrict endp, int base, short min, short max);
extern inline int a2si_c(int *restrict n, const char *s,
const char **restrict endp, int base, int min, int max);
extern inline int a2sl_c(long *restrict n, const char *s,
const char **restrict endp, int base, long min, long max);
extern inline int a2sll_c(long long *restrict n, const char *s,
const char **restrict endp, int base, long long min, long long max);
extern inline int a2uh_c(unsigned short *restrict n, const char *s,
const char **restrict endp, int base, unsigned short min,
unsigned short max);
extern inline int a2ui_c(unsigned int *restrict n, const char *s,
const char **restrict endp, int base, unsigned int min, unsigned int max);
extern inline int a2ul_c(unsigned long *restrict n, const char *s,
const char **restrict endp, int base, unsigned long min, unsigned long max);
extern inline int a2ull_c(unsigned long long *restrict n, const char *s,
const char **restrict endp, int base, unsigned long long min,
unsigned long long max);
extern inline int a2sh_nc(short *restrict n, char *s,
char **restrict endp, int base, short min, short max);
extern inline int a2si_nc(int *restrict n, char *s,
char **restrict endp, int base, int min, int max);
extern inline int a2sl_nc(long *restrict n, char *s,
char **restrict endp, int base, long min, long max);
extern inline int a2sll_nc(long long *restrict n, char *s,
char **restrict endp, int base, long long min, long long max);
extern inline int a2uh_nc(unsigned short *restrict n, char *s,
char **restrict endp, int base, unsigned short min, unsigned short max);
extern inline int a2ui_nc(unsigned int *restrict n, char *s,
char **restrict endp, int base, unsigned int min, unsigned int max);
extern inline int a2ul_nc(unsigned long *restrict n, char *s,
char **restrict endp, int base, unsigned long min, unsigned long max);
extern inline int a2ull_nc(unsigned long long *restrict n, char *s,
char **restrict endp, int base, unsigned long long min,
unsigned long long max);

386
lib/atoi/a2i.h Normal file
View File

@@ -0,0 +1,386 @@
// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#ifndef SHADOW_INCLUDE_LIB_ATOI_A2I_H_
#define SHADOW_INCLUDE_LIB_ATOI_A2I_H_
#include <config.h>
#include <errno.h>
#include "atoi/strtoi.h"
#include "atoi/strtou_noneg.h"
#include "attr.h"
/*
* See the manual of these macros in liba2i's documentation:
* <http://www.alejandro-colomar.es/share/dist/liba2i/git/HEAD/liba2i-HEAD.pdf>
*/
#define a2i(TYPE, n, s, ...) \
( \
_Generic((void (*)(TYPE, typeof(s))) 0, \
void (*)(short, const char *): a2sh_c, \
void (*)(short, const void *): a2sh_c, \
void (*)(short, char *): a2sh_nc, \
void (*)(short, void *): a2sh_nc, \
void (*)(int, const char *): a2si_c, \
void (*)(int, const void *): a2si_c, \
void (*)(int, char *): a2si_nc, \
void (*)(int, void *): a2si_nc, \
void (*)(long, const char *): a2sl_c, \
void (*)(long, const void *): a2sl_c, \
void (*)(long, char *): a2sl_nc, \
void (*)(long, void *): a2sl_nc, \
void (*)(long long, const char *): a2sll_c, \
void (*)(long long, const void *): a2sll_c, \
void (*)(long long, char *): a2sll_nc, \
void (*)(long long, void *): a2sll_nc, \
void (*)(unsigned short, const char *): a2uh_c, \
void (*)(unsigned short, const void *): a2uh_c, \
void (*)(unsigned short, char *): a2uh_nc, \
void (*)(unsigned short, void *): a2uh_nc, \
void (*)(unsigned int, const char *): a2ui_c, \
void (*)(unsigned int, const void *): a2ui_c, \
void (*)(unsigned int, char *): a2ui_nc, \
void (*)(unsigned int, void *): a2ui_nc, \
void (*)(unsigned long, const char *): a2ul_c, \
void (*)(unsigned long, const void *): a2ul_c, \
void (*)(unsigned long, char *): a2ul_nc, \
void (*)(unsigned long, void *): a2ul_nc, \
void (*)(unsigned long long, const char *): a2ull_c, \
void (*)(unsigned long long, const void *): a2ull_c, \
void (*)(unsigned long long, char *): a2ull_nc, \
void (*)(unsigned long long, void *): a2ull_nc \
)(n, s, __VA_ARGS__) \
)
#define a2sh(n, s, ...) \
( \
_Generic(s, \
const char *: a2sh_c, \
const void *: a2sh_c, \
char *: a2sh_nc, \
void *: a2sh_nc \
)(n, s, __VA_ARGS__) \
)
#define a2si(n, s, ...) \
( \
_Generic(s, \
const char *: a2si_c, \
const void *: a2si_c, \
char *: a2si_nc, \
void *: a2si_nc \
)(n, s, __VA_ARGS__) \
)
#define a2sl(n, s, ...) \
( \
_Generic(s, \
const char *: a2sl_c, \
const void *: a2sl_c, \
char *: a2sl_nc, \
void *: a2sl_nc \
)(n, s, __VA_ARGS__) \
)
#define a2sll(n, s, ...) \
( \
_Generic(s, \
const char *: a2sll_c, \
const void *: a2sll_c, \
char *: a2sll_nc, \
void *: a2sll_nc \
)(n, s, __VA_ARGS__) \
)
#define a2uh(n, s, ...) \
( \
_Generic(s, \
const char *: a2uh_c, \
const void *: a2uh_c, \
char *: a2uh_nc, \
void *: a2uh_nc \
)(n, s, __VA_ARGS__) \
)
#define a2ui(n, s, ...) \
( \
_Generic(s, \
const char *: a2ui_c, \
const void *: a2ui_c, \
char *: a2ui_nc, \
void *: a2ui_nc \
)(n, s, __VA_ARGS__) \
)
#define a2ul(n, s, ...) \
( \
_Generic(s, \
const char *: a2ul_c, \
const void *: a2ul_c, \
char *: a2ul_nc, \
void *: a2ul_nc \
)(n, s, __VA_ARGS__) \
)
#define a2ull(n, s, ...) \
( \
_Generic(s, \
const char *: a2ull_c, \
const void *: a2ull_c, \
char *: a2ull_nc, \
void *: a2ull_nc \
)(n, s, __VA_ARGS__) \
)
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2sh_c(short *restrict n, const char *s,
const char **restrict endp, int base, short min, short max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2si_c(int *restrict n, const char *s,
const char **restrict endp, int base, int min, int max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2sl_c(long *restrict n, const char *s,
const char **restrict endp, int base, long min, long max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2sll_c(long long *restrict n, const char *s,
const char **restrict endp, int base, long long min, long long max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2uh_c(unsigned short *restrict n, const char *s,
const char **restrict endp, int base, unsigned short min,
unsigned short max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2ui_c(unsigned int *restrict n, const char *s,
const char **restrict endp, int base, unsigned int min, unsigned int max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2ul_c(unsigned long *restrict n, const char *s,
const char **restrict endp, int base, unsigned long min, unsigned long max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2ull_c(unsigned long long *restrict n, const char *s,
const char **restrict endp, int base, unsigned long long min,
unsigned long long max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2sh_nc(short *restrict n, char *s,
char **restrict endp, int base, short min, short max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2si_nc(int *restrict n, char *s,
char **restrict endp, int base, int min, int max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2sl_nc(long *restrict n, char *s,
char **restrict endp, int base, long min, long max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2sll_nc(long long *restrict n, char *s,
char **restrict endp, int base, long long min, long long max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2uh_nc(unsigned short *restrict n, char *s,
char **restrict endp, int base, unsigned short min, unsigned short max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2ui_nc(unsigned int *restrict n, char *s,
char **restrict endp, int base, unsigned int min, unsigned int max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2ul_nc(unsigned long *restrict n, char *s,
char **restrict endp, int base, unsigned long min, unsigned long max);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1) ATTR_ACCESS(write_only, 3)
inline int a2ull_nc(unsigned long long *restrict n, char *s,
char **restrict endp, int base, unsigned long long min,
unsigned long long max);
inline int
a2sh_c(short *restrict n, const char *s,
const char **restrict endp, int base, short min, short max)
{
return a2sh(n, (char *) s, (char **) endp, base, min, max);
}
inline int
a2si_c(int *restrict n, const char *s,
const char **restrict endp, int base, int min, int max)
{
return a2si(n, (char *) s, (char **) endp, base, min, max);
}
inline int
a2sl_c(long *restrict n, const char *s,
const char **restrict endp, int base, long min, long max)
{
return a2sl(n, (char *) s, (char **) endp, base, min, max);
}
inline int
a2sll_c(long long *restrict n, const char *s,
const char **restrict endp, int base, long long min, long long max)
{
return a2sll(n, (char *) s, (char **) endp, base, min, max);
}
inline int
a2uh_c(unsigned short *restrict n, const char *s,
const char **restrict endp, int base, unsigned short min,
unsigned short max)
{
return a2uh(n, (char *) s, (char **) endp, base, min, max);
}
inline int
a2ui_c(unsigned int *restrict n, const char *s,
const char **restrict endp, int base, unsigned int min, unsigned int max)
{
return a2ui(n, (char *) s, (char **) endp, base, min, max);
}
inline int
a2ul_c(unsigned long *restrict n, const char *s,
const char **restrict endp, int base, unsigned long min, unsigned long max)
{
return a2ul(n, (char *) s, (char **) endp, base, min, max);
}
inline int
a2ull_c(unsigned long long *restrict n, const char *s,
const char **restrict endp, int base, unsigned long long min,
unsigned long long max)
{
return a2ull(n, (char *) s, (char **) endp, base, min, max);
}
inline int
a2sh_nc(short *restrict n, char *s,
char **restrict endp, int base, short min, short max)
{
int status;
*n = strtoi_(s, endp, base, min, max, &status);
if (status != 0) {
errno = status;
return -1;
}
return 0;
}
inline int
a2si_nc(int *restrict n, char *s,
char **restrict endp, int base, int min, int max)
{
int status;
*n = strtoi_(s, endp, base, min, max, &status);
if (status != 0) {
errno = status;
return -1;
}
return 0;
}
inline int
a2sl_nc(long *restrict n, char *s,
char **restrict endp, int base, long min, long max)
{
int status;
*n = strtoi_(s, endp, base, min, max, &status);
if (status != 0) {
errno = status;
return -1;
}
return 0;
}
inline int
a2sll_nc(long long *restrict n, char *s,
char **restrict endp, int base, long long min, long long max)
{
int status;
*n = strtoi_(s, endp, base, min, max, &status);
if (status != 0) {
errno = status;
return -1;
}
return 0;
}
inline int
a2uh_nc(unsigned short *restrict n, char *s,
char **restrict endp, int base, unsigned short min,
unsigned short max)
{
int status;
*n = strtou_noneg(s, endp, base, min, max, &status);
if (status != 0) {
errno = status;
return -1;
}
return 0;
}
inline int
a2ui_nc(unsigned int *restrict n, char *s,
char **restrict endp, int base, unsigned int min, unsigned int max)
{
int status;
*n = strtou_noneg(s, endp, base, min, max, &status);
if (status != 0) {
errno = status;
return -1;
}
return 0;
}
inline int
a2ul_nc(unsigned long *restrict n, char *s,
char **restrict endp, int base, unsigned long min, unsigned long max)
{
int status;
*n = strtou_noneg(s, endp, base, min, max, &status);
if (status != 0) {
errno = status;
return -1;
}
return 0;
}
inline int
a2ull_nc(unsigned long long *restrict n, char *s,
char **restrict endp, int base, unsigned long long min,
unsigned long long max)
{
int status;
*n = strtou_noneg(s, endp, base, min, max, &status);
if (status != 0) {
errno = status;
return -1;
}
return 0;
}
#endif // include guard

18
lib/atoi/str2i.c Normal file
View File

@@ -0,0 +1,18 @@
// SPDX-FileCopyrightText: 2007-2009, Nicolas François
// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#include <config.h>
#include "atoi/str2i.h"
extern inline int str2sh(short *restrict n, const char *restrict s);
extern inline int str2si(int *restrict n, const char *restrict s);
extern inline int str2sl(long *restrict n, const char *restrict s);
extern inline int str2sll(long long *restrict n, const char *restrict s);
extern inline int str2uh(unsigned short *restrict n, const char *restrict s);
extern inline int str2ui(unsigned int *restrict n, const char *restrict s);
extern inline int str2ul(unsigned long *restrict n, const char *restrict s);
extern inline int str2ull(unsigned long long *restrict n, const char *restrict s);

108
lib/atoi/str2i.h Normal file
View File

@@ -0,0 +1,108 @@
// SPDX-FileCopyrightText: 2007-2009, Nicolas François
// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#ifndef SHADOW_INCLUDE_LIB_ATOI_STR2I_H_
#define SHADOW_INCLUDE_LIB_ATOI_STR2I_H_
#include <config.h>
#include <limits.h>
#include <stddef.h>
#include "atoi/a2i.h"
#include "attr.h"
#define str2i(TYPE, ...) \
( \
_Generic((TYPE) 0, \
short: str2sh, \
int: str2si, \
long: str2sl, \
long long: str2sll, \
unsigned short: str2uh, \
unsigned int: str2ui, \
unsigned long: str2ul, \
unsigned long long: str2ull \
)(__VA_ARGS__) \
)
ATTR_STRING(2) ATTR_ACCESS(write_only, 1)
inline int str2sh(short *restrict n, const char *restrict s);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1)
inline int str2si(int *restrict n, const char *restrict s);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1)
inline int str2sl(long *restrict n, const char *restrict s);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1)
inline int str2sll(long long *restrict n, const char *restrict s);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1)
inline int str2uh(unsigned short *restrict n, const char *restrict s);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1)
inline int str2ui(unsigned int *restrict n, const char *restrict s);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1)
inline int str2ul(unsigned long *restrict n, const char *restrict s);
ATTR_STRING(2) ATTR_ACCESS(write_only, 1)
inline int str2ull(unsigned long long *restrict n, const char *restrict s);
inline int
str2sh(short *restrict n, const char *restrict s)
{
return a2sh(n, s, NULL, 0, SHRT_MIN, SHRT_MAX);
}
inline int
str2si(int *restrict n, const char *restrict s)
{
return a2si(n, s, NULL, 0, INT_MIN, INT_MAX);
}
inline int
str2sl(long *restrict n, const char *restrict s)
{
return a2sl(n, s, NULL, 0, LONG_MIN, LONG_MAX);
}
inline int
str2sll(long long *restrict n, const char *restrict s)
{
return a2sll(n, s, NULL, 0, LLONG_MIN, LLONG_MAX);
}
inline int
str2uh(unsigned short *restrict n, const char *restrict s)
{
return a2uh(n, s, NULL, 0, 0, USHRT_MAX);
}
inline int
str2ui(unsigned int *restrict n, const char *restrict s)
{
return a2ui(n, s, NULL, 0, 0, UINT_MAX);
}
inline int
str2ul(unsigned long *restrict n, const char *restrict s)
{
return a2ul(n, s, NULL, 0, 0, ULONG_MAX);
}
inline int
str2ull(unsigned long long *restrict n, const char *restrict s)
{
return a2ull(n, s, NULL, 0, 0, ULLONG_MAX);
}
#endif // include guard

View File

@@ -11,8 +11,3 @@
extern inline uintmax_t strtou_noneg(const char *s, char **restrict endp,
int base, uintmax_t min, uintmax_t max, int *restrict status);
extern inline unsigned long strtoul_noneg(const char *s,
char **restrict endp, int base);
extern inline unsigned long long strtoull_noneg(const char *s,
char **restrict endp, int base);

View File

@@ -9,8 +9,8 @@
#include <config.h>
#include <errno.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
#include "atoi/strtoi.h"
#include "attr.h"
@@ -20,13 +20,6 @@ ATTR_STRING(1) ATTR_ACCESS(write_only, 2) ATTR_ACCESS(write_only, 6)
inline uintmax_t strtou_noneg(const char *s, char **restrict endp,
int base, uintmax_t min, uintmax_t max, int *restrict status);
ATTR_STRING(1) ATTR_ACCESS(write_only, 2)
inline unsigned long strtoul_noneg(const char *s,
char **restrict endp, int base);
ATTR_STRING(1) ATTR_ACCESS(write_only, 2)
inline unsigned long long strtoull_noneg(const char *s,
char **restrict endp, int base);
inline uintmax_t
strtou_noneg(const char *s, char **restrict endp, int base,
@@ -43,26 +36,4 @@ strtou_noneg(const char *s, char **restrict endp, int base,
}
inline unsigned long
strtoul_noneg(const char *s, char **restrict endp, int base)
{
if (strtol(s, endp, base) < 0) {
errno = ERANGE;
return 0;
}
return strtoul(s, endp, base);
}
inline unsigned long long
strtoull_noneg(const char *s, char **restrict endp, int base)
{
if (strtol(s, endp, base) < 0) {
errno = ERANGE;
return 0;
}
return strtoull(s, endp, base);
}
#endif // include guard

View File

@@ -8,14 +8,8 @@
#include <config.h>
#include "must_be.h"
#define const_cast(T, p) \
({ \
static_assert(is_same_type(typeof(&*(p)), const T), ""); \
(T) (p); \
})
#define const_cast(T, p) _Generic(p, const T: (T) (p))
#endif // include guard

View File

@@ -1,11 +1,10 @@
/*
* SPDX-FileCopyrightText: 1990 - 1994, Julianne Frances Haugh
* SPDX-FileCopyrightText: 1996 - 2000, Marek Michałkiewicz
* SPDX-FileCopyrightText: 2001 - 2005, Tomasz Kłoczko
* SPDX-FileCopyrightText: 2005 - 2008, Nicolas François
*
* SPDX-License-Identifier: BSD-3-Clause
*/
// SPDX-FileCopyrightText: 1990-1994, Julianne Frances Haugh
// SPDX-FileCopyrightText: 1996-2000, Marek Michałkiewicz
// SPDX-FileCopyrightText: 2001-2005, Tomasz Kłoczko
// SPDX-FileCopyrightText: 2005-2008, Nicolas François
// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
/*
* is_valid_user_name(), is_valid_group_name() - check the new user/group
@@ -15,16 +14,39 @@
* false - bad name
*/
#include <config.h>
#ident "$Id$"
#include <ctype.h>
#include <errno.h>
#include <limits.h>
#include <stdbool.h>
#include <stddef.h>
#include <unistd.h>
#include "defines.h"
#include "chkname.h"
int allow_bad_names = false;
size_t
login_name_max_size(void)
{
long conf;
errno = 0;
conf = sysconf(_SC_LOGIN_NAME_MAX);
if (conf == -1 && errno != 0)
return LOGIN_NAME_MAX;
return conf;
}
static bool is_valid_name (const char *name)
{
if (allow_bad_names) {
@@ -72,20 +94,17 @@ static bool is_valid_name (const char *name)
return !numeric;
}
bool is_valid_user_name (const char *name)
{
size_t maxlen;
/*
* User names length are limited by the kernel
*/
maxlen = sysconf(_SC_LOGIN_NAME_MAX);
if (strlen(name) > maxlen)
bool
is_valid_user_name(const char *name)
{
if (strlen(name) >= login_name_max_size())
return false;
return is_valid_name (name);
return is_valid_name(name);
}
bool is_valid_group_name (const char *name)
{
/*
@@ -99,4 +118,3 @@ bool is_valid_group_name (const char *name)
return is_valid_name (name);
}

View File

@@ -11,6 +11,7 @@
#ifndef _CHKNAME_H_
#define _CHKNAME_H_
/*
* is_valid_user_name(), is_valid_group_name() - check the new user/group
* name for validity;
@@ -19,8 +20,14 @@
* false - bad name
*/
#include "defines.h"
#include <config.h>
#include <stdbool.h>
#include <stddef.h>
extern size_t login_name_max_size(void);
extern bool is_valid_user_name (const char *name);
extern bool is_valid_group_name (const char *name);

View File

@@ -400,6 +400,7 @@ static int copy_entry (const struct path_info *src, const struct path_info *dst,
{
int err = 0;
struct stat sb;
struct stat tmp_sb;
struct link_name *lp;
struct timespec mt[2];
@@ -423,7 +424,7 @@ static int copy_entry (const struct path_info *src, const struct path_info *dst,
* If the destination already exists do nothing.
* This is after the copy_dir above to still iterate into subdirectories.
*/
if (fstatat(dst->dirfd, dst->name, &sb, AT_SYMLINK_NOFOLLOW) != -1) {
if (fstatat(dst->dirfd, dst->name, &tmp_sb, AT_SYMLINK_NOFOLLOW) != -1) {
return err;
}

View File

@@ -23,6 +23,7 @@
#include "sizeof.h"
static uint32_t csrand32(void);
static uint32_t csrand_uniform32(uint32_t n);
static unsigned long csrand_uniform_slow(unsigned long n);
@@ -97,6 +98,13 @@ csrand_interval(unsigned long min, unsigned long max)
}
static uint32_t
csrand32(void)
{
return csrand();
}
/*
* Fast Random Integer Generation in an Interval
* ACM Transactions on Modeling and Computer Simulation 29 (1), 2019
@@ -109,12 +117,12 @@ csrand_uniform32(uint32_t n)
uint64_t r, mult;
if (n == 0)
return csrand();
return csrand32();
bound = -n % n; // analogous to `2^32 % n`, since `x % y == (x-y) % y`
do {
r = csrand();
r = csrand32();
mult = r * n;
rem = mult; // analogous to `mult % 2^32`
} while (rem < bound); // p = (2^32 % n) / 2^32; W.C.: n=2^31+1, p=0.5

View File

@@ -1,38 +0,0 @@
/*
* SPDX-FileCopyrightText: 2021-2023, Alejandro Colomar <alx@kernel.org>
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <config.h>
#include <string.h>
#include <time.h>
#ident "$Id$"
#include "string/strtcpy.h"
#include "prototypes.h"
void
date_to_str(size_t size, char buf[size], long date)
{
time_t t;
const struct tm *tm;
t = date;
if (date < 0) {
(void) strtcpy(buf, "never", size);
return;
}
tm = gmtime(&t);
if (tm == NULL) {
(void) strtcpy(buf, "future", size);
return;
}
if (strftime(buf, size, "%Y-%m-%d", tm) == 0)
(void) strtcpy(buf, "future", size);
}

View File

@@ -25,6 +25,7 @@
((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2))
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -202,4 +203,14 @@
# define shadow_getenv(name) getenv(name)
#endif
/*
* Maximum password length
*
* Consider that there is also limit in PAM (PAM_MAX_RESP_SIZE)
* currently set to 512.
*/
#if !defined(PASS_MAX)
#define PASS_MAX BUFSIZ - 1
#endif
#endif /* _DEFINES_H_ */

View File

@@ -127,30 +127,18 @@ void addenv (const char *string, /*@null@*/const char *value)
if ((newenvc & (NEWENVP_STEP - 1)) == 0) {
bool update_environ;
char **__newenvp;
/*
* If the resize operation succeeds we can
* happily go on, else print a message.
*/
update_environ = (environ == newenvp);
__newenvp = REALLOC(newenvp, newenvc + NEWENVP_STEP, char *);
newenvp = XREALLOC(newenvp, newenvc + NEWENVP_STEP, char *);
if (NULL != __newenvp) {
/*
* If this is our current environment, update
* environ so that it doesn't point to some
* free memory area (realloc() could move it).
*/
if (update_environ)
environ = __newenvp;
newenvp = __newenvp;
} else {
(void) fputs (_("Environment overflow\n"), log_get_logfd());
newenvc--;
free (newenvp[newenvc]);
}
/*
* If this is our current environment, update
* environ so that it doesn't point to some
* free memory area (realloc() could move it).
*/
if (update_environ)
environ = newenvp;
}
/*

View File

@@ -14,11 +14,13 @@
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include "defines.h"
#include "faillog.h"
#include "failure.h"
#include "memzero.h"
#include "prototypes.h"
#include "string/strftime.h"
#include "string/strtcpy.h"
@@ -252,7 +254,7 @@ void failprint (const struct faillog *fail)
/*
* Print all information we have.
*/
(void) strftime (lasttimeb, sizeof lasttimeb, "%c", tp);
STRFTIME(lasttimeb, "%c", tp);
/*@-formatconst@*/
(void) printf (ngettext ("%d failure since last login.\n"

41
lib/fd.c Normal file
View File

@@ -0,0 +1,41 @@
// SPDX-FileCopyrightText: 2024, Skyler Ferrante <sjf5462@rit.edu>
// SPDX-License-Identifier: BSD-3-Clause
/**
* To protect against file descriptor omission attacks, we open the std file
* descriptors with /dev/null if they are not already open. Code is based on
* fix_fds from sudo.c.
*/
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include "prototypes.h"
static void check_fd(int fd);
void
check_fds(void)
{
/**
* Make sure stdin, stdout, stderr are open
* If they are closed, set them to /dev/null
*/
check_fd(STDIN_FILENO);
check_fd(STDOUT_FILENO);
check_fd(STDERR_FILENO);
}
static void
check_fd(int fd)
{
int devnull;
if (fcntl(fd, F_GETFL, 0) != -1)
return;
devnull = open("/dev/null", O_RDWR);
if (devnull != fd)
abort();
}

View File

@@ -16,13 +16,13 @@
int
get_gid(const char *gidstr, gid_t *gid)
{
char *end;
long long val;
char *endptr;
errno = 0;
val = strtoll(gidstr, &endptr, 10);
val = strtoll(gidstr, &end, 10);
if ( ('\0' == *gidstr)
|| ('\0' != *endptr)
|| ('\0' != *end)
|| (0 != errno)
|| (/*@+longintegral@*/val != (gid_t)val)/*@=longintegral@*/) {
return -1;

View File

@@ -17,15 +17,16 @@
#include "string/sprintf.h"
int get_pid (const char *pidstr, pid_t *pid)
int
get_pid(const char *pidstr, pid_t *pid)
{
char *end;
long long val;
char *endptr;
errno = 0;
val = strtoll(pidstr, &endptr, 10);
val = strtoll(pidstr, &end, 10);
if ( ('\0' == *pidstr)
|| ('\0' != *endptr)
|| ('\0' != *end)
|| (0 != errno)
|| (val < 1)
|| (/*@+longintegral@*/val != (pid_t)val)/*@=longintegral@*/) {
@@ -43,15 +44,15 @@ int get_pid (const char *pidstr, pid_t *pid)
*/
int get_pidfd_from_fd(const char *pidfdstr)
{
long long val;
char *endptr;
struct stat st;
char *end;
long long val;
struct stat st;
dev_t proc_st_dev, proc_st_rdev;
errno = 0;
val = strtoll(pidfdstr, &endptr, 10);
val = strtoll(pidfdstr, &end, 10);
if ( ('\0' == *pidfdstr)
|| ('\0' != *endptr)
|| ('\0' != *end)
|| (0 != errno)
|| (val < 0)
|| (/*@+longintegral@*/val != (int)val)/*@=longintegral@*/) {

View File

@@ -16,13 +16,13 @@
int
get_uid(const char *uidstr, uid_t *uid)
{
char *end;
long long val;
char *endptr;
errno = 0;
val = strtoll(uidstr, &endptr, 10);
val = strtoll(uidstr, &end, 10);
if ( ('\0' == *uidstr)
|| ('\0' != *endptr)
|| ('\0' != *end)
|| (0 != errno)
|| (/*@+longintegral@*/val != (uid_t)val)/*@=longintegral@*/) {
return -1;

View File

@@ -319,7 +319,7 @@ relunit : tUNUMBER tYEAR_UNIT {
yyRelYear += $1 * $2;
}
| tYEAR_UNIT {
yyRelYear++;
yyRelYear += $1;
}
| tUNUMBER tMONTH_UNIT {
yyRelMonth += $1 * $2;
@@ -328,7 +328,7 @@ relunit : tUNUMBER tYEAR_UNIT {
yyRelMonth += $1 * $2;
}
| tMONTH_UNIT {
yyRelMonth++;
yyRelMonth += $1;
}
| tUNUMBER tDAY_UNIT {
yyRelDay += $1 * $2;
@@ -337,7 +337,7 @@ relunit : tUNUMBER tYEAR_UNIT {
yyRelDay += $1 * $2;
}
| tDAY_UNIT {
yyRelDay++;
yyRelDay += $1;
}
| tUNUMBER tHOUR_UNIT {
yyRelHour += $1 * $2;
@@ -346,7 +346,7 @@ relunit : tUNUMBER tYEAR_UNIT {
yyRelHour += $1 * $2;
}
| tHOUR_UNIT {
yyRelHour++;
yyRelHour += $1;
}
| tUNUMBER tMINUTE_UNIT {
yyRelMinutes += $1 * $2;
@@ -355,7 +355,7 @@ relunit : tUNUMBER tYEAR_UNIT {
yyRelMinutes += $1 * $2;
}
| tMINUTE_UNIT {
yyRelMinutes++;
yyRelMinutes += $1;
}
| tUNUMBER tSEC_UNIT {
yyRelSeconds += $1 * $2;
@@ -364,7 +364,7 @@ relunit : tUNUMBER tYEAR_UNIT {
yyRelSeconds += $1 * $2;
}
| tSEC_UNIT {
yyRelSeconds++;
yyRelSeconds += $1;
}
;
@@ -923,11 +923,8 @@ time_t get_date (const char *p, const time_t *now)
#if defined (TEST)
/* ARGSUSED */
int
main (ac, av)
int ac;
char *av[];
main(void)
{
char buff[MAX_BUFF_LEN + 1];
time_t d;

View File

@@ -23,6 +23,7 @@
#endif
#include "alloc.h"
#include "atoi/str2i.h"
#include "getdef.h"
#include "shadowlog_internal.h"
#include "string/sprintf.h"
@@ -176,7 +177,7 @@ static const char* def_fname = LOGINDEFS; /* login config defs file */
static bool def_loaded = false; /* are defs already loaded? */
/* local function prototypes */
static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *);
static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *, const char *);
static void def_load (void);
@@ -195,7 +196,7 @@ static void def_load (void);
def_load ();
}
d = def_find (item);
d = def_find (item, NULL);
return (NULL == d) ? NULL : d->value;
}
@@ -214,7 +215,7 @@ bool getdef_bool (const char *item)
def_load ();
}
d = def_find (item);
d = def_find (item, NULL);
if ((NULL == d) || (NULL == d->value)) {
return false;
}
@@ -240,12 +241,12 @@ int getdef_num (const char *item, int dflt)
def_load ();
}
d = def_find (item);
d = def_find (item, NULL);
if ((NULL == d) || (NULL == d->value)) {
return dflt;
}
if ( (getlong(d->value, &val) == -1)
if ( (str2sl(&val, d->value) == -1)
|| (val > INT_MAX)
|| (val < -1)) {
fprintf (shadow_logfd,
@@ -275,12 +276,12 @@ unsigned int getdef_unum (const char *item, unsigned int dflt)
def_load ();
}
d = def_find (item);
d = def_find (item, NULL);
if ((NULL == d) || (NULL == d->value)) {
return dflt;
}
if ( (getlong(d->value, &val) == -1)
if ( (str2sl(&val, d->value) == -1)
|| (val < 0)
|| (val > INT_MAX)) {
fprintf (shadow_logfd,
@@ -310,12 +311,12 @@ long getdef_long (const char *item, long dflt)
def_load ();
}
d = def_find (item);
d = def_find (item, NULL);
if ((NULL == d) || (NULL == d->value)) {
return dflt;
}
if (getlong(d->value, &val) == -1 || val < -1) {
if (str2sl(&val, d->value) == -1 || val < -1) {
fprintf (shadow_logfd,
_("configuration error - cannot parse %s value: '%s'"),
item, d->value);
@@ -342,12 +343,12 @@ unsigned long getdef_ulong (const char *item, unsigned long dflt)
def_load ();
}
d = def_find (item);
d = def_find (item, NULL);
if ((NULL == d) || (NULL == d->value)) {
return dflt;
}
if (getulong(d->value, &val) == -1) {
if (str2ul(&val, d->value) == -1) {
fprintf (shadow_logfd,
_("configuration error - cannot parse %s value: '%s'"),
item, d->value);
@@ -375,12 +376,9 @@ int putdef_str (const char *name, const char *value, const char *srcfile)
* Locate the slot to save the value. If this parameter
* is unknown then "def_find" will print an err message.
*/
d = def_find (name);
if (NULL == d) {
if (NULL != srcfile)
SYSLOG ((LOG_CRIT, "shadow: unknown configuration item '%s' in '%s'", name, srcfile));
d = def_find (name, srcfile);
if (NULL == d)
return -1;
}
/*
* Save off the value.
@@ -404,9 +402,12 @@ int putdef_str (const char *name, const char *value, const char *srcfile)
*
* Search through a table of configurable items to locate the
* specified configuration option.
*
* If srcfile is not NULL, and the item is not found, then report an error saying
* the unknown item was used in this file.
*/
static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *name)
static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *name, const char *srcfile)
{
struct itemdef *ptr;
@@ -432,6 +433,8 @@ static /*@observer@*/ /*@null@*/struct itemdef *def_find (const char *name)
fprintf (shadow_logfd,
_("configuration error - unknown item '%s' (notify administrator)\n"),
name);
if (srcfile != NULL)
SYSLOG ((LOG_CRIT, "shadow: unknown configuration item '%s' in '%s'", name, srcfile));
out:
return NULL;
@@ -610,7 +613,7 @@ int main (int argc, char **argv)
def_load ();
for (i = 0; i < NUMDEFS; ++i) {
d = def_find (def_table[i].name);
d = def_find (def_table[i].name, NULL);
if (NULL == d) {
printf ("error - lookup '%s' failed\n",
def_table[i].name);

View File

@@ -23,17 +23,17 @@
*/
extern /*@only@*//*@null@*/struct group *getgr_nam_gid (/*@null@*/const char *grname)
{
char *end;
long long gid;
char *endptr;
if (NULL == grname) {
return NULL;
}
errno = 0;
gid = strtoll(grname, &endptr, 10);
gid = strtoll(grname, &end, 10);
if ( ('\0' != *grname)
&& ('\0' == *endptr)
&& ('\0' == *end)
&& (0 == errno)
&& (/*@+longintegral@*/gid == (gid_t)gid)/*@=longintegral@*/) {
return xgetgrgid (gid);

View File

@@ -1,36 +0,0 @@
/*
* SPDX-FileCopyrightText: 2007 - 2009, Nicolas François
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <config.h>
#ident "$Id$"
#include <stdlib.h>
#include <errno.h>
#include "prototypes.h"
/*
* getlong - extract a long integer provided by the numstr string in *result
*
* It supports decimal, hexadecimal or octal representations.
*/
int
getlong(const char *restrict numstr, long *restrict result)
{
char *endptr;
long val;
errno = 0;
val = strtol(numstr, &endptr, 0);
if (('\0' == *numstr) || ('\0' != *endptr) || (0 != errno))
return -1;
*result = val;
return 0;
}

View File

@@ -1,8 +1,6 @@
/*
* SPDX-FileCopyrightText: 2008 , Nicolas François
*
* SPDX-License-Identifier: BSD-3-Clause
*/
// SPDX-FileCopyrightText: 2008, Nicolas François
// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#include <config.h>
@@ -12,7 +10,7 @@
#include <ctype.h>
#include <stdlib.h>
#include "atoi/strtou_noneg.h"
#include "atoi/a2i.h"
#include "defines.h"
#include "prototypes.h"
@@ -30,65 +28,44 @@ getrange(const char *range,
unsigned long *min, bool *has_min,
unsigned long *max, bool *has_max)
{
char *endptr;
unsigned long n;
const char *end;
if (NULL == range)
return -1;
*min = 0;
*has_min = false;
*has_max = false;
if ('-' == range[0]) {
if (!isdigit(range[1]))
return -1;
errno = 0;
n = strtoul_noneg(&range[1], &endptr, 10);
if (('\0' != *endptr) || (0 != errno))
return -1;
/* -<long> */
*has_min = false;
*has_max = true;
*max = n;
} else {
errno = 0;
n = strtoul_noneg(range, &endptr, 10);
if (endptr == range || 0 != errno)
return -1;
switch (*endptr) {
case '\0':
/* <long> */
*has_min = true;
*has_max = true;
*min = n;
*max = n;
break;
case '-':
endptr++;
if ('\0' == *endptr) {
/* <long>- */
*has_min = true;
*has_max = false;
*min = n;
} else if (!isdigit (*endptr)) {
return -1;
} else {
*has_min = true;
*min = n;
errno = 0;
n = strtoul_noneg(endptr, &endptr, 10);
if ('\0' != *endptr || 0 != errno)
return -1;
/* <long>-<long> */
*has_max = true;
*max = n;
}
break;
default:
return -1;
}
end = range + 1;
goto parse_max;
}
return 0;
if (a2ul(min, range, &end, 10, 0, ULONG_MAX) == -1 && errno != ENOTSUP)
return -1;
*has_min = true;
switch (*end++) {
case '\0':
*has_max = true;
*max = *min;
return 0; /* <long> */
case '-':
if ('\0' == *end)
return 0; /* <long>- */
parse_max:
if (!isdigit((unsigned char) *end))
return -1;
if (a2ul(max, end, NULL, 10, *min, ULONG_MAX) == -1)
return -1;
*has_max = true;
return 0; /* <long>-<long>, or -<long> */
default:
return -1;
}
}

View File

@@ -1,8 +1,7 @@
/*
* SPDX-FileCopyrightText: 2017, Chris Lamb
*
* SPDX-License-Identifier: BSD-3-Clause
*/
// SPDX-FileCopyrightText: 2017, Chris Lamb
// SPDX-FileCopyrightText: 2023-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#include <config.h>
@@ -12,11 +11,12 @@
#include <limits.h>
#include <stdio.h>
#include "atoi/strtou_noneg.h"
#include "atoi/a2i.h"
#include "defines.h"
#include "prototypes.h"
#include "shadowlog.h"
/*
* gettime() returns the time as the number of seconds since the Epoch
*
@@ -24,13 +24,12 @@
* Epoch, 1970-01-01 00:00:00 +0000 (UTC), except that if the SOURCE_DATE_EPOCH
* environment variable is exported it will use that instead.
*/
/*@observer@*/time_t gettime (void)
/*@observer@*/time_t
gettime(void)
{
char *endptr;
char *source_date_epoch;
time_t fallback;
unsigned long long epoch;
FILE *shadow_logfd = log_get_logfd();
char *source_date_epoch;
FILE *shadow_logfd = log_get_logfd();
time_t fallback, epoch;
fallback = time (NULL);
source_date_epoch = shadow_getenv ("SOURCE_DATE_EPOCH");
@@ -38,32 +37,11 @@
if (!source_date_epoch)
return fallback;
errno = 0;
epoch = strtoull_noneg(source_date_epoch, &endptr, 10);
if (errno != 0) {
fprintf (shadow_logfd,
_("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n"),
strerror(errno));
} else if (endptr == source_date_epoch) {
fprintf (shadow_logfd,
_("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n"),
endptr);
} else if (*endptr != '\0') {
fprintf (shadow_logfd,
_("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n"),
endptr);
} else if (epoch > ULONG_MAX) {
fprintf (shadow_logfd,
_("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to %lu but was found to be: %llu\n"),
ULONG_MAX, epoch);
} else if ((time_t)epoch > fallback) {
fprintf (shadow_logfd,
_("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to the current time (%lu) but was found to be: %llu\n"),
fallback, epoch);
} else {
/* Valid */
return epoch;
if (a2i(time_t, &epoch, source_date_epoch, NULL, 10, 0, fallback) == -1) {
fprintf(shadow_logfd,
_("Environment variable $SOURCE_DATE_EPOCH: a2i(\"%s\"): %s"),
source_date_epoch, strerror(errno));
return fallback;
}
return fallback;
return epoch;
}

View File

@@ -1,37 +0,0 @@
/*
* SPDX-FileCopyrightText: 2007 - 2009, Nicolas François
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include <config.h>
#ident "$Id: getlong.c 2763 2009-04-23 09:57:03Z nekral-guest $"
#include <stdlib.h>
#include <errno.h>
#include "atoi/strtou_noneg.h"
#include "prototypes.h"
/*
* getulong - extract an unsigned long integer provided by the numstr string in *result
*
* It supports decimal, hexadecimal or octal representations.
*/
int
getulong(const char *restrict numstr, unsigned long *restrict result)
{
char *endptr;
unsigned long val;
errno = 0;
val = strtoul_noneg(numstr, &endptr, 0);
if (('\0' == *numstr) || ('\0' != *endptr) || (0 != errno))
return -1;
*result = val;
return 0;
}

View File

@@ -30,34 +30,6 @@ static struct sgrp sgroup;
#define FIELDS 4
#ifdef USE_NIS
static bool nis_used;
static bool nis_ignore;
static enum { native, start, middle, native2 } nis_state;
static bool nis_bound;
static char *nis_domain;
static char *nis_key;
static int nis_keylen;
static char *nis_val;
static int nis_vallen;
#define IS_NISCHAR(c) ((c)=='+')
#endif
#ifdef USE_NIS
/*
* bind_nis - bind to NIS server
*/
static int bind_nis (void)
{
if (yp_get_default_domain (&nis_domain))
return -1;
nis_bound = true;
return 0;
}
#endif
static /*@null@*/char **build_list (char *s, char **list[], size_t * nlist)
{
@@ -68,15 +40,10 @@ static /*@null@*/char **build_list (char *s, char **list[], size_t * nlist)
size = (nelem + 1) * sizeof (ptr);
ptr = REALLOC(*list, size, char *);
if (NULL != ptr) {
ptr[nelem] = s;
ptr[nelem] = strsep(&s, ",");
nelem++;
*list = ptr;
*nlist = nelem;
s = strchr (s, ',');
if (NULL != s) {
*s = '\0';
s++;
}
}
}
size = (nelem + 1) * sizeof (ptr);
@@ -90,9 +57,6 @@ static /*@null@*/char **build_list (char *s, char **list[], size_t * nlist)
void setsgent (void)
{
#ifdef USE_NIS
nis_state = native;
#endif
if (NULL != shadow) {
rewind (shadow);
} else {
@@ -140,30 +104,16 @@ void endsgent (void)
* all 4 of them and save the starting addresses in fields[].
*/
for (cp = sgrbuf, i = 0; (i < FIELDS) && (NULL != cp); i++) {
fields[i] = cp;
cp = strchr (cp, ':');
if (NULL != cp) {
*cp++ = '\0';
}
}
for (cp = sgrbuf, i = 0; (i < FIELDS) && (NULL != cp); i++)
fields[i] = strsep(&cp, ":");
/*
* If there was an extra field somehow, or perhaps not enough,
* the line is invalid.
*/
if ((NULL != cp) || (i != FIELDS)) {
#ifdef USE_NIS
if (!IS_NISCHAR (fields[0][0])) {
return 0;
} else {
nis_used = true;
}
#else
if (NULL != cp || i != FIELDS)
return 0;
#endif
}
sgroup.sg_name = fields[0];
sgroup.sg_passwd = fields[1];
@@ -209,12 +159,7 @@ void endsgent (void)
return NULL;
}
#ifdef USE_NIS
while (fgetsx (buf, buflen, fp) == buf)
#else
if (fgetsx (buf, buflen, fp) == buf)
#endif
{
if (fgetsx(buf, buflen, fp) == buf) {
while ( ((cp = strrchr (buf, '\n')) == NULL)
&& (feof (fp) == 0)) {
size_t len;
@@ -237,11 +182,6 @@ void endsgent (void)
if (NULL != cp) {
*cp = '\0';
}
#ifdef USE_NIS
if (nis_ignore && IS_NISCHAR (buf[0])) {
continue;
}
#endif
return (sgetsgent (buf));
}
return NULL;
@@ -253,96 +193,10 @@ void endsgent (void)
/*@observer@*//*@null@*/struct sgrp *getsgent (void)
{
#ifdef USE_NIS
bool nis_1_group = false;
struct sgrp *val;
#endif
if (NULL == shadow) {
setsgent ();
}
#ifdef USE_NIS
again:
/*
* See if we are reading from the local file.
*/
if (nis_state == native || nis_state == native2) {
/*
* Get the next entry from the shadow group file. Return
* NULL right away if there is none.
*/
val = fgetsgent (shadow);
if (NULL == val) {
return 0;
}
/*
* If this entry began with a NIS escape character, we have
* to see if this is just a single group, or if the entire
* map is being asked for.
*/
if (IS_NISCHAR (val->sg_name[0])) {
if ('\0' != val->sg_name[1]) {
nis_1_group = true;
} else {
nis_state = start;
}
}
/*
* If this isn't a NIS group and this isn't an escape to go
* use a NIS map, it must be a regular local group.
*/
if (!nis_1_group && (nis_state != start)) {
return val;
}
/*
* If this is an escape to use an NIS map, switch over to
* that bunch of code.
*/
if (nis_state == start) {
goto again;
}
/*
* NEEDSWORK. Here we substitute pieces-parts of this entry.
*/
return 0;
} else {
if (!nis_bound) {
if (bind_nis ()) {
nis_state = native2;
goto again;
}
}
if (nis_state == start) {
if (yp_first (nis_domain, "gshadow.byname", &nis_key,
&nis_keylen, &nis_val, &nis_vallen)) {
nis_state = native2;
goto again;
}
nis_state = middle;
} else if (nis_state == middle) {
if (yp_next (nis_domain, "gshadow.byname", nis_key,
nis_keylen, &nis_key, &nis_keylen,
&nis_val, &nis_vallen)) {
nis_state = native2;
goto again;
}
}
return sgetsgent (nis_val);
}
#else
return (fgetsgent (shadow));
#endif
}
/*
@@ -353,63 +207,13 @@ void endsgent (void)
{
struct sgrp *sgrp;
#ifdef USE_NIS
static char save_name[16];
int nis_disabled = 0;
#endif
setsgent ();
#ifdef USE_NIS
if (nis_used) {
again:
/*
* Search the gshadow.byname map for this group.
*/
if (!nis_bound) {
bind_nis ();
}
if (nis_bound) {
char *cp;
if (yp_match (nis_domain, "gshadow.byname", name,
strlen (name), &nis_val,
&nis_vallen) == 0) {
cp = strchr (nis_val, '\n');
if (NULL != cp) {
*cp = '\0';
}
nis_state = middle;
sgrp = sgetsgent (nis_val);
if (NULL != sgrp) {
strcpy (save_name, sgrp->sg_name);
nis_key = save_name;
nis_keylen = strlen (save_name);
}
return sgrp;
}
}
nis_state = native2;
}
#endif
#ifdef USE_NIS
if (nis_used) {
nis_ignore = true;
nis_disabled = true;
}
#endif
while ((sgrp = getsgent ()) != NULL) {
if (strcmp (name, sgrp->sg_name) == 0) {
break;
}
}
#ifdef USE_NIS
nis_ignore = false;
#endif
return sgrp;
}

View File

@@ -14,6 +14,7 @@
#include <strings.h>
#include "alloc.h"
#include "atoi/str2i.h"
#include "prototypes.h"
#include "string/stpeprintf.h"
#include "idmapping.h"
@@ -24,6 +25,7 @@
#include "shadowlog.h"
#include "sizeof.h"
struct map_range *get_map_ranges(int ranges, int argc, char **argv)
{
struct map_range *mappings, *mapping;
@@ -34,20 +36,11 @@ struct map_range *get_map_ranges(int ranges, int argc, char **argv)
return NULL;
}
if (ranges != ((argc + 2) / 3)) {
if (ranges * 3 != argc) {
fprintf(log_get_logfd(), "%s: ranges: %u is wrong for argc: %d\n", log_get_progname(), ranges, argc);
return NULL;
}
if ((ranges * 3) > argc) {
fprintf(log_get_logfd(), "ranges: %u argc: %d\n",
ranges, argc);
fprintf(log_get_logfd(),
_( "%s: Not enough arguments to form %u mappings\n"),
log_get_progname(), ranges);
return NULL;
}
mappings = CALLOC(ranges, struct map_range);
if (!mappings) {
fprintf(log_get_logfd(), _( "%s: Memory allocation failure\n"),
@@ -58,15 +51,15 @@ struct map_range *get_map_ranges(int ranges, int argc, char **argv)
/* Gather up the ranges from the command line */
mapping = mappings;
for (idx = 0, argidx = 0; idx < ranges; idx++, argidx += 3, mapping++) {
if (getulong(argv[argidx + 0], &mapping->upper) == -1) {
if (str2ul(&mapping->upper, argv[argidx + 0]) == -1) {
free(mappings);
return NULL;
}
if (getulong(argv[argidx + 1], &mapping->lower) == -1) {
if (str2ul(&mapping->lower, argv[argidx + 1]) == -1) {
free(mappings);
return NULL;
}
if (getulong(argv[argidx + 2], &mapping->count) == -1) {
if (str2ul(&mapping->count, argv[argidx + 2]) == -1) {
free(mappings);
return NULL;
}

View File

@@ -15,11 +15,13 @@
#include <config.h>
#include <sys/types.h>
#include "prototypes.h"
#include "defines.h"
#include <pwd.h>
#include <time.h>
#include "adds.h"
#include "defines.h"
#include "prototypes.h"
#ident "$Id$"
@@ -38,7 +40,7 @@
*/
int isexpired (const struct passwd *pw, /*@null@*/const struct spwd *sp)
{
long now;
long now;
now = time(NULL) / DAY;
@@ -72,7 +74,8 @@ int isexpired (const struct passwd *pw, /*@null@*/const struct spwd *sp)
if ( (sp->sp_lstchg > 0)
&& (sp->sp_max >= 0)
&& (sp->sp_inact >= 0)
&& (now >= (sp->sp_lstchg + sp->sp_max + sp->sp_inact))) {
&& (now >= addsl(sp->sp_lstchg, sp->sp_max, sp->sp_inact)))
{
return 2;
}
@@ -94,9 +97,9 @@ int isexpired (const struct passwd *pw, /*@null@*/const struct spwd *sp)
* the password has expired.
*/
if (now >= (sp->sp_lstchg + sp->sp_max)) {
if (now >= addsl(sp->sp_lstchg, sp->sp_max))
return 1;
}
return 0;
}

View File

@@ -29,7 +29,11 @@
#include "getdef.h"
#include "shadowlog.h"
#include <sys/resource.h>
#include "atoi/str2i.h"
#include "memzero.h"
#ifndef LIMITS_FILE
#define LIMITS_FILE "/etc/limits"
#endif
@@ -45,7 +49,7 @@ static int setrlimit_value (unsigned int resource,
const char *value,
unsigned int multiplier)
{
char *endptr;
char *end;
long l;
rlim_t limit;
struct rlimit rlim;
@@ -57,15 +61,15 @@ static int setrlimit_value (unsigned int resource,
limit = RLIM_INFINITY;
}
else {
/* We cannot use getlong here because it fails when there
/* We cannot use str2sl() here because it fails when there
* is more to the value than just this number!
* Also, we are limited to base 10 here (hex numbers will not
* work with the limit string parser as is anyway)
*/
errno = 0;
l = strtol(value, &endptr, 10);
l = strtol(value, &end, 10);
if (value == endptr || errno != 0)
if (value == end || errno != 0)
return 0; // FIXME: We could instead throw an error, though.
if (__builtin_mul_overflow(l, multiplier, &limit)) {
@@ -89,7 +93,7 @@ static int set_prio (const char *value)
{
long prio;
if ( (getlong(value, &prio) == -1)
if ( (str2sl(&prio, value) == -1)
|| (prio != (int) prio)) {
return 0;
}
@@ -104,7 +108,7 @@ static int set_umask (const char *value)
{
unsigned long mask;
if ( (getulong(value, &mask) == -1)
if ( (str2ul(&mask, value) == -1)
|| (mask != (mode_t) mask)) {
return 0;
}
@@ -119,7 +123,7 @@ static int check_logins (const char *name, const char *maxlogins)
{
unsigned long limit, count;
if (getulong(maxlogins, &limit) == -1) {
if (str2ul(&limit, maxlogins) == -1) {
return 0;
}
@@ -482,7 +486,7 @@ void setup_limits (const struct passwd *info)
if (strncmp (cp, "pri=", 4) == 0) {
long inc;
if ( (getlong(cp + 4, &inc) == 0)
if ( (str2sl(&inc, cp + 4) == 0)
&& (inc >= -20) && (inc <= 20)) {
errno = 0;
if ( (nice (inc) != -1)
@@ -500,7 +504,7 @@ void setup_limits (const struct passwd *info)
}
if (strncmp (cp, "ulimit=", 7) == 0) {
long blocks;
if ( (getlong(cp + 7, &blocks) == -1)
if ( (str2sl(&blocks, cp + 7) == -1)
|| (blocks != (int) blocks)
|| (set_filesize_limit (blocks) != 0)) {
SYSLOG ((LOG_WARN,
@@ -512,7 +516,7 @@ void setup_limits (const struct passwd *info)
if (strncmp (cp, "umask=", 6) == 0) {
unsigned long mask;
if ( (getulong(cp + 6, &mask) == -1)
if ( (str2ul(&mask, cp + 6) == -1)
|| (mask != (mode_t) mask)) {
SYSLOG ((LOG_WARN,
"Can't set umask value for user %s",

View File

@@ -232,18 +232,9 @@ bool is_on_list (char *const *list, const char *member)
* array of pointers.
*/
for (cp = members, i = 0;; i++) {
array[i] = cp;
cp2 = strchr (cp, ',');
if (NULL != cp2) {
*cp2 = '\0';
cp2++;
cp = cp2;
} else {
array[i + 1] = NULL;
break;
}
}
for (cp = members, i = 0; cp != NULL; i++)
array[i] = strsep(&cp, ",");
array[i] = NULL;
/*
* Return the new array of pointers

View File

@@ -28,7 +28,7 @@
*
* A "last login" entry is created for the user being logged in. The
* UID is extracted from the global (struct passwd) entry and the
* TTY information is gotten from the (struct utmp).
* TTY information is gotten from the (struct utmpx).
*/
void dolastlog (
struct lastlog *ll,

View File

@@ -19,6 +19,7 @@
#include "alloc.h"
#include "attr.h"
#include "memzero.h"
#include "prototypes.h"
#include "shadowlog.h"
@@ -97,9 +98,8 @@ static int ni_conv (int num_msg,
failed_conversation:
for (count=0; count < num_msg; count++) {
if (NULL != responses[count].resp) {
bzero(responses[count].resp,
strlen(responses[count].resp));
free (responses[count].resp);
strzero(responses[count].resp);
free(responses[count].resp);
responses[count].resp = NULL;
}
}

View File

@@ -127,7 +127,7 @@ static struct port *getportent (void)
* - parse off a list of days and times
*/
again:
again:
/*
* Get the next line and remove optional trailing '\n'.
@@ -154,13 +154,9 @@ static struct port *getportent (void)
port.pt_names = ttys;
for (cp = buf, j = 0; j < PORT_TTY; j++) {
port.pt_names[j] = cp;
while (('\0' != *cp) && (':' != *cp) && (',' != *cp)) {
cp++;
}
if ('\0' == *cp) {
cp = strpbrk(cp, ":,");
if (cp == NULL)
goto again; /* line format error */
}
if (':' == *cp) { /* end of tty name list */
break;
@@ -172,7 +168,7 @@ static struct port *getportent (void)
}
*cp = '\0';
cp++;
port.pt_names[j + 1] = NULL;
port.pt_names[j] = NULL;
/*
* Get the list of user names. It is the second colon

View File

@@ -117,9 +117,6 @@ extern const char* process_prefix_flag (const char* short_opt, int argc, char **
xasprintf(&sgroup_db_file, "%s/%s", prefix, SGROUP_FILE);
sgr_setdbname(sgroup_db_file);
#endif
#ifdef USE_NIS
__setspNIS(0); /* disable NIS for now, at least until it is properly supporting a "prefix" */
#endif
xasprintf(&spw_db_file, "%s/%s", prefix, SHADOW_FILE);
spw_setdbname(spw_db_file);
@@ -337,9 +334,9 @@ extern void prefix_endgrent(void)
extern struct group *prefix_getgr_nam_gid(const char *grname)
{
long long gid;
char *endptr;
struct group *g;
char *end;
long long gid;
struct group *g;
if (NULL == grname) {
return NULL;
@@ -349,9 +346,9 @@ extern struct group *prefix_getgr_nam_gid(const char *grname)
return getgr_nam_gid(grname);
errno = 0;
gid = strtoll(grname, &endptr, 10);
gid = strtoll(grname, &end, 10);
if ( ('\0' != *grname)
&& ('\0' == *endptr)
&& ('\0' == *end)
&& (0 == errno)
&& (gid == (gid_t)gid))
{

View File

@@ -108,9 +108,6 @@ extern int copy_tree (const char *src_root, const char *dst_root,
uid_t old_uid, uid_t new_uid,
gid_t old_gid, gid_t new_gid);
/* date_to_str.c */
extern void date_to_str (size_t size, char buf[size], long date);
/* encrypt.c */
extern /*@exposed@*//*@null@*/char *pw_encrypt (const char *, const char *);
@@ -120,6 +117,9 @@ extern void initenv (void);
extern void set_env (int, char *const *);
extern void sanitize_env (void);
/* fd.c */
extern void check_fds (void);
/* fields.c */
extern void change_field (char *, size_t, const char *);
extern int valid_field (const char *, const char *);
@@ -149,10 +149,6 @@ extern int get_gid (const char *gidstr, gid_t *gid);
/* getgr_nam_gid.c */
extern /*@only@*//*@null@*/struct group *getgr_nam_gid (/*@null@*/const char *grname);
/* getlong.c */
ATTR_ACCESS(write_only, 2)
extern int getlong(const char *restrict numstr, long *restrict result);
/* get_pid.c */
extern int get_pid (const char *pidstr, pid_t *pid);
extern int get_pidfd_from_fd(const char *pidfdstr);
@@ -169,10 +165,6 @@ extern time_t gettime (void);
/* get_uid.c */
extern int get_uid (const char *uidstr, uid_t *uid);
/* getulong.c */
ATTR_ACCESS(write_only, 2)
extern int getulong(const char *restrict numstr, unsigned long *restrict result);
/* fputsx.c */
ATTR_ACCESS(write_only, 1, 2)
extern /*@null@*/char *fgetsx(/*@returned@*/char *restrict, int, FILE *restrict);
@@ -365,8 +357,8 @@ unsigned long csrand_interval (unsigned long min, unsigned long max);
extern int remove_tree (const char *root, bool remove_root);
/* rlogin.c */
extern int do_rlogin (const char *remote_host, char *name, size_t namelen,
char *term, size_t termlen);
extern int do_rlogin(const char *remote_host, char *name, size_t namesize,
char *term, size_t termsize);
/* root_flag.c */
extern void process_root_flag (const char* short_opt, int argc, char **argv);

View File

@@ -18,6 +18,10 @@
#include <stdio.h>
#include <pwd.h>
#include <netdb.h>
#include "atoi/str2i.h"
static struct {
int spd_name;
int spd_baud;
@@ -41,7 +45,9 @@ static struct {
{ -1, -1}
};
static void get_remote_string (char *buf, size_t size)
static void
get_remote_string(char *buf, size_t size)
{
for (;;) {
if (read (0, buf, 1) != 1) {
@@ -55,11 +61,13 @@ static void get_remote_string (char *buf, size_t size)
++buf;
}
}
/*NOTREACHED*/}
/*NOTREACHED*/
}
int
do_rlogin (const char *remote_host, char *name, size_t namelen, char *term,
size_t termlen)
do_rlogin(const char *remote_host, char *name, size_t namesize, char *term,
size_t termsize)
{
struct passwd *pwd;
char remote_name[32];
@@ -69,18 +77,17 @@ do_rlogin (const char *remote_host, char *name, size_t namelen, char *term,
int i;
TERMIO termio;
get_remote_string (remote_name, sizeof remote_name);
get_remote_string (name, namelen);
get_remote_string (term, termlen);
get_remote_string(remote_name, sizeof(remote_name));
get_remote_string(name, namesize);
get_remote_string(term, termsize);
cp = strchr (term, '/');
if (NULL != cp) {
*cp = '\0';
cp++;
if (getulong(cp, &remote_speed) == -1) {
if (str2ul(&remote_speed, cp) == -1)
remote_speed = 9600;
}
}
for (i = 0;
( (speed_table[i].spd_baud != remote_speed)
@@ -126,4 +133,3 @@ do_rlogin (const char *remote_host, char *name, size_t namelen, char *term,
#endif
}
#endif /* RLOGIN */

View File

@@ -14,6 +14,7 @@
#include <stdio.h>
#include <sys/types.h>
#include <grp.h>
#include <string.h>
#include "alloc.h"
#include "defines.h"
@@ -27,14 +28,11 @@
* list() converts the comma-separated list of member names into
* an array of character pointers.
*
* WARNING: I profiled this once with and without strchr() calls
* and found that using a register variable and an explicit loop
* works best. For large /etc/group files, this is a major win.
*
* FINALLY added dynamic allocation. Still need to fix sgetsgent().
* --marekm
*/
static char **list (char *s)
static char **
list(char *s)
{
static char **members = NULL;
static size_t size = 0; /* max members + 1 */
@@ -54,13 +52,7 @@ static char **list (char *s)
}
if (!s || s[0] == '\0')
break;
members[i++] = s;
while (('\0' != *s) && (',' != *s)) {
s++;
}
if ('\0' != *s) {
*s++ = '\0';
}
members[i++] = strsep(&s, ",");
}
members[i] = NULL;
return members;
@@ -94,14 +86,9 @@ struct group *sgetgrent (const char *buf)
*cp = '\0';
}
for (cp = grpbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++) {
grpfields[i] = cp;
cp = strchr (cp, ':');
if (NULL != cp) {
*cp = '\0';
cp++;
}
}
for (cp = grpbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++)
grpfields[i] = strsep(&cp, ":");
if (i < (NFIELDS - 1) || *grpfields[2] == '\0' || cp != NULL) {
return NULL;
}

View File

@@ -12,9 +12,11 @@
#ident "$Id$"
#include <sys/types.h>
#include "defines.h"
#include <stdio.h>
#include <pwd.h>
#include <string.h>
#include "defines.h"
#include "prototypes.h"
#include "shadowlog_internal.h"
@@ -32,7 +34,8 @@
* performance reasons. I am going to come up with some conditional
* compilation glarp to improve on this in the future.
*/
struct passwd *sgetpwent (const char *buf)
struct passwd *
sgetpwent(const char *buf)
{
static struct passwd pwent;
static char pwdbuf[PASSWD_ENTRY_MAX_LENGTH];
@@ -58,19 +61,8 @@ struct passwd *sgetpwent (const char *buf)
* field. The fields are converted into NUL terminated strings.
*/
for (cp = pwdbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++) {
fields[i] = cp;
while (('\0' != *cp) && (':' != *cp)) {
cp++;
}
if ('\0' != *cp) {
*cp = '\0';
cp++;
} else {
cp = NULL;
}
}
for (cp = pwdbuf, i = 0; (i < NFIELDS) && (NULL != cp); i++)
fields[i] = strsep(&cp, ":");
/* something at the end, columns over shot */
if ( cp != NULL ) {

View File

@@ -14,17 +14,26 @@
#ident "$Id$"
#include <stddef.h>
#include <stdio.h>
#include <sys/types.h>
#include <string.h>
#include "atoi/str2i.h"
#include "prototypes.h"
#include "shadowlog_internal.h"
#include "defines.h"
#include <stdio.h>
#define FIELDS 9
#define OFIELDS 5
/*
* sgetspent - convert string in shadow file format to (struct spwd *)
*/
struct spwd *sgetspent (const char *string)
struct spwd *
sgetspent(const char *string)
{
static char spwbuf[PASSWD_ENTRY_MAX_LENGTH];
static struct spwd spwd;
@@ -41,7 +50,7 @@ struct spwd *sgetspent (const char *string)
fprintf (shadow_logfd,
"%s: Too long passwd entry encountered, file corruption?\n",
shadow_progname);
return 0; /* fail if too long */
return NULL; /* fail if too long */
}
strcpy (spwbuf, string);
@@ -57,9 +66,7 @@ struct spwd *sgetspent (const char *string)
for (cp = spwbuf, i = 0; ('\0' != *cp) && (i < FIELDS); i++) {
fields[i] = cp;
while (('\0' != *cp) && (':' != *cp)) {
cp++;
}
cp = strchrnul(cp, ':');
if ('\0' != *cp) {
*cp = '\0';
@@ -67,13 +74,12 @@ struct spwd *sgetspent (const char *string)
}
}
if (i == (FIELDS - 1)) {
fields[i++] = cp;
}
if (i == (FIELDS - 1))
fields[i++] = "";
if ( ((NULL != cp) && ('\0' != *cp)) ||
((i != FIELDS) && (i != OFIELDS)) ) {
return 0;
return NULL;
}
/*
@@ -92,9 +98,9 @@ struct spwd *sgetspent (const char *string)
if (fields[2][0] == '\0') {
spwd.sp_lstchg = -1;
} else if ( (getlong(fields[2], &spwd.sp_lstchg) == -1)
} else if ( (str2sl(&spwd.sp_lstchg, fields[2]) == -1)
|| (spwd.sp_lstchg < 0)) {
return 0;
return NULL;
}
/*
@@ -103,9 +109,9 @@ struct spwd *sgetspent (const char *string)
if (fields[3][0] == '\0') {
spwd.sp_min = -1;
} else if ( (getlong(fields[3], &spwd.sp_min) == -1)
} else if ( (str2sl(&spwd.sp_min, fields[3]) == -1)
|| (spwd.sp_min < 0)) {
return 0;
return NULL;
}
/*
@@ -114,9 +120,9 @@ struct spwd *sgetspent (const char *string)
if (fields[4][0] == '\0') {
spwd.sp_max = -1;
} else if ( (getlong(fields[4], &spwd.sp_max) == -1)
} else if ( (str2sl(&spwd.sp_max, fields[4]) == -1)
|| (spwd.sp_max < 0)) {
return 0;
return NULL;
}
/*
@@ -139,9 +145,9 @@ struct spwd *sgetspent (const char *string)
if (fields[5][0] == '\0') {
spwd.sp_warn = -1;
} else if ( (getlong(fields[5], &spwd.sp_warn) == -1)
} else if ( (str2sl(&spwd.sp_warn, fields[5]) == -1)
|| (spwd.sp_warn < 0)) {
return 0;
return NULL;
}
/*
@@ -151,9 +157,9 @@ struct spwd *sgetspent (const char *string)
if (fields[6][0] == '\0') {
spwd.sp_inact = -1;
} else if ( (getlong(fields[6], &spwd.sp_inact) == -1)
} else if ( (str2sl(&spwd.sp_inact, fields[6]) == -1)
|| (spwd.sp_inact < 0)) {
return 0;
return NULL;
}
/*
@@ -163,9 +169,9 @@ struct spwd *sgetspent (const char *string)
if (fields[7][0] == '\0') {
spwd.sp_expire = -1;
} else if ( (getlong(fields[7], &spwd.sp_expire) == -1)
} else if ( (str2sl(&spwd.sp_expire, fields[7]) == -1)
|| (spwd.sp_expire < 0)) {
return 0;
return NULL;
}
/*
@@ -175,8 +181,8 @@ struct spwd *sgetspent (const char *string)
if (fields[8][0] == '\0') {
spwd.sp_flag = SHADOW_SP_FLAG_UNSET;
} else if (getulong(fields[8], &spwd.sp_flag) == -1) {
return 0;
} else if (str2ul(&spwd.sp_flag, fields[8]) == -1) {
return NULL;
}
return (&spwd);
@@ -184,4 +190,3 @@ struct spwd *sgetspent (const char *string)
#else
extern int ISO_C_forbids_an_empty_translation_unit;
#endif

View File

@@ -18,54 +18,15 @@
#include "prototypes.h"
#include "defines.h"
#include <stdio.h>
#ifdef USE_NIS
static bool nis_used;
static bool nis_ignore;
static enum { native, start, middle, native2 } nis_state;
static bool nis_bound;
static char *nis_domain;
static char *nis_key;
static int nis_keylen;
static char *nis_val;
static int nis_vallen;
#define IS_NISCHAR(c) ((c)=='+')
#endif
#include "atoi/str2i.h"
static FILE *shadow;
#define FIELDS 9
#define OFIELDS 5
#ifdef USE_NIS
/*
* __setspNIS - turn on or off NIS searches
*/
void __setspNIS (bool flag)
{
nis_ignore = !flag;
if (nis_ignore) {
nis_used = false;
}
}
/*
* bind_nis - bind to NIS server
*/
static int bind_nis (void)
{
if (yp_get_default_domain (&nis_domain)) {
return -1;
}
nis_bound = true;
return 0;
}
#endif
/*
* setspent - initialize access to shadow text and DBM files
@@ -78,10 +39,6 @@ void setspent (void)
}else {
shadow = fopen (SHADOW_FILE, "r");
}
#ifdef USE_NIS
nis_state = native;
#endif
}
/*
@@ -150,11 +107,6 @@ static struct spwd *my_sgetspent (const char *string)
*/
spwd.sp_namp = fields[0];
#ifdef USE_NIS
if (IS_NISCHAR (fields[0][0])) {
nis_used = true;
}
#endif
spwd.sp_pwdp = fields[1];
/*
@@ -166,16 +118,10 @@ static struct spwd *my_sgetspent (const char *string)
if (fields[2][0] == '\0') {
spwd.sp_lstchg = -1;
} else {
if (getlong(fields[2], &spwd.sp_lstchg) == -1) {
#ifdef USE_NIS
if (nis_used) {
spwd.sp_lstchg = -1;
} else
#endif
return 0;
} else if (spwd.sp_lstchg < 0) {
if (str2sl(&spwd.sp_lstchg, fields[2]) == -1)
return 0;
if (spwd.sp_lstchg < 0)
return 0;
}
}
/*
@@ -185,18 +131,10 @@ static struct spwd *my_sgetspent (const char *string)
if (fields[3][0] == '\0') {
spwd.sp_min = -1;
} else {
if (getlong(fields[3], &spwd.sp_min) == -1) {
#ifdef USE_NIS
if (nis_used) {
spwd.sp_min = -1;
} else
#endif
{
return 0;
}
} else if (spwd.sp_min < 0) {
if (str2sl(&spwd.sp_min, fields[3]) == -1)
return 0;
if (spwd.sp_min < 0)
return 0;
}
}
/*
@@ -206,16 +144,10 @@ static struct spwd *my_sgetspent (const char *string)
if (fields[4][0] == '\0') {
spwd.sp_max = -1;
} else {
if (getlong(fields[4], &spwd.sp_max) == -1) {
#ifdef USE_NIS
if (nis_used) {
spwd.sp_max = -1;
} else
#endif
return 0;
} else if (spwd.sp_max < 0) {
if (str2sl(&spwd.sp_max, fields[4]) == -1)
return 0;
if (spwd.sp_max < 0)
return 0;
}
}
/*
@@ -239,18 +171,10 @@ static struct spwd *my_sgetspent (const char *string)
if (fields[5][0] == '\0') {
spwd.sp_warn = -1;
} else {
if (getlong(fields[5], &spwd.sp_warn) == -1) {
#ifdef USE_NIS
if (nis_used) {
spwd.sp_warn = -1;
} else
#endif
{
return 0;
}
} else if (spwd.sp_warn < 0) {
if (str2sl(&spwd.sp_warn, fields[5]) == -1)
return 0;
if (spwd.sp_warn < 0)
return 0;
}
}
/*
@@ -261,18 +185,10 @@ static struct spwd *my_sgetspent (const char *string)
if (fields[6][0] == '\0') {
spwd.sp_inact = -1;
} else {
if (getlong(fields[6], &spwd.sp_inact) == -1) {
#ifdef USE_NIS
if (nis_used) {
spwd.sp_inact = -1;
} else
#endif
{
return 0;
}
} else if (spwd.sp_inact < 0) {
if (str2sl(&spwd.sp_inact, fields[6]) == -1)
return 0;
if (spwd.sp_inact < 0)
return 0;
}
}
/*
@@ -283,18 +199,10 @@ static struct spwd *my_sgetspent (const char *string)
if (fields[7][0] == '\0') {
spwd.sp_expire = -1;
} else {
if (getlong(fields[7], &spwd.sp_expire) == -1) {
#ifdef USE_NIS
if (nis_used) {
spwd.sp_expire = -1;
} else
#endif
{
return 0;
}
} else if (spwd.sp_expire < 0) {
if (str2sl(&spwd.sp_expire, fields[7]) == -1)
return 0;
if (spwd.sp_expire < 0)
return 0;
}
}
/*
@@ -305,18 +213,10 @@ static struct spwd *my_sgetspent (const char *string)
if (fields[8][0] == '\0') {
spwd.sp_flag = SHADOW_SP_FLAG_UNSET;
} else {
if (getulong(fields[8], &spwd.sp_flag) == -1) {
#ifdef USE_NIS
if (nis_used) {
spwd.sp_flag = SHADOW_SP_FLAG_UNSET;
} else
#endif
{
return 0;
}
} else if (spwd.sp_flag < 0) {
if (str2ul(&spwd.sp_flag, fields[8]) == -1)
return 0;
if (spwd.sp_flag < 0)
return 0;
}
}
return (&spwd);
@@ -335,21 +235,12 @@ struct spwd *fgetspent (FILE * fp)
return (0);
}
#ifdef USE_NIS
while (fgets (buf, sizeof buf, fp) != NULL)
#else
if (fgets (buf, sizeof buf, fp) != NULL)
#endif
{
cp = strchr (buf, '\n');
if (NULL != cp) {
*cp = '\0';
}
#ifdef USE_NIS
if (nis_ignore && IS_NISCHAR (buf[0])) {
continue;
}
#endif
return my_sgetspent (buf);
}
return 0;
@@ -361,92 +252,10 @@ struct spwd *fgetspent (FILE * fp)
struct spwd *getspent (void)
{
#ifdef USE_NIS
int nis_1_user = 0;
struct spwd *val;
#endif
if (NULL == shadow) {
setspent ();
}
#ifdef USE_NIS
again:
/*
* See if we are reading from the local file.
*/
if (nis_state == native || nis_state == native2) {
/*
* Get the next entry from the shadow file. Return NULL
* right away if there is none.
*/
val = fgetspent (shadow);
if (NULL == val)
return 0;
/*
* If this entry began with a NIS escape character, we have
* to see if this is just a single user, or if the entire
* map is being asked for.
*/
if (IS_NISCHAR (val->sp_namp[0])) {
if (val->sp_namp[1])
nis_1_user = 1;
else
nis_state = start;
}
/*
* If this isn't a NIS user and this isn't an escape to go
* use a NIS map, it must be a regular local user.
*/
if (nis_1_user == 0 && nis_state != start)
return val;
/*
* If this is an escape to use an NIS map, switch over to
* that bunch of code.
*/
if (nis_state == start)
goto again;
/*
* NEEDSWORK. Here we substitute pieces-parts of this entry.
*/
return 0;
} else {
if (!nis_bound) {
if (bind_nis ()) {
nis_state = native2;
goto again;
}
}
if (nis_state == start) {
if (yp_first (nis_domain, "shadow.bynam", &nis_key,
&nis_keylen, &nis_val, &nis_vallen)) {
nis_state = native2;
goto again;
}
nis_state = middle;
} else if (nis_state == middle) {
if (yp_next (nis_domain, "shadow.bynam", nis_key,
nis_keylen, &nis_key, &nis_keylen,
&nis_val, &nis_vallen)) {
nis_state = native2;
goto again;
}
}
return my_sgetspent (nis_val);
}
#else
return (fgetspent (shadow));
#endif
}
/*
@@ -457,74 +266,16 @@ struct spwd *getspnam (const char *name)
{
struct spwd *sp;
#ifdef USE_NIS
static char save_name[16];
bool nis_disabled = false;
#endif
setspent ();
#ifdef USE_NIS
/*
* Search the shadow.byname map for this user.
*/
if (!nis_ignore && !nis_bound) {
bind_nis ();
}
if (!nis_ignore && nis_bound) {
char *cp;
if (yp_match (nis_domain, "shadow.byname", name,
strlen (name), &nis_val, &nis_vallen) == 0) {
cp = strchr (nis_val, '\n');
if (NULL != cp) {
*cp = '\0';
}
nis_state = middle;
sp = my_sgetspent (nis_val);
if (NULL != sp) {
strcpy (save_name, sp->sp_namp);
nis_key = save_name;
nis_keylen = strlen (save_name);
}
endspent ();
return sp;
} else {
nis_state = native2;
}
}
#endif
#ifdef USE_NIS
/*
* NEEDSWORK -- this is a mess, and it is the same mess in the
* other three files. I can't just blindly turn off NIS because
* this might be the first pass through the local files. In
* that case, I never discover that NIS is present.
*/
if (nis_used) {
nis_ignore = true;
nis_disabled = true;
}
#endif
while ((sp = getspent ()) != NULL) {
if (strcmp (name, sp->sp_namp) == 0) {
break;
}
}
#ifdef USE_NIS
if (nis_disabled) {
nis_ignore = false;
}
#endif
endspent ();
return (sp);
}
#else
extern int ISO_C_forbids_an_empty_translation_unit;
#endif

View File

@@ -15,10 +15,11 @@
#include "must_be.h"
#define WIDTHOF(x) (sizeof(x) * CHAR_BIT)
#define SIZEOF_ARRAY(a) (sizeof(a) + must_be_array(a))
#define NITEMS(a) (SIZEOF_ARRAY((a)) / sizeof((a)[0]))
#define STRLEN(s) (NITEMS(s) - 1)
#define memberof(T, member) ((T){}.member)
#define WIDTHOF(x) (sizeof(x) * CHAR_BIT)
#define SIZEOF_ARRAY(a) (sizeof(a) + must_be_array(a))
#define NITEMS(a) (SIZEOF_ARRAY((a)) / sizeof((a)[0]))
#define STRLEN(s) (NITEMS(s) - 1)
#endif // include guard

7
lib/string/strftime.c Normal file
View File

@@ -0,0 +1,7 @@
// SPDX-FileCopyrightText: 2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#include <config.h>
#include "strftime.h"

19
lib/string/strftime.h Normal file
View File

@@ -0,0 +1,19 @@
// SPDX-FileCopyrightText: 2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#ifndef SHADOW_INCLUDE_LIB_STRFTIME_H_
#define SHADOW_INCLUDE_LIB_STRFTIME_H_
#include <config.h>
#include <time.h>
#include "sizeof.h"
#define STRFTIME(dst, fmt, ...) strftime(dst, NITEMS(dst), fmt, __VA_ARGS__)
#endif // include guard

View File

@@ -1,17 +1,7 @@
/*
* SPDX-FileCopyrightText: 2022-2023, Alejandro Colomar <alx@kernel.org>
* SPDX-License-Identifier: BSD-3-Clause
*/
// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#include <config.h>
#include <stddef.h>
#ident "$Id$"
#include "string/zustr2stp.h"
extern inline char *zustr2stp(char *restrict dst, const char *restrict src,
size_t sz);

View File

@@ -1,79 +1,58 @@
/*
* SPDX-FileCopyrightText: 2022-2023, Alejandro Colomar <alx@kernel.org>
* SPDX-License-Identifier: BSD-3-Clause
*/
// SPDX-FileCopyrightText: 2022-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-License-Identifier: BSD-3-Clause
#ifndef SHADOW_INCLUDE_LIBMISC_ZUSTR2STP_H_
#define SHADOW_INCLUDE_LIBMISC_ZUSTR2STP_H_
#ifndef SHADOW_INCLUDE_LIB_STRING_ZUSTR2STP_H_
#define SHADOW_INCLUDE_LIB_STRING_ZUSTR2STP_H_
#include <config.h>
#include <assert.h>
#include <stddef.h>
#include <string.h>
#include "must_be.h"
#include "sizeof.h"
#define ZUSTR2STP(dst, src) \
({ \
static_assert(!is_array(dst) || sizeof(dst) > SIZEOF_ARRAY(src), ""); \
\
zustr2stp(dst, src, NITEMS(src)); \
})
inline char *zustr2stp(char *restrict dst, const char *restrict src, size_t sz);
/*
* SYNOPSIS
* char *zustr2stp(char *restrict dst,
* const char src[restrict .sz], size_t sz);
* char *ZUSTR2STP(char *restrict dst, const char src[restrict]);
*
* ARGUMENTS
* dst Destination buffer where to copy a string.
*
* src Source null-padded character sequence to be copied into
* dst.
*
* sz Size of the *source* buffer.
* dst Destination buffer.
* src Source null-padded character sequence.
*
* DESCRIPTION
* This function copies the null-padded character sequence pointed
* to by src, into a string at the buffer pointed to by dst.
* This macro copies at most NITEMS(src) non-null bytes from the
* array pointed to by src, followed by a null character, to the
* buffer pointed to by dst.
*
* RETURN VALUE
* dst + strlen(dst)
* This function returns a pointer to the terminating NUL
* byte.
*
* ERRORS
* This function doesn't set errno.
*
* CAVEATS
* This function doesn't know the size of the destination buffer.
* It assumes it will always be large enough. Since the size of
* the source buffer is known to the caller, it should make sure to
* allocate a destination buffer of at least `sz + 1`.
* allocate a destination buffer of at least `NITEMS(src) + 1`.
*
* EXAMPLES
* char src[13] = "Hello, world!" // No '\0' in this buffer!
* char dst[NITEMS(src) + 1];
* char hostname[NITEMS(utmp->ut_host) + 1];
*
* zustr2stp(dst, src, NITEMS(src));
* puts(dst);
* len = ZUSTR2STP(hostname, utmp->ut_host) - hostname;
* puts(hostname);
*/
inline char *
zustr2stp(char *restrict dst, const char *restrict src, size_t sz)
{
return stpcpy(mempcpy(dst, src, strnlen(src, sz)), "");
}
#define ZUSTR2STP(dst, src) \
({ \
static_assert(!is_array(dst) || sizeof(dst) > SIZEOF_ARRAY(src), ""); \
\
stpcpy(mempcpy(dst, src, strnlen(src, NITEMS(src))), ""); \
})
#endif // include guard

View File

@@ -13,9 +13,11 @@
#ident "$Id$"
#include "atoi/str2i.h"
#include "prototypes.h"
#include "getdate.h"
/*
* strtoday() now uses get_date() (borrowed from GNU shellutils)
* which can handle many date formats, for example:
@@ -62,16 +64,14 @@ long strtoday (const char *str)
}
if (isnum) {
long retdate;
if (getlong(str, &retdate) == -1) {
if (str2sl(&retdate, str) == -1)
return -2;
}
return retdate;
}
t = get_date (str, NULL);
t = get_date(str, NULL);
if ((time_t) - 1 == t) {
return -2;
}
/* convert seconds to days since 1970-01-01 */
return (t + DAY / 2) / DAY;
return t / DAY;
}

View File

@@ -16,8 +16,10 @@
#include <pwd.h>
#include <ctype.h>
#include <fcntl.h>
#include <string.h>
#include "alloc.h"
#include "atoi/str2i.h"
#include "string/sprintf.h"
@@ -74,7 +76,8 @@ subordinate_free(/*@only@*/void *ent)
* in @line, or NULL on failure. Note that the returned value should not
* be freed by the caller.
*/
static void *subordinate_parse (const char *line)
static void *
subordinate_parse(const char *line)
{
static struct subordinate_range range;
static char rangebuf[1024];
@@ -95,19 +98,8 @@ static void *subordinate_parse (const char *line)
* field. The fields are converted into NUL terminated strings.
*/
for (cp = rangebuf, i = 0; (i < SUBID_NFIELDS) && (NULL != cp); i++) {
fields[i] = cp;
while (('\0' != *cp) && (':' != *cp)) {
cp++;
}
if ('\0' != *cp) {
*cp = '\0';
cp++;
} else {
cp = NULL;
}
}
for (cp = rangebuf, i = 0; (i < SUBID_NFIELDS) && (NULL != cp); i++)
fields[i] = strsep(&cp, ":");
/*
* There must be exactly SUBID_NFIELDS colon separated fields or
@@ -116,9 +108,9 @@ static void *subordinate_parse (const char *line)
if (i != SUBID_NFIELDS || *fields[0] == '\0' || *fields[1] == '\0' || *fields[2] == '\0')
return NULL;
range.owner = fields[0];
if (getulong(fields[1], &range.start) == -1)
if (str2ul(&range.start, fields[1]) == -1)
return NULL;
if (getulong(fields[2], &range.count) == -1)
if (str2ul(&range.count, fields[2]) == -1)
return NULL;
return &range;

11
lib/time/day_to_str.c Normal file
View File

@@ -0,0 +1,11 @@
// SPDX-FileCopyrightText: 2021-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-FileCopyrightText: 2024, Tobias Stoeckmann <tobias@stoeckmann.org>
// SPDX-License-Identifier: BSD-3-Clause
#include <config.h>
#include "time/day_to_str.h"
extern inline void day_to_str(size_t size, char buf[size], long day);

51
lib/time/day_to_str.h Normal file
View File

@@ -0,0 +1,51 @@
// SPDX-FileCopyrightText: 2021-2024, Alejandro Colomar <alx@kernel.org>
// SPDX-FileCopyrightText: 2024, Tobias Stoeckmann <tobias@stoeckmann.org>
// SPDX-License-Identifier: BSD-3-Clause
#ifndef SHADOW_INCLUDE_LIB_TIME_DAY_TO_STR_H_
#define SHADOW_INCLUDE_LIB_TIME_DAY_TO_STR_H_
#include <config.h>
#include <time.h>
#include "defines.h"
#include "sizeof.h"
#include "string/strtcpy.h"
#define DAY_TO_STR(str, day) day_to_str(NITEMS(str), str, day)
inline void day_to_str(size_t size, char buf[size], long day);
inline void
day_to_str(size_t size, char buf[size], long day)
{
time_t date;
struct tm tm;
if (day < 0) {
strtcpy(buf, "never", size);
return;
}
if (__builtin_mul_overflow(day, DAY, &date)) {
strtcpy(buf, "future", size);
return;
}
if (gmtime_r(&date, &tm) == NULL) {
strtcpy(buf, "future", size);
return;
}
if (strftime(buf, size, "%Y-%m-%d", &tm) == 0)
strtcpy(buf, "future", size);
}
#endif // include guard

View File

@@ -51,13 +51,15 @@ int user_busy (const char *name, uid_t uid)
#endif /* !__linux__ */
}
#ifndef __linux__
static int user_busy_utmp (const char *name)
{
struct utmp *utent;
setutent ();
while ((utent = getutent ()) != NULL)
#ifndef __linux__
static int
user_busy_utmp(const char *name)
{
struct utmpx *utent;
setutxent();
while ((utent = getutxent()) != NULL)
{
if (utent->ut_type != USER_PROCESS) {
continue;
@@ -79,6 +81,7 @@ static int user_busy_utmp (const char *name)
}
#endif /* !__linux__ */
#ifdef __linux__
#ifdef ENABLE_SUBIDS
#define in_parentuid_range(uid) ((uid) >= parentuid && (uid) < parentuid + range)

View File

@@ -13,7 +13,7 @@
#include "prototypes.h"
#include "getdef.h"
#include <utmp.h>
#include <utmpx.h>
#include <assert.h>
#include <sys/param.h>
#include <sys/types.h>
@@ -31,19 +31,23 @@
#ident "$Id$"
#define UTX_LINESIZE NITEMS(memberof(struct utmpx, ut_line))
/*
* is_my_tty -- determine if "tty" is the same TTY stdin is using
*/
static bool is_my_tty (const char tty[UT_LINESIZE])
static bool
is_my_tty(const char tty[UTX_LINESIZE])
{
char full_tty[STRLEN("/dev/") + UT_LINESIZE + 1];
char full_tty[STRLEN("/dev/") + UTX_LINESIZE + 1];
/* tmptty shall be bigger than full_tty */
static char tmptty[sizeof(full_tty) + 1];
full_tty[0] = '\0';
if (tty[0] != '/')
strcpy (full_tty, "/dev/");
strncat (full_tty, tty, UT_LINESIZE);
strncat(full_tty, tty, UTX_LINESIZE);
if ('\0' == tmptty[0]) {
const char *tname = ttyname (STDIN_FILENO);
@@ -59,13 +63,15 @@ static bool is_my_tty (const char tty[UT_LINESIZE])
return strcmp (full_tty, tmptty) == 0;
}
/*
* failtmp - update the cumulative failure log
*
* failtmp updates the (struct utmp) formatted failure log which
* failtmp updates the (struct utmpx) formatted failure log which
* maintains a record of all login failures.
*/
static void failtmp (const char *username, const struct utmp *failent)
static void
failtmp(const char *username, const struct utmpx *failent)
{
const char *ftmp;
int fd;
@@ -121,6 +127,7 @@ err_close:
username, ftmp));
}
/*
* get_current_utmp - return the most probable utmp entry for the current
* session
@@ -129,57 +136,57 @@ err_close:
* The line entered by the *getty / telnetd, etc. should also match
* the current terminal.
*
* When an entry is returned by get_current_utmp, and if the utmp
* When an entry is returned by get_current_utmp, and if the utmpx
* structure has a ut_id field, this field should be used to update
* the entry information.
*
* Return NULL if no entries exist in utmp for the current process.
*/
static
/*@null@*/ /*@only@*/struct utmp *get_current_utmp (void)
static /*@null@*/ /*@only@*/struct utmpx *
get_current_utmp(void)
{
struct utmp *ut;
struct utmp *ret = NULL;
struct utmpx *ut;
struct utmpx *ret = NULL;
setutent ();
setutxent();
/* First, try to find a valid utmp entry for this process. */
while ((ut = getutent ()) != NULL) {
while ((ut = getutxent()) != NULL) {
if ( (ut->ut_pid == getpid ())
#ifdef HAVE_STRUCT_UTMP_UT_ID
&& ('\0' != ut->ut_id[0])
#endif
#ifdef HAVE_STRUCT_UTMP_UT_TYPE
&& ( (LOGIN_PROCESS == ut->ut_type)
|| (USER_PROCESS == ut->ut_type))
#endif
/* A process may have failed to close an entry
* Check if this entry refers to the current tty */
&& is_my_tty (ut->ut_line)) {
&& is_my_tty(ut->ut_line))
{
break;
}
}
if (NULL != ut) {
ret = XMALLOC(1, struct utmp);
ret = XMALLOC(1, struct utmpx);
memcpy (ret, ut, sizeof (*ret));
}
endutent ();
endutxent();
return ret;
}
int get_session_host (char **out)
int
get_session_host(char **out)
{
char *hostname = NULL;
struct utmp *ut = NULL;
int ret = 0;
int ret = 0;
struct utmpx *ut;
ut = get_current_utmp();
#ifdef HAVE_STRUCT_UTMP_UT_HOST
#if defined(HAVE_STRUCT_UTMPX_UT_HOST)
if ((ut != NULL) && (ut->ut_host[0] != '\0')) {
char *hostname;
hostname = XMALLOC(sizeof(ut->ut_host) + 1, char);
ZUSTR2STP(hostname, ut->ut_host);
*out = hostname;
@@ -191,18 +198,19 @@ int get_session_host (char **out)
#else
*out = NULL;
ret = -2;
#endif /* HAVE_STRUCT_UTMP_UT_HOST */
#endif
return ret;
}
#ifndef USE_PAM
#if !defined(USE_PAM) && !defined(HAVE_UPDWTMPX)
/*
* Some systems already have updwtmp() and possibly updwtmpx(). Others
* Some systems already have updwtmpx(). Others
* don't, so we re-implement these functions if necessary.
*/
#ifndef HAVE_UPDWTMP
static void updwtmp (const char *filename, const struct utmp *ut)
static void
updwtmpx(const char *filename, const struct utmpx *ut)
{
int fd;
@@ -212,9 +220,7 @@ static void updwtmp (const char *filename, const struct utmp *ut)
close (fd);
}
}
#endif /* ! HAVE_UPDWTMP */
#endif /* ! USE_PAM */
#endif
/*
@@ -235,15 +241,13 @@ static void updwtmp (const char *filename, const struct utmp *ut)
*
* The returned structure shall be freed by the caller.
*/
static
/*@only@*/struct utmp *prepare_utmp (const char *name,
const char *line,
const char *host,
/*@null@*/const struct utmp *ut)
static /*@only@*/struct utmpx *
prepare_utmp(const char *name, const char *line, const char *host,
/*@null@*/const struct utmpx *ut)
{
struct timeval tv;
char *hostname = NULL;
struct utmp *utent;
char *hostname = NULL;
struct utmpx *utent;
struct timeval tv;
assert (NULL != name);
assert (NULL != line);
@@ -254,12 +258,12 @@ static
&& ('\0' != host[0])) {
hostname = XMALLOC(strlen(host) + 1, char);
strcpy (hostname, host);
#ifdef HAVE_STRUCT_UTMP_UT_HOST
#if defined(HAVE_STRUCT_UTMPX_UT_HOST)
} else if ( (NULL != ut)
&& ('\0' != ut->ut_host[0])) {
hostname = XMALLOC(NITEMS(ut->ut_host) + 1, char);
ZUSTR2STP(hostname, ut->ut_host);
#endif /* HAVE_STRUCT_UTMP_UT_HOST */
#endif
}
if (strncmp(line, "/dev/", 5) == 0) {
@@ -267,38 +271,32 @@ static
}
utent = XCALLOC (1, struct utmp);
utent = XCALLOC(1, struct utmpx);
#ifdef HAVE_STRUCT_UTMP_UT_TYPE
utent->ut_type = USER_PROCESS;
#endif /* HAVE_STRUCT_UTMP_UT_TYPE */
utent->ut_pid = getpid ();
STRNCPY(utent->ut_line, line);
#ifdef HAVE_STRUCT_UTMP_UT_ID
if (NULL != ut) {
STRNCPY(utent->ut_id, ut->ut_id);
} else {
/* XXX - assumes /dev/tty?? */
STRNCPY(utent->ut_id, line + 3);
}
#endif /* HAVE_STRUCT_UTMP_UT_ID */
#ifdef HAVE_STRUCT_UTMP_UT_NAME
#if defined(HAVE_STRUCT_UTMPX_UT_NAME)
STRNCPY(utent->ut_name, name);
#endif /* HAVE_STRUCT_UTMP_UT_NAME */
#ifdef HAVE_STRUCT_UTMP_UT_USER
#endif
STRNCPY(utent->ut_user, name);
#endif /* HAVE_STRUCT_UTMP_UT_USER */
if (NULL != hostname) {
struct addrinfo *info = NULL;
#ifdef HAVE_STRUCT_UTMP_UT_HOST
#if defined(HAVE_STRUCT_UTMPX_UT_HOST)
STRNCPY(utent->ut_host, hostname);
#endif /* HAVE_STRUCT_UTMP_UT_HOST */
#ifdef HAVE_STRUCT_UTMP_UT_SYSLEN
#endif
#if defined(HAVE_STRUCT_UTMPX_UT_SYSLEN)
utent->ut_syslen = MIN (strlen (hostname),
sizeof (utent->ut_host));
#endif /* HAVE_STRUCT_UTMP_UT_SYSLEN */
#if defined(HAVE_STRUCT_UTMP_UT_ADDR) || defined(HAVE_STRUCT_UTMP_UT_ADDR_V6)
#endif
#if defined(HAVE_STRUCT_UTMPX_UT_ADDR) || defined(HAVE_STRUCT_UTMPX_UT_ADDR_V6)
if (getaddrinfo (hostname, NULL, NULL, &info) == 0) {
/* getaddrinfo might not be reliable.
* Just try to log what may be useful.
@@ -306,13 +304,13 @@ static
if (info->ai_family == AF_INET) {
struct sockaddr_in *sa =
(struct sockaddr_in *) info->ai_addr;
#ifdef HAVE_STRUCT_UTMP_UT_ADDR
# if defined(HAVE_STRUCT_UTMPX_UT_ADDR)
memcpy (&(utent->ut_addr),
&(sa->sin_addr),
MIN (sizeof (utent->ut_addr),
sizeof (sa->sin_addr)));
#endif /* HAVE_STRUCT_UTMP_UT_ADDR */
#ifdef HAVE_STRUCT_UTMP_UT_ADDR_V6
# endif
# if defined(HAVE_STRUCT_UTMPX_UT_ADDR_V6)
memcpy (utent->ut_addr_v6,
&(sa->sin_addr),
MIN (sizeof (utent->ut_addr_v6),
@@ -324,61 +322,61 @@ static
&(sa->sin6_addr),
MIN (sizeof (utent->ut_addr_v6),
sizeof (sa->sin6_addr)));
#endif /* HAVE_STRUCT_UTMP_UT_ADDR_V6 */
# endif
}
freeaddrinfo (info);
}
#endif /* HAVE_STRUCT_UTMP_UT_ADDR || HAVE_STRUCT_UTMP_UT_ADDR_V6 */
#endif
free (hostname);
}
/* ut_exit is only for DEAD_PROCESS */
utent->ut_session = getsid (0);
if (gettimeofday (&tv, NULL) == 0) {
#ifdef HAVE_STRUCT_UTMP_UT_TIME
#if defined(HAVE_STRUCT_UTMPX_UT_TIME)
utent->ut_time = tv.tv_sec;
#endif /* HAVE_STRUCT_UTMP_UT_TIME */
#ifdef HAVE_STRUCT_UTMP_UT_XTIME
#endif
#if defined(HAVE_STRUCT_UTMPX_UT_XTIME)
utent->ut_xtime = tv.tv_usec;
#endif /* HAVE_STRUCT_UTMP_UT_XTIME */
#ifdef HAVE_STRUCT_UTMP_UT_TV
#endif
utent->ut_tv.tv_sec = tv.tv_sec;
utent->ut_tv.tv_usec = tv.tv_usec;
#endif /* HAVE_STRUCT_UTMP_UT_TV */
}
return utent;
}
/*
* setutmp - Update an entry in utmp and log an entry in wtmp
*
* Return 1 on failure and 0 on success.
*/
static int setutmp (struct utmp *ut)
static int
setutmp(struct utmpx *ut)
{
int err = 0;
assert (NULL != ut);
setutent ();
if (pututline (ut) == NULL) {
setutxent();
if (pututxline(ut) == NULL) {
err = 1;
}
endutent ();
endutxent();
#ifndef USE_PAM
#if !defined(USE_PAM)
/* This is done by pam_lastlog */
updwtmp (_WTMP_FILE, ut);
#endif /* ! USE_PAM */
updwtmpx(_WTMP_FILE, ut);
#endif
return err;
}
int update_utmp (const char *user,
const char *tty,
const char *host)
int
update_utmp(const char *user, const char *tty, const char *host)
{
struct utmp *utent, *ut;
struct utmpx *utent, *ut;
utent = get_current_utmp ();
ut = prepare_utmp (user, tty, host, utent);
@@ -391,11 +389,11 @@ int update_utmp (const char *user,
return 0;
}
void record_failure(const char *failent_user,
const char *tty,
const char *hostname)
void
record_failure(const char *failent_user, const char *tty, const char *hostname)
{
struct utmp *utent, *failent;
struct utmpx *utent, *failent;
if (getdef_str ("FTMP_FILE") != NULL) {
utent = get_current_utmp ();
@@ -406,13 +404,15 @@ void record_failure(const char *failent_user,
}
}
unsigned long active_sessions_count(const char *name, unsigned long limit)
{
struct utmp *ut;
unsigned long count = 0;
setutent ();
while ((ut = getutent ()))
unsigned long
active_sessions_count(const char *name, unsigned long limit)
{
struct utmpx *ut;
unsigned long count = 0;
setutxent();
while ((ut = getutxent()))
{
if (USER_PROCESS != ut->ut_type) {
continue;
@@ -428,7 +428,7 @@ unsigned long active_sessions_count(const char *name, unsigned long limit)
break;
}
}
endutent ();
endutxent();
return count;
}

3
man/.gitignore vendored
View File

@@ -4,5 +4,8 @@ generate_mans.deps
*.[0-9]
# translation symlinks
/*/login.defs.d
/po/POTFILES
/po/stamp-po

View File

@@ -198,6 +198,7 @@ login_defs_v = \
EXTRA_DIST = \
$(man_MANS) \
$(man_XMANS) \
config.xml \
$(addprefix login.defs.d/,$(login_defs_v)) \
man1/id.1 \
id.1.xml \

View File

@@ -211,8 +211,8 @@
to hang as it processes entries with UIDs 171-799).
</para>
<para>
Having high UIDs can create problems when handling the <term><filename>
/var/log/lastlog</filename></term> with external tools. Although the
Having high UIDs can create problems when handling the <filename>
/var/log/lastlog</filename> with external tools. Although the
actual file is sparse and does not use too much space, certain
applications are not designed to identify sparse files by default and may
require a specific option to handle them.

View File

@@ -120,8 +120,8 @@
Instead of an integer process id, the first argument may be
specified as <replaceable>fd:N</replaceable>, where the integer N
is the file descriptor number for the calling process's opened
file for <filename>/proc/[pid[</filename>. In this case,
<command>newgidmap</command> will use
file descriptor for the directory <filename>/proc/[pid]</filename>.
In this case, <command>newgidmap</command> will use
<refentrytitle>openat</refentrytitle><manvolnum>2</manvolnum>
to open the <filename>gid_map</filename> file under that
directory, avoiding a TOCTTOU in case the process exits and

View File

@@ -120,8 +120,8 @@
Instead of an integer process id, the first argument may be
specified as <replaceable>fd:N</replaceable>, where the integer N
is the file descriptor number for the calling process's opened
file for <filename>/proc/[pid[</filename>. In this case,
<command>newuidmap</command> will use
file descriptor for the directory <filename>/proc/[pid]</filename>.
In this case, <command>newuidmap</command> will use
<refentrytitle>openat</refentrytitle><manvolnum>2</manvolnum>
to open the <filename>uid_map</filename> file under that
directory, avoiding a TOCTTOU in case the process exits and

View File

@@ -86,37 +86,38 @@ stamp-po: $(srcdir)/$(DOMAIN).pot
# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
# TODO: set MSGID_BUGS_ADDRESS, COPYRIGHT_HOLDER
$(DOMAIN).pot-update: $(XMLFILES) $(srcdir)/XMLFILES remove-potcdate.sed
@set -e; tmpdir=`pwd`; \
echo "cd $(top_srcdir)/man"; \
$(DOMAIN).pot-update: $(XMLFILES) $(srcdir)/XMLFILES
@set -ex; tmpdir=`mktemp -d`; \
origdir=`pwd`; \
cd $(top_srcdir)/man; \
cp *.xml $$tmpdir/; \
files=""; \
for file in $(notdir $(XMLFILES)); do \
base=`basename $$file`; \
outfile=$$tmpdir/$$base.out; \
if grep -q SHADOW-CONFIG-HERE $$file ; then \
sed -e 's/^<!-- SHADOW-CONFIG-HERE -->/<!ENTITY % config SYSTEM "config.xml">%config;/' $$file > $$file.out; \
sed -e 's/^<!-- SHADOW-CONFIG-HERE -->/<!ENTITY % config SYSTEM "config.xml">%config;/' $$file > $$outfile; \
else \
sed -e 's/^\(<!DOCTYPE .*docbookx.dtd"\)>/\1 [<!ENTITY % config SYSTEM "config.xml">%config;]>/' $$file > $$file.out; \
sed -e 's/^\(<!DOCTYPE .*docbookx.dtd"\)>/\1 [<!ENTITY % config SYSTEM "config.xml">%config;]>/' $$file > $$outfile; \
fi; \
files="$$files $$file.out"; \
files="$$files $$outfile"; \
done; \
itstool -d -o $$tmpdir/$(DOMAIN).po $$files; \
cd $$tmpdir; \
test ! -f $(DOMAIN).po || { \
sed -i '1i \
# To re-generate, run "cd man/po; make update-po"' $$tmpdir/$(DOMAIN).po; \
cd $$origdir; \
test ! -f $$tmpdir/$(DOMAIN).po || { \
if test -f $(srcdir)/$(DOMAIN).pot; then \
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
else \
rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $$tmpdir/$(DOMAIN).1po && \
sed -f remove-potcdate.sed < $$tmpdir/$(DOMAIN).po > $$tmpdir/$(DOMAIN).2po && \
if ! cmp $$tmpdir/$(DOMAIN).1po $$tmpdir/$(DOMAIN).2po >/dev/null 2>&1; then \
rm -f $(srcdir)/$(DOMAIN).pot && \
mv $$tmpdir/$(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
fi; \
else \
mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
mv $$tmpdir/$(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
fi; \
sed -i '1i \
# To re-generate, run "cd man/po; make update-po"' $(srcdir)/$(DOMAIN).pot; \
}
} ; rm -rf $$tmpdir
# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
# every "make" invocation, only create it when it is missing.
@@ -214,26 +215,25 @@ update-po: Makefile
.nop.po-update:
@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
tmpdir=`pwd`; \
ptmpdir=`mktemp -d`; \
echo "$$lang:"; \
test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
cd $(srcdir); \
if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
rm -f $$tmpdir/$$lang.new.po; \
else \
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$ptmpdir/$$lang.new.po; then \
sed -f remove-potcdate.sed < $$lang.po > $$ptmpdir/$$lang.1po; \
sed -f remove-potcdate.sed < $$ptmpdir/$$lang.new.po > $$ptmpdir/$$lang.new.1po; \
if ! cmp $$ptmpdir/$$lang.1po $$ptmpdir/$$lang.new.1po >/dev/null 2>&1; then \
if mv -f $$ptmpdir/$$lang.new.po $$lang.po; then \
:; \
else \
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
echo "msgmerge for $$lang.po failed: cannot move $$ptmpdir/$$lang.new.po to $$lang.po" 1>&2; \
exit 1; \
fi; \
fi; \
else \
echo "msgmerge for $$lang.po failed!" 1>&2; \
rm -f $$tmpdir/$$lang.new.po; \
fi
fi ; rm -rf $$ptmpdir
$(DUMMYPOFILES):

17725
man/po/da.po

File diff suppressed because it is too large Load Diff

23864
man/po/de.po

File diff suppressed because it is too large Load Diff

25371
man/po/fr.po

File diff suppressed because it is too large Load Diff

26459
man/po/it.po

File diff suppressed because it is too large Load Diff

21333
man/po/pl.po

File diff suppressed because it is too large Load Diff

26926
man/po/ru.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

20368
man/po/sv.po

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -295,6 +295,11 @@
<filename>/etc/default/useradd</filename> or, by default,
<filename>/etc/skel</filename>.
</para>
<para>
Absolute symlinks that link back to the skel directory will have
the <filename>/etc/skel</filename> prefix replaced with the user's
home directory.
</para>
<para>
If possible, the ACLs and extended attributes are copied.
</para>
@@ -722,7 +727,7 @@
the <command>ls</command> output.
</para>
<para>
Usernames may only be up to 32 characters long.
Usernames may only be up to 256 characters long.
</para>
</refsect1>

View File

@@ -13,7 +13,6 @@ lib/cleanup_user.c
lib/commonio.c
lib/console.c
lib/copydir.c
lib/date_to_str.c
lib/encrypt.c
lib/env.c
lib/failure.c
@@ -26,7 +25,6 @@ lib/fputsx.c
lib/get_gid.c
lib/get_uid.c
lib/getdef.c
lib/getlong.c
lib/getgr_nam_gid.c
lib/getrange.c
lib/groupio.c

610
po/bs.po
View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2004-05-09 12:03+0100\n"
"Last-Translator: Safir Šećerović <sapphire@linux.org.ba>\n"
"Language-Team: Bosnian <lokal@lugbih.org>\n"
@@ -17,218 +17,6 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr ""
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "Password: "
msgstr "Šifra:"
#, c-format
msgid "%s's Password: "
msgstr "%s's Šifra: "
msgid "Cannot open audit interface.\n"
msgstr ""
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, c-format
msgid "Could not set serange for %s\n"
msgstr ""
#, c-format
msgid "Could not set sename for %s\n"
msgstr ""
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr ""
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: nepoznat član %s\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: nepoznat član %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "%s: out of memory\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: nepoznat član %s\n"
#, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: nepoznat član %s\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: grupa %s postoji\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: nepoznat član %s\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr ""
@@ -275,6 +63,11 @@ msgstr ""
msgid "%s: failed to unlock %s\n"
msgstr ""
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, c-format
msgid "%s: "
msgstr ""
@@ -282,6 +75,10 @@ msgstr ""
msgid ": "
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
msgid "Environment overflow\n"
msgstr ""
@@ -378,7 +175,14 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr ""
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr ""
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
#, fuzzy, c-format
@@ -406,9 +210,9 @@ msgstr ""
msgid "%s: Could not set caps\n"
msgstr "%s: nepoznat član %s\n"
#, c-format
msgid "%s: snprintf failed!\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: stpeprintf failed!\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: open of %s failed: %s\n"
@@ -418,9 +222,19 @@ msgstr "nepoznata grupa: %s\n"
msgid "%s: write to %s failed: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: closing %s failed: %s\n"
msgstr "nepoznata grupa: %s\n"
msgid "Too many logins.\n"
msgstr "Previše prijavljivanja.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
msgid "You have new mail."
msgstr "Imate novu poštu."
@@ -430,6 +244,14 @@ msgstr "Nema pošte."
msgid "You have mail."
msgstr "Imate poštu."
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "no change"
msgstr ""
@@ -442,9 +264,6 @@ msgstr ""
msgid "too similar"
msgstr ""
msgid "too simple"
msgstr ""
msgid "rotated"
msgstr ""
@@ -488,6 +307,13 @@ msgid ""
"%s\n"
msgstr ""
msgid "Password: "
msgstr "Šifra:"
#, c-format
msgid "%s's Password: "
msgstr "%s's Šifra: "
#, fuzzy, c-format
msgid "Incorrect password for %s.\n"
msgstr "Mijenjam šifru za grupu %s\n"
@@ -512,17 +338,13 @@ msgstr "nepoznata grupa: %s\n"
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, c-format
msgid ""
@@ -537,6 +359,105 @@ msgid ""
"method.\n"
msgstr ""
msgid "Cannot open audit interface.\n"
msgstr ""
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set serange for %s to %s\n"
msgstr "nepoznata grupa: %s\n"
#, c-format
msgid "Could not set sename for %s\n"
msgstr ""
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr ""
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: nepoznat član %s\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: nepoznat član %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "Unable to cd to '%s'\n"
msgstr ""
@@ -548,6 +469,10 @@ msgstr ""
msgid "Cannot execute %s"
msgstr ""
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, c-format
msgid "Invalid root directory '%s'\n"
msgstr ""
@@ -556,6 +481,84 @@ msgstr ""
msgid "Can't change root directory to '%s'\n"
msgstr ""
#, c-format
msgid "%s: out of memory\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: nepoznat član %s\n"
#, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: nepoznat član %s\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: grupa %s postoji\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: nepoznat član %s\n"
#, fuzzy, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: grupa %s postoji\n"
@@ -613,6 +616,9 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr ""
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr ""
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -638,13 +644,16 @@ msgstr "Šifra neaktivna"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Datum isteka računa (GGGG-MM-DD)"
msgid "Last password change\t\t\t\t\t: "
msgstr ""
#, fuzzy
msgid "never"
msgstr "Nikad"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr ""
msgid "password must be changed"
msgstr ""
@@ -850,6 +859,10 @@ msgid ""
" or YESCRYPT crypt algorithms\n"
msgstr ""
#, c-format
msgid "%s: no crypt method defined\n"
msgstr ""
#, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr ""
@@ -900,6 +913,14 @@ msgstr ""
msgid "Login Shell"
msgstr ""
#, fuzzy, c-format
msgid "Cannot parse shell files: %s"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "Cannot evaluate entries in shell files: %s"
msgstr "nepoznata grupa: %s\n"
#, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr ""
@@ -912,6 +933,10 @@ msgstr ""
msgid "%s: Invalid entry: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s: grupa %s postoji\n"
#, fuzzy, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s: grupa %s postoji\n"
@@ -1120,9 +1145,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
@@ -1134,6 +1156,10 @@ msgstr ""
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: grupa %s postoji\n"
#, fuzzy, c-format
msgid "%s: cannot open %s: %s\n"
msgstr "%s: nepoznat član %s\n"
#, fuzzy, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "nepoznata grupa: %s\n"
@@ -1378,7 +1404,7 @@ msgid ""
msgstr ""
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr ""
@@ -1467,9 +1493,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr ""
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr ""
#, c-format
msgid ""
"\n"
@@ -1501,12 +1524,6 @@ msgstr ""
msgid "Cannot find user (%s)\n"
msgstr "%s: nepoznat član %s\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
#, c-format
msgid "%s: failure forking: %s"
msgstr ""
@@ -1540,7 +1557,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1564,17 +1582,13 @@ msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Could not open proc directory for target %u\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "nepoznata grupa: %s\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1608,14 +1622,13 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Could not stat directory for target process\n"
msgstr "nepoznata grupa: %s\n"
msgid " -b, --badname allow bad names\n"
msgstr ""
@@ -1635,6 +1648,10 @@ msgstr ""
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr ""
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr ""
@@ -1655,6 +1672,10 @@ msgstr "nepoznata grupa: %s\n"
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: grupa %s postoji\n"
#, fuzzy, c-format
msgid "%s: line %d: %s\n"
msgstr "nepoznata grupa: %s\n"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr ""
@@ -1675,14 +1696,14 @@ msgstr "nepoznata grupa: %s\n"
msgid "%s: line %d: can't update entry\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "nepoznata grupa: %s\n"
#, c-format
msgid "%s: can't find subordinate user range\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "nepoznata grupa: %s\n"
@@ -1741,6 +1762,9 @@ msgid ""
" change to MAX_DAYS\n"
msgstr ""
msgid " -s, --stdin read new token from stdin\n"
msgstr ""
msgid "Old password: "
msgstr "Stara šifra:"
@@ -1756,6 +1780,10 @@ msgid ""
"Please use a combination of upper and lower case letters and numbers.\n"
msgstr ""
#, fuzzy
msgid "Password is too long.\n"
msgstr "Vaša šifra je istekla."
msgid "New password: "
msgstr "Nova šifra:"
@@ -1795,6 +1823,10 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr ""
#, c-format
msgid "%s: only root can use --stdin/-s option\n"
msgstr ""
#, c-format
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
msgstr ""
@@ -1938,11 +1970,9 @@ msgstr ""
msgid "Session terminated, terminating shell..."
msgstr ""
#, c-format
msgid " ...killed.\n"
msgstr ""
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr ""
@@ -2002,6 +2032,10 @@ msgstr ""
msgid "No passwd entry for user '%s'\n"
msgstr ""
#, c-format
msgid "Overlong user name '%s'\n"
msgstr ""
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr ""
@@ -2045,6 +2079,12 @@ msgstr ""
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr ""
#, c-format
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot create new defaults file: %s\n"
msgstr "nepoznata grupa: %s\n"
@@ -2126,6 +2166,11 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2181,6 +2226,11 @@ msgid ""
"mapping\n"
msgstr ""
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
#, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr ""
@@ -2307,6 +2357,12 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr ""
msgid "Synchronize mailbox file"
msgstr ""
msgid "Closing mailbox file"
msgstr ""
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2520,6 +2576,10 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2592,14 +2652,28 @@ msgstr ""
msgid "%s: cannot rename directory %s to %s\n"
msgstr ""
#, c-format
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr "nepoznata grupa: %s\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr "nepoznata grupa: %s\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr ""
@@ -2695,7 +2769,7 @@ msgstr ""
msgid "failed to stat edited file"
msgstr ""
msgid "failed to allocate memory"
msgid "asprintf(3) failed"
msgstr ""
msgid "failed to create backup file"
@@ -2709,14 +2783,14 @@ msgstr ""
msgid "%s: failed to find tcb directory for %s\n"
msgstr ""
#, fuzzy, c-format
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "nepoznata grupa: %s\n"
#, fuzzy, c-format
#~ msgid "%s: password expiry information changed.\n"
#~ msgstr "Upozorenje o isteku šifre"
#, fuzzy
#~ msgid "Password set to expire."
#~ msgstr "Vaša šifra je istekla."
#, fuzzy
#~ msgid "\tRoom Number: %s\n"
#~ msgstr "Broj sobe"

702
po/ca.po

File diff suppressed because it is too large Load Diff

712
po/cs.po

File diff suppressed because it is too large Load Diff

690
po/da.po
View File

@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2012-01-26 23:57+0100\n"
"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
@@ -30,226 +30,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
"Flere punkter med navnet »%s« i %s. Ret venligst dette med pwck eller "
"grpck.\n"
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "cryptmetode er ikke understøttet af libcrypt? (%s)\n"
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr "konfigurationsfejl - kan ikke fortolke %s-værdi: »%s«"
msgid "Could not allocate space for config info.\n"
msgstr "Kunne ikke frigøre plads til opsætningsoplysninger.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "opsætningsfejl - ukendt punkt »%s« (informer administrator)\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr "%s: nscd afsluttedes ikke normalt (signal %d)\n"
#, fuzzy, c-format
msgid "%s: nscd exited with status %d\n"
msgstr "%s: nscd afsluttede med status %d"
msgid "Password: "
msgstr "Adgangskode: "
#, c-format
msgid "%s's Password: "
msgstr "%s's adgangskode: "
#, fuzzy
#| msgid "Cannot open audit interface - aborting.\n"
msgid "Cannot open audit interface.\n"
msgstr "Kan ikke åbne overvågningsbrugerflade (audit) - afbryder.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr "[libsemanage]: %s\n"
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr "Kan ikke oprette SELinux-håndteringshåndtag\n"
#, c-format
msgid "SELinux policy not managed\n"
msgstr "SELinux-politik ikke håndteret\n"
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr "Kan ikke læse SELinux-politiklageret\n"
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr "Kan ikke etablere SELinux-håndteringsforbindelse\n"
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr "Kan ikke begynde SELinux-transaktion\n"
#, c-format
msgid "Could not query seuser for %s\n"
msgstr "Kunne ikke forespørge seuser for %s\n"
#, c-format
msgid "Could not set serange for %s\n"
msgstr "Kunne ikke angive serange for %s\n"
#, c-format
msgid "Could not set sename for %s\n"
msgstr "Kunne ikke angive sename for %s\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr "Kunne ikke ændre logingkortlægningen for %s\n"
#, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "Kan ikke oprette SELinux-logindkortlægning for %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr "Kunne ikke angive navn for %s\n"
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr "Kunne ikke angive SELinux-bruger for %s\n"
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr "Kunne ikke tilføje logindkortlægning for %s\n"
#, c-format
msgid "Cannot init SELinux management\n"
msgstr "Kan ikke initialisere SELinux-håntering\n"
#, c-format
msgid "Cannot create SELinux user key\n"
msgstr "Kan ikke oprette SELinux-brugernøgle\n"
#, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "Kan ikke verificere SELinux-brugeren\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr "Kan ikke ændre SELinux-brugerkortlægning\n"
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr "Kan ikke tilføje SELinux-brugerkortlægning\n"
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr "Kan ikke indsende SELinux-transaktion\n"
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
"Logindkortlægning for %s er ikke defineret, o.k. hvis standardkortlægning "
"blev brugt\n"
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr "Logindkortlægning for %s er defineret i politik, kan ikke slettes\n"
#, c-format
msgid "Could not delete login mapping for %s"
msgstr "Kunne ikke slette logindkortlægning for %s"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: Hukommelse opbrugt\n"
#, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: Kan ikke stat %s: %s\n"
#, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: %s er hverken en mappe eller en symbolsk henvisning.\n"
#, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: Kan ikke omdøbe symbolsk henvisning %s: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr "%s: Mistænkelig lang symbolsk henvisning: %s\n"
#, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: Kan ikke oprette mappen %s: %s\n"
#, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: Kan ikke ændre ejer af %s: %s\n"
#, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: Kan ikke ændre tilstand for %s: %s\n"
#, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: Fjern henvisning: %s: %s\n"
#, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: Kan ikke fjerne mappen %s: %s\n"
#, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: Kan ikke omdøbe %s til %s: %s\n"
#, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: Kan ikke fjerne %s: %s\n"
#, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: Kan ikke oprette symbolsk henvisning %s: %s\n"
#, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: Kan ibkke ændre ejere af %s: %s\n"
#, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: Kan ikke lstat %s: %s\n"
#, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: Advarsel, bruger %s har ingen tcb-skyggefil.\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
"%s: Nødsituation: %s's tcb-skygge er ikke en regulær fil med st_nlink=1.\n"
"Kontoen forbliver låst.\n"
#, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: mkdir: %s: %s\n"
#, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: Kan ikke åbne %s: %s\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr "Advarsel: Ukendt gruppe %s\n"
@@ -296,6 +76,13 @@ msgstr "Kan ikke ændre ejer eller tilstand af tty stdin: %s"
msgid "%s: failed to unlock %s\n"
msgstr "%s: Kunne ikke åbne %s\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
"Flere punkter med navnet »%s« i %s. Ret venligst dette med pwck eller "
"grpck.\n"
#, c-format
msgid "%s: "
msgstr "%s: "
@@ -303,6 +90,10 @@ msgstr "%s: "
msgid ": "
msgstr ": "
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "cryptmetode er ikke understøttet af libcrypt? (%s)\n"
msgid "Environment overflow\n"
msgstr "Miljøoverløb\n"
@@ -419,8 +210,15 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr "%s: Kan ikke indhente unik UID (ikke flere tilgængelige UID'er)\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgstr ""
msgid "configuration error - cannot parse %s value: '%s'"
msgstr "konfigurationsfejl - kan ikke fortolke %s-værdi: »%s«"
msgid "Could not allocate space for config info.\n"
msgstr "Kunne ikke frigøre plads til opsætningsoplysninger.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "opsætningsfejl - ukendt punkt »%s« (informer administrator)\n"
#, fuzzy, c-format
#| msgid "%s: Authentication failure\n"
@@ -450,9 +248,10 @@ msgstr "Kunne ikke angive navn for %s\n"
msgid "%s: Could not set caps\n"
msgstr "Kunne ikke angive navn for %s\n"
#, c-format
msgid "%s: snprintf failed!\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: line %d: chown %s failed: %s\n"
msgid "%s: stpeprintf failed!\n"
msgstr "%s: Linje %d: chown %s fejlede: %s\n"
#, fuzzy, c-format
#| msgid "%s: line %d: chown %s failed: %s\n"
@@ -464,9 +263,22 @@ msgstr "%s: Linje %d: chown %s fejlede: %s\n"
msgid "%s: write to %s failed: %s\n"
msgstr "%s: Linje %d: chown %s fejlede: %s\n"
#, fuzzy, c-format
#| msgid "%s: line %d: chown %s failed: %s\n"
msgid "%s: closing %s failed: %s\n"
msgstr "%s: Linje %d: chown %s fejlede: %s\n"
msgid "Too many logins.\n"
msgstr "Logget på for mange gange.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s logind: "
msgid "You have new mail."
msgstr "Du har ny post."
@@ -476,6 +288,14 @@ msgstr "Ingen post."
msgid "You have mail."
msgstr "Du har post."
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr "%s: nscd afsluttedes ikke normalt (signal %d)\n"
#, fuzzy, c-format
msgid "%s: nscd exited with status %d\n"
msgstr "%s: nscd afsluttede med status %d"
msgid "no change"
msgstr "ingen ændring"
@@ -488,9 +308,6 @@ msgstr "kun versalændringer"
msgid "too similar"
msgstr "for ens"
msgid "too simple"
msgstr "for simpelt"
msgid "rotated"
msgstr "omrokeret"
@@ -536,6 +353,13 @@ msgid ""
"%s\n"
msgstr "passwd: pam_start() mislykkedes, fejl %d\n"
msgid "Password: "
msgstr "Adgangskode: "
#, c-format
msgid "%s's Password: "
msgstr "%s's adgangskode: "
#, c-format
msgid "Incorrect password for %s.\n"
msgstr "Ugyldig adgangskode for %s.\n"
@@ -561,17 +385,13 @@ msgstr "%s: Ugyldig chroot-sti »%s«\n"
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: Kan ikke tilgå chroot-mappe %s: %s\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: Kan ikke tilgå chroot-mappe %s: %s\n"
#, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: Kan ikke chroot til mappe %s: %s\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: Kan ikke tilgå chroot-mappe %s: %s\n"
#, c-format
msgid ""
@@ -588,6 +408,110 @@ msgid ""
"method.\n"
msgstr ""
#, fuzzy
#| msgid "Cannot open audit interface - aborting.\n"
msgid "Cannot open audit interface.\n"
msgstr "Kan ikke åbne overvågningsbrugerflade (audit) - afbryder.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr "[libsemanage]: %s\n"
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr "Kan ikke oprette SELinux-håndteringshåndtag\n"
#, c-format
msgid "SELinux policy not managed\n"
msgstr "SELinux-politik ikke håndteret\n"
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr "Kan ikke læse SELinux-politiklageret\n"
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr "Kan ikke etablere SELinux-håndteringsforbindelse\n"
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr "Kan ikke begynde SELinux-transaktion\n"
#, c-format
msgid "Could not query seuser for %s\n"
msgstr "Kunne ikke forespørge seuser for %s\n"
#, fuzzy, c-format
#| msgid "Could not set serange for %s\n"
msgid "Could not set serange for %s to %s\n"
msgstr "Kunne ikke angive serange for %s\n"
#, c-format
msgid "Could not set sename for %s\n"
msgstr "Kunne ikke angive sename for %s\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr "Kunne ikke ændre logingkortlægningen for %s\n"
#, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "Kan ikke oprette SELinux-logindkortlægning for %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr "Kunne ikke angive navn for %s\n"
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr "Kunne ikke angive SELinux-bruger for %s\n"
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr "Kunne ikke tilføje logindkortlægning for %s\n"
#, c-format
msgid "Cannot init SELinux management\n"
msgstr "Kan ikke initialisere SELinux-håntering\n"
#, c-format
msgid "Cannot create SELinux user key\n"
msgstr "Kan ikke oprette SELinux-brugernøgle\n"
#, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "Kan ikke verificere SELinux-brugeren\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr "Kan ikke ændre SELinux-brugerkortlægning\n"
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr "Kan ikke tilføje SELinux-brugerkortlægning\n"
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr "Kan ikke indsende SELinux-transaktion\n"
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
"Logindkortlægning for %s er ikke defineret, o.k. hvis standardkortlægning "
"blev brugt\n"
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr "Logindkortlægning for %s er defineret i politik, kan ikke slettes\n"
#, c-format
msgid "Could not delete login mapping for %s"
msgstr "Kunne ikke slette logindkortlægning for %s"
#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Kunne ikke skifte mappe til »%s«\n"
@@ -599,6 +523,10 @@ msgstr "Ingen mappe, logger på med HOME=/"
msgid "Cannot execute %s"
msgstr "Kan ikke udføre %s"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, c-format
msgid "Invalid root directory '%s'\n"
msgstr "Ugyldig rodmappe »%s«\n"
@@ -607,6 +535,86 @@ msgstr "Ugyldig rodmappe »%s«\n"
msgid "Can't change root directory to '%s'\n"
msgstr "Kan ikke ændre rodmappen til »%s«\n"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: Hukommelse opbrugt\n"
#, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: Kan ikke stat %s: %s\n"
#, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: %s er hverken en mappe eller en symbolsk henvisning.\n"
#, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: Kan ikke omdøbe symbolsk henvisning %s: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr "%s: Mistænkelig lang symbolsk henvisning: %s\n"
#, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: Kan ikke oprette mappen %s: %s\n"
#, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: Kan ikke ændre ejer af %s: %s\n"
#, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: Kan ikke ændre tilstand for %s: %s\n"
#, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: Fjern henvisning: %s: %s\n"
#, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: Kan ikke fjerne mappen %s: %s\n"
#, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: Kan ikke omdøbe %s til %s: %s\n"
#, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: Kan ikke fjerne %s: %s\n"
#, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: Kan ikke oprette symbolsk henvisning %s: %s\n"
#, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: Kan ibkke ændre ejere af %s: %s\n"
#, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: Kan ikke lstat %s: %s\n"
#, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: Advarsel, bruger %s har ingen tcb-skyggefil.\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
"%s: Nødsituation: %s's tcb-skygge er ikke en regulær fil med st_nlink=1.\n"
"Kontoen forbliver låst.\n"
#, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: mkdir: %s: %s\n"
#, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: Kan ikke åbne %s: %s\n"
#, fuzzy, c-format
#| msgid "%s: user '%s' does not exist in %s\n"
msgid "%s: user %s is currently logged in\n"
@@ -681,6 +689,11 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr " -R, --root CHROOT_MAPPE mappe at chroote ind i\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr " -R, --root CHROOT_MAPPE mappe at chroote ind i\n"
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -708,12 +721,15 @@ msgstr "Adgangskode inaktiv"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Udløbsdato for konto (ÅÅÅÅ-MM-DD)"
msgid "Last password change\t\t\t\t\t: "
msgstr "Sidste ændring af adgangskode\t\t\t\t\t: "
msgid "never"
msgstr "aldrig"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr "Sidste ændring af adgangskode\t\t\t\t\t: "
msgid "password must be changed"
msgstr "adgangskoden skal ændres"
@@ -933,6 +949,11 @@ msgstr ""
" -s, --sha-rounds antal SHA-runder for SHA*\n"
" crypt-algoritmerne\n"
#, fuzzy, c-format
#| msgid "%s: unsupported crypt method: %s\n"
msgid "%s: no crypt method defined\n"
msgstr "%s: Crypt-metode er ikke understøttet: %s\n"
#, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr "%s: Flaget %s er kun tilladt med flaget %s\n"
@@ -983,6 +1004,16 @@ msgstr " -s, --shell SKAL ny logindskal for brugerkontoen\n"
msgid "Login Shell"
msgstr "Logindskal"
#, fuzzy, c-format
#| msgid "%s: Cannot get the size of %s: %s\n"
msgid "Cannot parse shell files: %s"
msgstr "%s: Kan ikke indhente størrelsen for %s: %s\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "Cannot evaluate entries in shell files: %s"
msgstr "%s: Kan ikke oprette ny standardværdifil\n"
#, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "Du kan ikke ændre skallen for »%s«.\n"
@@ -995,6 +1026,11 @@ msgstr "Ændrer logindskallen for %s\n"
msgid "%s: Invalid entry: %s\n"
msgstr "%s: Ugyldigt punkt: %s\n"
#, fuzzy, c-format
#| msgid "%s: %s is an invalid shell\n"
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s: %s er en ugyldig skal\n"
#, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s: %s er en ugyldig skal\n"
@@ -1234,11 +1270,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr " -r, --system opret en systemkonto\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -R, --root CHROOT_MAPPE mappe at chroote ind i\n"
#, fuzzy
#| msgid " -l, --list list the members of the group\n"
msgid " -U, --users USERS list of user members of this group\n"
@@ -1253,6 +1284,11 @@ msgstr "ugyldigt brugernavn »%s«\n"
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: »%s« er ikke et gyldigt gruppenavn\n"
#, fuzzy, c-format
#| msgid "%s: Cannot open %s: %s\n"
msgid "%s: cannot open %s: %s\n"
msgstr "%s: Kan ikke åbne %s: %s\n"
#, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "%s: Ugyldigt gruppe-id »%s«\n"
@@ -1536,7 +1572,7 @@ msgstr ""
#, fuzzy
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr " -a, --all vis faillog-poster for alle brugere\n"
@@ -1635,9 +1671,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr "%s: Kan umuligt arbejde uden effektiv root\n"
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr "Intet utmp-punkt. Du skal køre »login« fra det laveste »sh-niveau«"
#, c-format
msgid ""
"\n"
@@ -1671,14 +1704,6 @@ msgstr "Forkert logind"
msgid "Cannot find user (%s)\n"
msgstr "Kan ikke finde bruger (%s)\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s logind: "
#, c-format
msgid "%s: failure forking: %s"
msgstr "%s: Fejl under forgrening: %s"
@@ -1714,7 +1739,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1740,20 +1766,15 @@ msgstr "%s: Kunne ikke fjerne %s\n"
msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: Kunne ikke åbne %s\n"
#, fuzzy, c-format
#| msgid "%s: failed to find tcb directory for %s\n"
msgid "%s: Could not open proc directory for target %u\n"
msgstr "%s: Kunne ikke finde tcb-mappe for %s\n"
#, fuzzy, c-format
#| msgid "%s: Failed to create tcb directory for %s\n"
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "%s: Kan ikke oprette tcv-mappe for %s\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1786,14 +1807,14 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: Failed to create tcb directory for %s\n"
msgid "%s: Could not stat directory for target process\n"
msgstr "%s: Kan ikke oprette tcv-mappe for %s\n"
#, fuzzy
#| msgid " -q, --quiet quiet mode\n"
@@ -1816,6 +1837,10 @@ msgstr "%s: Ugyldigt bruger-id »%s«\n"
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr "%s: Ugyldigt brugernavn »%s«\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: Linje %d: Ugyldig linje\n"
@@ -1837,6 +1862,11 @@ msgstr "%s: Linje %d: Kan ikke oprette gruppe\n"
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: Linje %d: Bruger »%s« findes ikke i %s\n"
#, fuzzy, c-format
#| msgid "%s: unlink: %s: %s\n"
msgid "%s: line %d: %s\n"
msgstr "%s: Fjern henvisning: %s: %s\n"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: Linje %d: Kan ikke opdatere adgangskode\n"
@@ -1858,14 +1888,14 @@ msgstr "%s: Linje %d: chown %s fejlede: %s\n"
msgid "%s: line %d: can't update entry\n"
msgstr "%s: Linje %d: Kan ikke opdatere punktet\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: Kunne ikke forberede det nye %s-punkt »%s«\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: Kan ikke oprette bruger\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: Kunne ikke forberede det nye %s-punkt »%s«\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: Kan ikke oprette gruppe\n"
@@ -1938,6 +1968,11 @@ msgstr ""
" -x, --maxdays MAKS_DAGE sæt det maksimale antal dage inden skift af\n"
" adgangskode til MAKS_DAGE\n"
#, fuzzy
#| msgid " -l, --list show account aging information\n"
msgid " -s, --stdin read new token from stdin\n"
msgstr " -l, --list vis forældelsesoplysninger for konto\n"
msgid "Old password: "
msgstr "Gammel adgangskode: "
@@ -1957,6 +1992,11 @@ msgstr ""
"Angiv ny adgangskode (mindst %d, højst %d tegn)\n"
"Brug en kombination af små og store bogstaver samt tal.\n"
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: Felter for lange\n"
msgid "New password: "
msgstr "Ny adgangskode: "
@@ -2000,6 +2040,11 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr "%s: Arkiv %s understøttes ikke\n"
#, fuzzy, c-format
#| msgid "%s: only root can use the -g/--group option\n"
msgid "%s: only root can use --stdin/-s option\n"
msgstr "%s: Kun root kan bruge tilvalget -g/--group\n"
#, fuzzy, c-format
#| msgid "%s: %s is not authorized to change the password of %s\n"
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
@@ -2152,11 +2197,9 @@ msgstr "%s: Forkert signal\n"
msgid "Session terminated, terminating shell..."
msgstr "Session termineret, terminerer skal..."
#, c-format
msgid " ...killed.\n"
msgstr " ...dræbt.\n"
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr " ...venter på at underproces termineres.\n"
@@ -2243,6 +2286,11 @@ msgstr "%s: Du er ikke autoriseret til at su på det tidspunkt\n"
msgid "No passwd entry for user '%s'\n"
msgstr "Intet adgangskodepunkt for bruger »%s«\n"
#, fuzzy, c-format
#| msgid "invalid user name '%s'\n"
msgid "Overlong user name '%s'\n"
msgstr "ugyldigt brugernavn »%s«\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr "%s: Skal køres fra en terminal\n"
@@ -2288,6 +2336,13 @@ msgstr "%s: %s blev oprettet, men kunne ikke fjernes\n"
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr "%s: Konfigurationen %s i %s vil blive ignoreret\n"
#, fuzzy, c-format
#| msgid "%s: the %s configuration in %s will be ignored\n"
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr "%s: Konfigurationen %s i %s vil blive ignoreret\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "%s: cannot create new defaults file: %s\n"
@@ -2386,6 +2441,11 @@ msgstr ""
" -f, --inactive INAKTIVE inaktiv periode for adgangskode på den nye "
"konto\n"
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2457,6 +2517,17 @@ msgstr ""
" -Z, --selinux-user SE_BRUGER brug en specifik SE_BRUGER for "
"kortlægningen af SELinux-brugere\n"
#, fuzzy
#| msgid ""
#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux "
#| "user mapping\n"
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
" -Z, --selinux-user SE_BRUGER brug en specifik SE_BRUGER for "
"kortlægningen af SELinux-brugere\n"
#, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr "%s: Ugyldig basismappe »%s«\n"
@@ -2599,6 +2670,16 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Indstiller postboksfilens rettigheder"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Synchronize mailbox file"
msgstr "Opretter postboksfil"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Closing mailbox file"
msgstr "Opretter postboksfil"
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2866,6 +2947,16 @@ msgstr ""
" -Z, --selinux-user SEUSER ny SELinux-brugerkortlægning for "
"brugerkontoen\n"
#, fuzzy
#| msgid ""
#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user "
#| "account\n"
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
" -Z, --selinux-user SEUSER ny SELinux-brugerkortlægning for "
"brugerkontoen\n"
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2944,16 +3035,39 @@ msgstr "%s: Advarsel: Kunne ikke fjerne den gamle hjemmemappe %s fuldstændigt"
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: Kan ikke omdøbe mappen %s til %s\n"
#, fuzzy, c-format
#| msgid ""
#| "%s: The previous home directory (%s) was not a directory. It is not "
#| "removed and no home directories are created.\n"
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
"%s: Den tidligere hjemmemappe (%s) var ikke en mappe. Den fjernes ikke og "
"ingen hjemmemappe oprettes.\n"
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
"%s: Kunne ikke kopiere lastlog-punktet for bruger %lu til bruger %lu: %s\n"
#, fuzzy, c-format
#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr ""
"%s: Kunne ikke kopiere lastlog-punktet for bruger %lu til bruger %lu: %s\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
"%s: Kunne ikke kopiere faillog-punktet for bruger %lu til bruger %lu: %s\n"
#, fuzzy, c-format
#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr ""
"%s: Kunne ikke kopiere faillog-punktet for bruger %lu til bruger %lu: %s\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: Advarsel: %s ejes ikke af %s\n"
@@ -3054,8 +3168,8 @@ msgstr "kunne ikke fjerne henvisning for scratch-fil"
msgid "failed to stat edited file"
msgstr "kunne ikke stat redigeret fil"
msgid "failed to allocate memory"
msgstr "kunne ikke tildele hukommelse"
msgid "asprintf(3) failed"
msgstr ""
msgid "failed to create backup file"
msgstr "kunne ikke oprette sikkerhedskopifil"
@@ -3068,6 +3182,20 @@ msgstr "%s: Kan ikke gendanne %s: %s (dine ændringer er i %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: Kunne ikke finde tcb-mappe for %s\n"
#~ msgid "too simple"
#~ msgstr "for simpelt"
#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
#~ msgstr "Intet utmp-punkt. Du skal køre »login« fra det laveste »sh-niveau«"
#, fuzzy, c-format
#~| msgid "%s: failed to find tcb directory for %s\n"
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "%s: Kunne ikke finde tcb-mappe for %s\n"
#~ msgid "failed to allocate memory"
#~ msgstr "kunne ikke tildele hukommelse"
#~ msgid "Usage: id\n"
#~ msgstr "Brug: id\n"
@@ -3083,9 +3211,5 @@ msgstr "%s: Kunne ikke finde tcb-mappe for %s\n"
#~ msgid "%s: password expiry information changed.\n"
#~ msgstr "%s: Information om udløb af adgangskode blev ændret.\n"
#, c-format
#~ msgid "invalid user name '%s'\n"
#~ msgstr "ugyldigt brugernavn »%s«\n"
#~ msgid "Username Port From Latest"
#~ msgstr "Brugernavn Port Fra Seneste"

711
po/de.po

File diff suppressed because it is too large Load Diff

636
po/dz.po
View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.17\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2006-06-01 15:28+0530\n"
"Last-Translator: Jurmey Rabgay <jur_gay@yahoo.com>\n"
"Language-Team: dzongkha <pgeyleg@dit.gov.bt>\n"
@@ -20,220 +20,6 @@ msgstr ""
"X-Poedit-Country: bhutan\n"
"X-Poedit-SourceCharset: utf-8\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོན་ལུ་ བར་སྟོང་སྤྲོད་མ་ཚུགས།\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "རིམ་སྒྲིག་འཚོལ་བ་-མ་ཤེས་པའི་རྣམ་གྲངས་ '%s'(བདག་སྐྱོང་པ་བརྡ་བསྐུལ་འབད་)།\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "Password: "
msgstr "ཆོག་ཡིག་:"
#, c-format
msgid "%s's Password: "
msgstr "%s's ཆོག་ཡིག་:"
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "ཆོག་ཡིག་ཡིག་སྣོད་ ཁ་ཕྱེ་མི་ཚུགས།\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, c-format
msgid "Could not set serange for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོན་ལུ་ བར་སྟོང་སྤྲོད་མ་ཚུགས།\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "%s གི་དོན་ལུ་ རྒས་པའི་བརྡ་དོན་བསྒྱུར་བཅོས་འབད་དོ།\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: ཁྱོད་ཀྱི་ལག་ལེན་པའི་མིང་ གཏན་འབེབས་བཟོ་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: གྲལ་ཐིག་ %d:ལག་ལེན་པ་ %sའཚོལ་མི་ཚུགས།\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: དྲན་ཚད་ལས་བརྒལ་བ།\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: ཡིག་སྣོད་ %sའདི་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: ནུས་མེད་ཁྱིམ་གྱི་སྣོད་ཐོ་ '%s'།\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།"
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།"
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: བསྐྱར་མིང་བཏགས་:%s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།"
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།"
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: ཡིག་སྣོད་ %sའདི་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: གྱིབ་མའི་ཡིག་སྣོད་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: བསྐྱར་མིང་བཏགས་:%s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: ཡིག་སྣོད་%s ཁ་ཕྱེ་མི་ཚུགས།\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr "ཉེན་བརྡ་:མ་ཤེས་པའི་སྡེ་ཚན་%s\n"
@@ -280,6 +66,11 @@ msgstr "ཊི་ཊི་ཝའི་ %s བསྒྱུར་བཅོས་
msgid "%s: failed to unlock %s\n"
msgstr "%s: ས་སྒོ་ཚུ་རིང་དྲགས་པས།\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: "
msgstr "%s: %s\n"
@@ -287,6 +78,10 @@ msgstr "%s: %s\n"
msgid ": "
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
msgid "Environment overflow\n"
msgstr "མཐའ་འཁོར་ལུད་སོང་བ།\n"
@@ -389,9 +184,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr "%s: ཐུན་མོང་ ཡུ་ཨའི་ཌི་འཐོབ་མི་ཚུགས།\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོན་ལུ་ བར་སྟོང་སྤྲོད་མ་ཚུགས།\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "རིམ་སྒྲིག་འཚོལ་བ་-མ་ཤེས་པའི་རྣམ་གྲངས་ '%s'(བདག་སྐྱོང་པ་བརྡ་བསྐུལ་འབད་)།\n"
#, fuzzy, c-format
msgid "%s: Memory allocation failure\n"
msgstr "%s: པི་ཨེ་ཨེམ་ བདེན་བཤད་འཐུས་ཤོར་བྱུང་ཡོདཔ།\n"
@@ -419,7 +221,7 @@ msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོ
#, fuzzy, c-format
#| msgid "%s: can't open file\n"
msgid "%s: snprintf failed!\n"
msgid "%s: stpeprintf failed!\n"
msgstr "%s: ཡིག་སྣོད་ཁ་ཕྱེ་མི་ཚུགས།\n"
#, fuzzy, c-format
@@ -430,9 +232,21 @@ msgstr "%s: གྲལ་ཐིག་ %d: chown འཐུས་ཤོར་བྱ
msgid "%s: write to %s failed: %s\n"
msgstr "%s: གྲལ་ཐིག་ %d: chown འཐུས་ཤོར་བྱུང་ཡོདཔ།\n"
#, fuzzy, c-format
msgid "%s: closing %s failed: %s\n"
msgstr "%s: གྲལ་ཐིག་ %d: chown འཐུས་ཤོར་བྱུང་ཡོདཔ།\n"
msgid "Too many logins.\n"
msgstr "ནང་བསྐྱོད་མང་དྲགས་པ།\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s ནང་བསྐྱོད་: "
msgid "You have new mail."
msgstr "ཁྱོད་ལུ་ཡིག་འཕྲིན་གསརཔ་ཅིག་འདུག"
@@ -442,6 +256,14 @@ msgstr "ཡིག་འཕྲིན་མེད།"
msgid "You have mail."
msgstr "ཁྱོད་ལུ་ཡིག་འཕྲིན་འདུག"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "no change"
msgstr "བསྒྱུར་བཅོས་མེད།"
@@ -454,9 +276,6 @@ msgstr "ཡི་གུ་རྐྱངམ་ཅིག་བསྒྱུར་བ
msgid "too similar"
msgstr "ཤིན་ཏུ་ཆ་འདྲ་བ།"
msgid "too simple"
msgstr "ཤིན་ཏུ་འཇམ་སམ།"
msgid "rotated"
msgstr "བསྒྱིར་ཡོདཔ།"
@@ -503,6 +322,13 @@ msgid ""
"%s\n"
msgstr "ཆོག་ཡིག་:པམ་སི་ཊཊི་()འཐུས་ཤོར་བྱུང་ཡོདཔ་(_s) འཛོལ་བ་ %d\n"
msgid "Password: "
msgstr "ཆོག་ཡིག་:"
#, c-format
msgid "%s's Password: "
msgstr "%s's ཆོག་ཡིག་:"
#, c-format
msgid "Incorrect password for %s.\n"
msgstr "%s གི་དོན་ལུ་ བདེན་མེད་ཀྱི་ཆོག་ཡིག\n"
@@ -527,17 +353,13 @@ msgstr "%s: ནུས་མེད་ཀྱི་ ཁྱིམ་གྱི་བ
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, c-format
msgid ""
@@ -552,6 +374,107 @@ msgid ""
"method.\n"
msgstr ""
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "ཆོག་ཡིག་ཡིག་སྣོད་ ཁ་ཕྱེ་མི་ཚུགས།\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set serange for %s to %s\n"
msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོན་ལུ་ བར་སྟོང་སྤྲོད་མ་ཚུགས།\n"
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "རིམ་སྒྲིག་བརྡ་དོན་གྱི་དོན་ལུ་ བར་སྟོང་སྤྲོད་མ་ཚུགས།\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "%s གི་དོན་ལུ་ རྒས་པའི་བརྡ་དོན་བསྒྱུར་བཅོས་འབད་དོ།\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: ཁྱོད་ཀྱི་ལག་ལེན་པའི་མིང་ གཏན་འབེབས་བཟོ་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: གྲལ་ཐིག་ %d:ལག་ལེན་པ་ %sའཚོལ་མི་ཚུགས།\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "'%s'ལུ་ སི་ཌི་འབད་མ་ཚུགས་\n"
@@ -563,6 +486,10 @@ msgstr "སྣོད་ཐོ་མེད་ ཁྱིམ་དང་བཅས
msgid "Cannot execute %s"
msgstr "%sལག་ལེན་འཐབ་མི་ཚུགས།"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, c-format
msgid "Invalid root directory '%s'\n"
msgstr "ནུས་མེད་རྩ་བའི་སྣོད་ཐོ་ '%s'\n"
@@ -571,6 +498,84 @@ msgstr "ནུས་མེད་རྩ་བའི་སྣོད་ཐོ་ '%
msgid "Can't change root directory to '%s'\n"
msgstr " '%s'ལུ་ རྩ་བའི་སྣོད་ཐོ་བསྒྱུར་བཅོས་འབད་མི་ཚུགས།\n"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: དྲན་ཚད་ལས་བརྒལ་བ།\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: ཡིག་སྣོད་ %sའདི་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: ནུས་མེད་ཁྱིམ་གྱི་སྣོད་ཐོ་ '%s'།\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།"
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།"
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: བསྐྱར་མིང་བཏགས་:%s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།"
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: ཉེན་བརྡ་:རྩ་བསྐྲད་གཏང་མི་ཚུགས།"
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: ཡིག་སྣོད་ %sའདི་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: གྱིབ་མའི་ཡིག་སྣོད་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: བསྐྱར་མིང་བཏགས་:%s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: ཡིག་སྣོད་%s ཁ་ཕྱེ་མི་ཚུགས།\n"
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: ལག་ལེན་པ་ %sའདི་ ད་ལྟོ་རང་ནང་བསྐྱོད་འབད་ཡི།\n"
@@ -630,6 +635,9 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr ""
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr ""
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -655,12 +663,15 @@ msgstr "ཆོག་ཡིག་ནུས་མེད།"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "རྩིས་ཐོའི་དུས་ཡོལ་ཚེས་གྲངས་(ཝའི་ཝའི་ཝའི་ཝའི་-ཨེམ་ཨེམ་-ཌི་ཌི་)།"
msgid "Last password change\t\t\t\t\t: "
msgstr "མཇུག་གི་ཆོག་ཡིག་བསྒྱུར་བཅོས་\t\t\t\t\t: "
msgid "never"
msgstr "ནམ་ཡང་"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr "མཇུག་གི་ཆོག་ཡིག་བསྒྱུར་བཅོས་\t\t\t\t\t: "
msgid "password must be changed"
msgstr "ཆོག་ཡིག་འདི་བསྒྱུར་བཅོས་འབད་དགོ"
@@ -864,6 +875,10 @@ msgid ""
" or YESCRYPT crypt algorithms\n"
msgstr ""
#, c-format
msgid "%s: no crypt method defined\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr "%s: -a ཟུར་རྟགས་འདི་ -Gཟུར་རྟགས་དང་གཅིག་ཁར་རྐྱངམ་ཅིག་ཆོག\n"
@@ -914,6 +929,15 @@ msgstr ""
msgid "Login Shell"
msgstr "ནང་བསྐྱོད་ཀྱི་ཤལ།"
#, fuzzy, c-format
msgid "Cannot parse shell files: %s"
msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "Cannot evaluate entries in shell files: %s"
msgstr "%s: སྔོན་སྒྲིག་ཡིག་སྣོད་གསརཔ་ གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "ཁྱོད་ཀྱིས་ %sགི་དོན་ལུ་ ཤལ་བསྒྱུར་བཅོས་མི་འབདཝ་འོང་།\n"
@@ -926,6 +950,10 @@ msgstr "%sགི་དོན་ལུ་ ནང་བསྐྱོད་ཤལ་
msgid "%s: Invalid entry: %s\n"
msgstr "%s: ནུས་མེད་ཀྱི་ཐོ་བཀོད་:%s\n"
#, fuzzy, c-format
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s འདི་ནུས་མེད་ཀྱི་ཤལ་ཨིན།\n"
#, fuzzy, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s འདི་ནུས་མེད་ཀྱི་ཤལ་ཨིན།\n"
@@ -1136,9 +1164,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
@@ -1151,6 +1176,10 @@ msgstr "ནུས་མེད་ལག་ལེན་པའི་མིང་ '%
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s འདི་ ནུས་ཅན་གྱི་སྡེ་ཚན་མིང་མེན་པས།\n"
#, fuzzy, c-format
msgid "%s: cannot open %s: %s\n"
msgstr "%s: ཡིག་སྣོད་%s ཁ་ཕྱེ་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "ནུས་མེད་སྡེཚན་གྱི་མིང་ '%s'\n"
@@ -1394,7 +1423,7 @@ msgid ""
msgstr ""
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr ""
@@ -1488,10 +1517,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr ""
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr ""
"utmpཐོ་བཀོད་མིན་འདུག ཁྱོད་ཀྱིས་ གནས་རིམ་དམའ་ཤོས་\"sh\"གི་ནང་ལས་ \"login\"ལག་ལེན་འཐབ་དགོ"
#, fuzzy, c-format
msgid ""
"\n"
@@ -1525,14 +1550,6 @@ msgstr "ནང་བསྐྱོད་བདེན་མེད།"
msgid "Cannot find user (%s)\n"
msgstr "%s: གྲལ་ཐིག་ %d:ལག་ལེན་པ་ %sའཚོལ་མི་ཚུགས།\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s ནང་བསྐྱོད་: "
#, c-format
msgid "%s: failure forking: %s"
msgstr "%s: ཁ་སྤེལ་བ་འཐུས་ཤོར་:%s"
@@ -1569,7 +1586,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1594,17 +1612,13 @@ msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: ས་སྒོ་ཚུ་རིང་དྲགས་པས།\n"
#, fuzzy, c-format
msgid "%s: Could not open proc directory for target %u\n"
msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་ཐོ་'%s'།\n"
#, fuzzy, c-format
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1638,14 +1652,13 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Could not stat directory for target process\n"
msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
msgid " -b, --badname allow bad names\n"
msgstr ""
@@ -1666,6 +1679,10 @@ msgstr "%s: ནུས་མེད་ལག་ལེན་པའི་མིང
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr "%s: ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'།\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s:གྲལ་ཐིག་%d: ནུས་མེད་གྲལ་ཐིག་\n"
@@ -1686,6 +1703,10 @@ msgstr "%s: གྲལ་ཐིག་ %d: ཇི་ཨའི་ཌི་ གས
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: ལག་ལེན་པ་ %sའདི་ མེད།\n"
#, fuzzy, c-format
msgid "%s: line %d: %s\n"
msgstr "%s: བསྐྱར་མིང་བཏགས་:%s"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: གྲལ་ཐིག་ %d: ཆོག་ཡིག་དུས་མཐུན་བཟོ་མི་ཚུགས།\n"
@@ -1706,14 +1727,14 @@ msgstr "%s: གྲལ་ཐིག་ %d: chown འཐུས་ཤོར་བྱ
msgid "%s: line %d: can't update entry\n"
msgstr "%s: གྲལ་ཐིག་ %d: ཐོ་བཀོད་དུས་མཐུན་བཟོ་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: ཁེ་དབང་(%s)ཚུ་བཀོག་ནིའི་འཐུས་ཤོར་བྱུང་ཡོདཔ།\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: %sགསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: ཁེ་དབང་(%s)ཚུ་བཀོག་ནིའི་འཐུས་ཤོར་བྱུང་ཡོདཔ།\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: སྡེ་ཚན་ཡིག་སྣོད་ དུས་མཐུན་བཟོ་མི་ཚུགས།\n"
@@ -1772,6 +1793,9 @@ msgid ""
" change to MAX_DAYS\n"
msgstr ""
msgid " -s, --stdin read new token from stdin\n"
msgstr ""
msgid "Old password: "
msgstr "ཆོག་ཡིག་རྙིངམ་:"
@@ -1787,6 +1811,11 @@ msgid ""
"Please use a combination of upper and lower case letters and numbers.\n"
msgstr "ཆོག་ཡིག་གསརཔ་བཙུགས་(%d གི་ཉུང་མཐའ་ %dཡིག་འབྲུའི་མང་མཐའ་)།\n"
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: ས་སྒོ་ཚུ་རིང་དྲགས་པས།\n"
msgid "New password: "
msgstr "ཆོག་ཡིག་གསརཔ་:"
@@ -1828,6 +1857,10 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr "%s: མཛོད་གནས་ %sའདི་ རྒྱབ་སྐྱོར་མ་འབད་བས།\n"
#, c-format
msgid "%s: only root can use --stdin/-s option\n"
msgstr ""
#, c-format
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
msgstr ""
@@ -1971,11 +2004,9 @@ msgstr ""
msgid "Session terminated, terminating shell..."
msgstr ""
#, c-format
msgid " ...killed.\n"
msgstr ""
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr ""
@@ -2048,6 +2079,11 @@ msgstr "ཁྱོད་ ཟླ་%sལུ་ དབང་སྤྲོད་མ
msgid "No passwd entry for user '%s'\n"
msgstr "'རྩ་བ་'གི་དོན་ལུ་ ཆོག་ཡིག་ཐོ་བཀོད་མེད།"
#, fuzzy, c-format
#| msgid "invalid user name '%s'\n"
msgid "Overlong user name '%s'\n"
msgstr "ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr "%s: ཊར་མི་ནཱལ་ལས་གཡོག་བཀོལ་དགོ\n"
@@ -2093,6 +2129,12 @@ msgstr ""
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr ""
#, c-format
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "%s: cannot create new defaults file: %s\n"
@@ -2176,6 +2218,11 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2231,6 +2278,11 @@ msgid ""
"mapping\n"
msgstr ""
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
#, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་ཐོ་'%s'།\n"
@@ -2361,6 +2413,16 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "ཡིག་སྒྲོམ་ཡིག་སྣོད་གྱི་གནང་བ་ གཞི་སྒྲིག་འབད་དོ།"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Synchronize mailbox file"
msgstr "ཡིག་སྒྲོམ་ཡིག་སྣོད་ གསར་བསྐྲུན་འབད་དོ།"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Closing mailbox file"
msgstr "ཡིག་སྒྲོམ་ཡིག་སྣོད་ གསར་བསྐྲུན་འབད་དོ།"
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2583,6 +2645,10 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2656,14 +2722,28 @@ msgstr ""
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: སྣོད་ཐོ་ %s འདི་ %s ལུ་ བསྐྱར་མིང་བཏགས་མི་ཚུགས།\n"
#, c-format
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr "%s: ཆོག་ཡིག་ཡིག་སྣོད་ དུས་མཐུན་བཟོ་མ་ཚུགས།\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr "%s: སྣོད་ཐོ་ %s གསར་བསྐྲུན་འབད་མི་ཚུགས།\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: ཉེན་བརྡ་: %s འདི་ %s གིས་ བདག་དབང་བཟུངམ་མེན།\n"
@@ -2769,8 +2849,9 @@ msgid "failed to stat edited file"
msgstr "ཡིག་སྒྲོམ་གྱི་བསྐྱར་མིང་བཏགས་ནི་ལུ་ འཛོལ་བ།"
#, fuzzy
msgid "failed to allocate memory"
msgstr "ཡིག་སྒྲོམ་བདག་པོ་སོར་ནི་ལུ་ འཐུས་ཤོར་བྱུང་ཡོདཔ།"
#| msgid "%s: can't open file\n"
msgid "asprintf(3) failed"
msgstr "%s: ཡིག་སྣོད་ཁ་ཕྱེ་མི་ཚུགས།\n"
#, fuzzy
msgid "failed to create backup file"
@@ -2784,6 +2865,21 @@ msgstr "%s: %sསོར་ཆུད་འབད་མ་ཚུགས་: %s (ཁ
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་ཐོ་'%s'།\n"
#~ msgid "too simple"
#~ msgstr "ཤིན་ཏུ་འཇམ་སམ།"
#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
#~ msgstr ""
#~ "utmpཐོ་བཀོད་མིན་འདུག ཁྱོད་ཀྱིས་ གནས་རིམ་དམའ་ཤོས་\"sh\"གི་ནང་ལས་ \"login\"ལག་ལེན་འཐབ་དགོ"
#, fuzzy, c-format
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་ཐོ་'%s'།\n"
#, fuzzy
#~ msgid "failed to allocate memory"
#~ msgstr "ཡིག་སྒྲོམ་བདག་པོ་སོར་ནི་ལུ་ འཐུས་ཤོར་བྱུང་ཡོདཔ།"
#~ msgid "Usage: id\n"
#~ msgstr "ལག་ལེན་པ་: id\n"
@@ -2799,10 +2895,6 @@ msgstr "%s: ནུས་མེད་གཞི་རྟེན་སྣོད་
#~ msgid "%s: password expiry information changed.\n"
#~ msgstr "ཆོག་ཡིག་དུས་ཡོལ་ཉེན་བརྡ།"
#, c-format
#~ msgid "invalid user name '%s'\n"
#~ msgstr "ནུས་མེད་ལག་ལེན་པའི་མིང་ '%s'\n"
#~ msgid "Username Port From Latest"
#~ msgstr "ལག་ལེན་པའི་མིང་ འདྲེན་ལམ་ ལས་ མཇུག་མཐའ།"

704
po/el.po

File diff suppressed because it is too large Load Diff

688
po/es.po
View File

@@ -32,7 +32,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.1.4.2\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2011-11-23 23:56+0100\n"
"Last-Translator: Francisco Javier Cuadrado <fcocuadrado@gmail.com>\n"
"Language-Team: Debian l10n Spanish <debian-l10n-spanish@lists.debian.org>\n"
@@ -42,226 +42,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
"Hay varias entradas con el nombre «%s» en %s. Por favor, corríjalo "
"utilizando pwck o grpck.\n"
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "¿libcrypt no permite utilizar el método de cifrado? (%s)\n"
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr "error de configuración, no se pudo procesar el valor %s: «%s»"
msgid "Could not allocate space for config info.\n"
msgstr "No se pudo reservar espacio para la información de configuración.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"error de configuración, elemento «%s» desconocido (informe al "
"administrador)\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "Password: "
msgstr "Contraseña: "
#, c-format
msgid "%s's Password: "
msgstr "Contraseña de %s: "
#, fuzzy
#| msgid "Cannot open audit interface - aborting.\n"
msgid "Cannot open audit interface.\n"
msgstr "No se pudo abrir la interfaz de auditoría, abortando.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, c-format
msgid "Could not set serange for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "No se pudo reservar espacio para la información de configuración.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "Cambiando la información de la edad para %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: no se pudo determinar su nombre de usuario.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: línea %d: no se puede encontrar el usuario %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: sin memoria\n"
#, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: no se pudo realizar «stat» a %s: %s\n"
#, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: %s no es ni un directorio ni un enlace simbólico.\n"
#, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: no se pudo leer el enlace simbólico %s: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr "%s: enlace simbólico sospechosamente largo: %s\n"
#, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: no se pudo crear el directorio %s: %s\n"
#, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: no se pudo cambiar el dueño de %s: %s\n"
#, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: no se pudo cambiar el modo de %s: %s\n"
#, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: unlink: %s: %s\n"
#, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: no se pudo eliminar el directorio %s: %s\n"
#, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: no se pudo renombrar %s a %s: %s\n"
#, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: no se pudo eliminar %s: %s\n"
#, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s no se pudo crear el enlace simbólico %s: %s\n"
#, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: no se pudieron cambiar los dueños de %s: %s\n"
#, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: no se pudo realizar «lstat» a %s: %s\n"
#, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: aviso, el usuario %s no tiene un fichero «tcb shadow».\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
"%s: emergencia: el tcb oculto de %s no es un fichero normal con st_nlink=1.\n"
"La cuenta se queda bloqueada.\n"
#, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: mkdir: %s: %s\n"
#, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: no se pudo abrir %s: %s\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr "Aviso: grupo %s desconocido\n"
@@ -310,6 +90,13 @@ msgstr ""
msgid "%s: failed to unlock %s\n"
msgstr "%s: se produjo un fallo al desbloquear %s\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
"Hay varias entradas con el nombre «%s» en %s. Por favor, corríjalo "
"utilizando pwck o grpck.\n"
#, c-format
msgid "%s: "
msgstr "%s: "
@@ -317,6 +104,10 @@ msgstr "%s: "
msgid ": "
msgstr ": "
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "¿libcrypt no permite utilizar el método de cifrado? (%s)\n"
msgid "Environment overflow\n"
msgstr "Desbordamiento de entorno\n"
@@ -439,8 +230,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr "%s: no se pudo obtener un UID único (no hay más UID disponibles)\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgid "configuration error - cannot parse %s value: '%s'"
msgstr "error de configuración, no se pudo procesar el valor %s: «%s»"
msgid "Could not allocate space for config info.\n"
msgstr "No se pudo reservar espacio para la información de configuración.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"error de configuración, elemento «%s» desconocido (informe al "
"administrador)\n"
#, fuzzy, c-format
#| msgid "%s: Authentication failure\n"
@@ -470,7 +270,7 @@ msgstr "No se pudo reservar espacio para la información de configuración.\n"
#, fuzzy, c-format
#| msgid "%s: can't open file\n"
msgid "%s: snprintf failed!\n"
msgid "%s: stpeprintf failed!\n"
msgstr "%s: no se puede abrir el fichero\n"
#, fuzzy, c-format
@@ -483,9 +283,22 @@ msgstr "%s: línea %d: chown %s falló: %s\n"
msgid "%s: write to %s failed: %s\n"
msgstr "%s: línea %d: chown %s falló: %s\n"
#, fuzzy, c-format
#| msgid "%s: line %d: chown %s failed: %s\n"
msgid "%s: closing %s failed: %s\n"
msgstr "%s: línea %d: chown %s falló: %s\n"
msgid "Too many logins.\n"
msgstr "Demasiados accesos.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s nombre: "
msgid "You have new mail."
msgstr "Tiene correo nuevo."
@@ -495,6 +308,14 @@ msgstr "Sin correo."
msgid "You have mail."
msgstr "Tiene correo."
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "no change"
msgstr "sin cambios"
@@ -507,9 +328,6 @@ msgstr "sólo cambios de mayúsculas/minúsculas"
msgid "too similar"
msgstr "demasiado similar"
msgid "too simple"
msgstr "demasiado simple"
msgid "rotated"
msgstr "rotada"
@@ -555,6 +373,13 @@ msgid ""
"%s\n"
msgstr "passwd: pam_start() falló, error %d\n"
msgid "Password: "
msgstr "Contraseña: "
#, c-format
msgid "%s's Password: "
msgstr "Contraseña de %s: "
#, c-format
msgid "Incorrect password for %s.\n"
msgstr "Contraseña incorrecta para %s.\n"
@@ -579,17 +404,13 @@ msgstr "%s: teléfono de casa incorrecto: «%s»\n"
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: no se pudo crear el directorio %s: %s\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: no se pudo crear el directorio %s: %s\n"
#, fuzzy, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: se produjo un fallo al crear el directorio tcb para %s\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: no se pudo crear el directorio %s: %s\n"
#, c-format
msgid ""
@@ -606,6 +427,107 @@ msgid ""
"method.\n"
msgstr ""
#, fuzzy
#| msgid "Cannot open audit interface - aborting.\n"
msgid "Cannot open audit interface.\n"
msgstr "No se pudo abrir la interfaz de auditoría, abortando.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set serange for %s to %s\n"
msgstr "No se pudo reservar espacio para la información de configuración.\n"
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "No se pudo reservar espacio para la información de configuración.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "Cambiando la información de la edad para %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: no se pudo determinar su nombre de usuario.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: línea %d: no se puede encontrar el usuario %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Incapaz de cambiar el directorio a «%s»\n"
@@ -617,6 +539,10 @@ msgstr "Sin directorio, accediendo con HOME=/"
msgid "Cannot execute %s"
msgstr "No se puede ejecutar %s"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, c-format
msgid "Invalid root directory '%s'\n"
msgstr "Directorio raíz «%s» incorrecto\n"
@@ -625,6 +551,86 @@ msgstr "Directorio raíz «%s» incorrecto\n"
msgid "Can't change root directory to '%s'\n"
msgstr "No se pudo cambiar el directorio raíz a «%s»\n"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: sin memoria\n"
#, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: no se pudo realizar «stat» a %s: %s\n"
#, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: %s no es ni un directorio ni un enlace simbólico.\n"
#, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: no se pudo leer el enlace simbólico %s: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr "%s: enlace simbólico sospechosamente largo: %s\n"
#, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: no se pudo crear el directorio %s: %s\n"
#, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: no se pudo cambiar el dueño de %s: %s\n"
#, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: no se pudo cambiar el modo de %s: %s\n"
#, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: unlink: %s: %s\n"
#, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: no se pudo eliminar el directorio %s: %s\n"
#, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: no se pudo renombrar %s a %s: %s\n"
#, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: no se pudo eliminar %s: %s\n"
#, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s no se pudo crear el enlace simbólico %s: %s\n"
#, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: no se pudieron cambiar los dueños de %s: %s\n"
#, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: no se pudo realizar «lstat» a %s: %s\n"
#, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: aviso, el usuario %s no tiene un fichero «tcb shadow».\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
"%s: emergencia: el tcb oculto de %s no es un fichero normal con st_nlink=1.\n"
"La cuenta se queda bloqueada.\n"
#, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: mkdir: %s: %s\n"
#, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: no se pudo abrir %s: %s\n"
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: el usuario %s está actualmente identificado en el sistema\n"
@@ -706,6 +712,13 @@ msgstr ""
" -R, --root DIR_CHROOT establece DIR_CHROOT como el directorio\n"
" al cual hacer chroot\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr ""
" -R, --root DIR_CHROOT establece DIR_CHROOT como el directorio\n"
" al cual hacer chroot\n"
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -734,12 +747,15 @@ msgstr "Contraseña inactiva"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Fecha de caducidad de la cuenta (AAAA-MM-DD)"
msgid "Last password change\t\t\t\t\t: "
msgstr "Último cambio de contraseña\t\t\t\t\t:"
msgid "never"
msgstr "nunca"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr "Último cambio de contraseña\t\t\t\t\t:"
msgid "password must be changed"
msgstr "se debe cambiar la contraseña"
@@ -960,6 +976,11 @@ msgstr ""
" -s, --sha-rounds número de rondas SHA para los algoritmos\n"
" de cifrado SHA*\n"
#, fuzzy, c-format
#| msgid "%s: unsupported crypt method: %s\n"
msgid "%s: no crypt method defined\n"
msgstr "%s: método de cifrado no compatible: %s\n"
#, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr "%s: la opción %s sólo está permitida junto a la opción %s\n"
@@ -1013,6 +1034,17 @@ msgstr ""
msgid "Login Shell"
msgstr "Consola de acceso"
#, fuzzy, c-format
#| msgid "%s: Cannot get the size of %s: %s\n"
msgid "Cannot parse shell files: %s"
msgstr "%s: no se pudo conseguir el tamaño de %s: %s\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "Cannot evaluate entries in shell files: %s"
msgstr ""
"%s: no se puede crear un nuevo fichero de preferencias predeterminadas\n"
#, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "No debería cambiar la consola para «%s».\n"
@@ -1025,6 +1057,11 @@ msgstr "Cambiando la consola de acceso para %s\n"
msgid "%s: Invalid entry: %s\n"
msgstr "%s: entrada incorrecta: %s\n"
#, fuzzy, c-format
#| msgid "%s: %s is an invalid shell\n"
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s: %s es una consola incorrecta.\n"
#, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s: %s es una consola incorrecta.\n"
@@ -1270,9 +1307,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr " -r, --system crea una cuenta del sistema\n"
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
#, fuzzy
#| msgid " -l, --list list the members of the group\n"
msgid " -U, --users USERS list of user members of this group\n"
@@ -1287,6 +1321,11 @@ msgstr "nombre de usuario «%s» incorrecto\n"
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: «%s» no es un nombre de grupo válido\n"
#, fuzzy, c-format
#| msgid "%s: Cannot open %s: %s\n"
msgid "%s: cannot open %s: %s\n"
msgstr "%s: no se pudo abrir %s: %s\n"
#, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "%s: identificador de grupo «%s» incorrecto\n"
@@ -1564,7 +1603,7 @@ msgstr ""
#, fuzzy
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr ""
" -a, --all muestra los registros de faillog para\n"
@@ -1667,9 +1706,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr "%s: posiblemente no se puede trabajar sin el administrador\n"
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr "Sin entrada utmp. Debe ejecutar «login» desde el nivel «sh» más bajo"
#, c-format
msgid ""
"\n"
@@ -1703,14 +1739,6 @@ msgstr "Identificación incorrecta"
msgid "Cannot find user (%s)\n"
msgstr "%s: línea %d: no se puede encontrar el usuario %s\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s nombre: "
#, c-format
msgid "%s: failure forking: %s"
msgstr "%s: se produjo un fallo en la llamada a fork: %s"
@@ -1746,7 +1774,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1773,20 +1802,15 @@ msgstr "%s: se produjo un fallo al eliminar %s\n"
msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: se produjo un fallo al desbloquear %s\n"
#, fuzzy, c-format
#| msgid "%s: failed to find tcb directory for %s\n"
msgid "%s: Could not open proc directory for target %u\n"
msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n"
#, fuzzy, c-format
#| msgid "%s: Failed to create tcb directory for %s\n"
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "%s: se produjo un fallo al crear el directorio tcb para %s\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1819,14 +1843,14 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: Failed to create tcb directory for %s\n"
msgid "%s: Could not stat directory for target process\n"
msgstr "%s: se produjo un fallo al crear el directorio tcb para %s\n"
#, fuzzy
#| msgid " -q, --quiet quiet mode\n"
@@ -1849,6 +1873,10 @@ msgstr "%s: identificador de usuario «%s» incorrecto\n"
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr "%s: nombre de usuario «%s» incorrecto\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: línea %d: línea incorrecta\n"
@@ -1871,6 +1899,11 @@ msgstr "%s: línea %d: no se pudo crear el grupo\n"
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: línea %d: el usuario «%s» no existe en %s\n"
#, fuzzy, c-format
#| msgid "%s: unlink: %s: %s\n"
msgid "%s: line %d: %s\n"
msgstr "%s: unlink: %s: %s\n"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: línea %d: no se puede actualizar la contraseña\n"
@@ -1892,14 +1925,14 @@ msgstr "%s: línea %d: chown %s falló: %s\n"
msgid "%s: line %d: can't update entry\n"
msgstr "%s: línea %d: no se puede actualizar la entrada\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: se produjo un fallo al preparar la nueva %s entrada «%s»\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: no se pudo crear el usuario\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: se produjo un fallo al preparar la nueva %s entrada «%s»\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: no se puede actualizar el fichero de grupo\n"
@@ -1980,6 +2013,13 @@ msgstr ""
"días\n"
" antes de cambiar la contraseña\n"
#, fuzzy
#| msgid " -l, --list show account aging information\n"
msgid " -s, --stdin read new token from stdin\n"
msgstr ""
" -l, --list muestra la información de la edad de la "
"cuenta\n"
msgid "Old password: "
msgstr "Contraseña antigua: "
@@ -2000,6 +2040,11 @@ msgstr ""
"de %d)\n"
"Por favor, use una combinación de letras mayúsculas, minúsculas y números.\n"
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: campos demasiado largos\n"
msgid "New password: "
msgstr "Nueva contraseña: "
@@ -2043,6 +2088,11 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr "%s: repositorio %s no soportado\n"
#, fuzzy, c-format
#| msgid "%s: only root can use the -g/--group option\n"
msgid "%s: only root can use --stdin/-s option\n"
msgstr "%s: sólo el administrador puede utilizar la opción -g/--group\n"
#, fuzzy, c-format
#| msgid "%s: %s is not authorized to change the password of %s\n"
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
@@ -2199,11 +2249,9 @@ msgstr "%s: funcionamiento incorrecto de la señal\n"
msgid "Session terminated, terminating shell..."
msgstr "Sesión finalizada, parando la consola ..."
#, c-format
msgid " ...killed.\n"
msgstr " ... finalizado.\n"
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr " ... esperando a que el hijo finalice.\n"
@@ -2291,6 +2339,11 @@ msgstr "%s: no está autorizado a usar su en este momento\n"
msgid "No passwd entry for user '%s'\n"
msgstr "Sin entrada de contraseña para el administrador («root»)"
#, fuzzy, c-format
#| msgid "invalid user name '%s'\n"
msgid "Overlong user name '%s'\n"
msgstr "nombre de usuario «%s» incorrecto\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr "%s: debe ejecutarse desde un terminal\n"
@@ -2337,6 +2390,13 @@ msgstr "%s: se creó %s, pero no se pudo eliminar\n"
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr "%s: se ignorará la configuración %s en %s\n"
#, fuzzy, c-format
#| msgid "%s: the %s configuration in %s will be ignored\n"
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr "%s: se ignorará la configuración %s en %s\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "%s: cannot create new defaults file: %s\n"
@@ -2441,6 +2501,11 @@ msgstr ""
" -f, --inactive INACTIVO periodo de inactividad de la contraseña\n"
" de la nueva cuenta\n"
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2519,6 +2584,18 @@ msgstr ""
"usuario\n"
" de SELinux\n"
#, fuzzy
#| msgid ""
#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux "
#| "user mapping\n"
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
" -Z, --selinux-user USUARIO_SE utiliza el usuario indicado para el "
"usuario\n"
" de SELinux\n"
#, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr "%s: directorio base «%s» incorrecto\n"
@@ -2668,6 +2745,16 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Estableciendo los permisos del fichero del buzón de correo"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Synchronize mailbox file"
msgstr "Creando el fichero del buzón de correo"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Closing mailbox file"
msgstr "Creando el fichero del buzón de correo"
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2930,6 +3017,13 @@ msgstr ""
" -Z, --selinux-user nuevo usuario de SELinux para la cuenta del\n"
" usuario\n"
#, fuzzy
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
" -Z, --selinux-user nuevo usuario de SELinux para la cuenta del\n"
" usuario\n"
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -3008,18 +3102,43 @@ msgstr ""
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: no se puede renombrar el directorio %s a %s\n"
#, fuzzy, c-format
#| msgid ""
#| "%s: The previous home directory (%s) was not a directory. It is not "
#| "removed and no home directories are created.\n"
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
"%s: el directorio personal anterior (%s) no era un directorio. No se "
"eliminará y no se crearán directorios personales.\n"
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
"%s: se produjo un fallo al copiar la entrada de lastlog del usuario %lu al "
"usuario %lu: %s\n"
#, fuzzy, c-format
#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr ""
"%s: se produjo un fallo al copiar la entrada de lastlog del usuario %lu al "
"usuario %lu: %s\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
"%s: se produjo un fallo al copiar la entrada de faillog del usuario %lu al "
"usuario %lu: %s\n"
#, fuzzy, c-format
#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr ""
"%s: se produjo un fallo al copiar la entrada de faillog del usuario %lu al "
"usuario %lu: %s\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: aviso: %s no pertenece a %s\n"
@@ -3122,8 +3241,10 @@ msgstr "se produjo un fallo al borrar el fichero temporal"
msgid "failed to stat edited file"
msgstr "se produjo un fallo al realizar el «stat» del fichero editado"
msgid "failed to allocate memory"
msgstr "se produjo un fallo al reservar memoria"
#, fuzzy
#| msgid "%s: can't open file\n"
msgid "asprintf(3) failed"
msgstr "%s: no se puede abrir el fichero\n"
msgid "failed to create backup file"
msgstr "se produjo un fallo al crear la copia de seguridad del fichero"
@@ -3136,6 +3257,21 @@ msgstr "%s: no se puede restaurar %s: %s (sus cambios están en %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n"
#~ msgid "too simple"
#~ msgstr "demasiado simple"
#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
#~ msgstr ""
#~ "Sin entrada utmp. Debe ejecutar «login» desde el nivel «sh» más bajo"
#, fuzzy, c-format
#~| msgid "%s: failed to find tcb directory for %s\n"
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n"
#~ msgid "failed to allocate memory"
#~ msgstr "se produjo un fallo al reservar memoria"
#~ msgid "Usage: id\n"
#~ msgstr "Modo de uso: id\n"
@@ -3151,10 +3287,6 @@ msgstr "%s: se produjo un fallo al buscar el directorio tcb de %s\n"
#~ msgid "%s: password expiry information changed.\n"
#~ msgstr "%s: información de caducidad de la contraseña cambiada.\n"
#, c-format
#~ msgid "invalid user name '%s'\n"
#~ msgstr "nombre de usuario «%s» incorrecto\n"
#~ msgid "Username Port From Latest"
#~ msgstr "Nombre Puerto De Último"

678
po/eu.po
View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: eu\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2011-11-26 19:42+0100\n"
"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
"Language-Team: Euskara <debian-l10n-eu@lists.debian.org>\n"
@@ -18,224 +18,6 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 1.2.1\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
"'%s' izeneko sarrera anitz %s-en. Mesedez konpondu pwck edo grpck "
"erabiliaz.\n"
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "libcrypt-ek onartzen ez duen kriptografia metodoa? (%s)\n"
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr "konfigurazio errorea - ezin da %s balioa analizatu: '%s'"
msgid "Could not allocate space for config info.\n"
msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"konfigurazio errorea - %s item ezezaguna (eman honen berri "
"administratzaileari)\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "Password: "
msgstr "Pasahitza: "
#, c-format
msgid "%s's Password: "
msgstr "%s (r)en pasahitza: "
#, fuzzy
#| msgid "Cannot open audit interface - aborting.\n"
msgid "Cannot open audit interface.\n"
msgstr "Ezin da auditatzeko interfazea ireki - uzten.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, c-format
msgid "Could not set serange for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "%s(r)en data informazioa aldatzen\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: Ezin da Erabiltzaile izena zehaztu.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: Ezin da Erabiltzaile izena zehaztu.\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: memoriarik ez\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: ezin da %s ezabatu\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: %s etxe-direktorioa (%s) ez dago\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: ezin da '%s' sarrera %s-tik kendu\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: ezin da %s direktorioa sortu\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "lastlog: Ezinda %s-ren tamaina eskuratu: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: abisua: ezin da %s ezabatu: %s\n"
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: berrizendatu: %s: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: ezin da %s direktorioa %s gisa izenez aldatu\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: ezin da %s direktorioa %s gisa izenez aldatu\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: abisua: ezin da %s ezabatu: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: ezin da %s direktorioa sortu\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "lastlog: Ezinda %s-ren tamaina eskuratu: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: ezin da %s ezabatu\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: `(%d lerroa, %s erabiltzailea) pasahitza ez da aldatu\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: berrizendatu: %s: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: ezin da %s ireki\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr "Abisua: %s talde ezezaguna\n"
@@ -282,6 +64,13 @@ msgstr "Ezin da tty sarrera-estandar modu edo jabea aldatu: %s"
msgid "%s: failed to unlock %s\n"
msgstr "%s: huts %s desblokeatzean\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
"'%s' izeneko sarrera anitz %s-en. Mesedez konpondu pwck edo grpck "
"erabiliaz.\n"
#, c-format
msgid "%s: "
msgstr "%s: "
@@ -289,6 +78,10 @@ msgstr "%s: "
msgid ": "
msgstr ": "
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "libcrypt-ek onartzen ez duen kriptografia metodoa? (%s)\n"
msgid "Environment overflow\n"
msgstr "Inguruneak gainezka egin du\n"
@@ -394,8 +187,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr "%s: ezin da UID bakarra lortu (ez dago UID erabilgarri gehiago)\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgid "configuration error - cannot parse %s value: '%s'"
msgstr "konfigurazio errorea - ezin da %s balioa analizatu: '%s'"
msgid "Could not allocate space for config info.\n"
msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"konfigurazio errorea - %s item ezezaguna (eman honen berri "
"administratzaileari)\n"
#, fuzzy, c-format
#| msgid "%s: Authentication failure\n"
@@ -423,9 +225,10 @@ msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n"
msgid "%s: Could not set caps\n"
msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n"
#, c-format
msgid "%s: snprintf failed!\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: line %d: chown %s failed: %s\n"
msgid "%s: stpeprintf failed!\n"
msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n"
#, fuzzy, c-format
#| msgid "%s: line %d: chown %s failed: %s\n"
@@ -437,9 +240,22 @@ msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n"
msgid "%s: write to %s failed: %s\n"
msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n"
#, fuzzy, c-format
#| msgid "%s: line %d: chown %s failed: %s\n"
msgid "%s: closing %s failed: %s\n"
msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n"
msgid "Too many logins.\n"
msgstr "Gehiegizko saio hasierak.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s izena: "
msgid "You have new mail."
msgstr "Mezu berria duzu."
@@ -449,6 +265,14 @@ msgstr "Mezurik ez."
msgid "You have mail."
msgstr "Mezua duzu."
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "no change"
msgstr "aldaketarik gabe"
@@ -461,9 +285,6 @@ msgstr "Maiuskulak/minuskula bakarrik aldatu da"
msgid "too similar"
msgstr "antzekoegia"
msgid "too simple"
msgstr "sinpleegia"
msgid "rotated"
msgstr "aldirokoa"
@@ -509,6 +330,13 @@ msgid ""
"%s\n"
msgstr "passwd: pam_start() huts egin du, errorea: %d\n"
msgid "Password: "
msgstr "Pasahitza: "
#, c-format
msgid "%s's Password: "
msgstr "%s (r)en pasahitza: "
#, c-format
msgid "Incorrect password for %s.\n"
msgstr "%s(r)en pasahitz okerra.\n"
@@ -533,17 +361,13 @@ msgstr "%s: etxeko tlf baliogabea: '%s'\n"
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: ezin da %s direktorioa sortu\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: ezin da %s direktorioa sortu\n"
#, fuzzy, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: ezin da %s direktorioa sortu\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: ezin da %s direktorioa sortu\n"
#, c-format
msgid ""
@@ -560,6 +384,107 @@ msgid ""
"method.\n"
msgstr ""
#, fuzzy
#| msgid "Cannot open audit interface - aborting.\n"
msgid "Cannot open audit interface.\n"
msgstr "Ezin da auditatzeko interfazea ireki - uzten.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set serange for %s to %s\n"
msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n"
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Ezin izan da lekua esleitu, konfigurazioaren informaziorako.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "%s(r)en data informazioa aldatzen\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: Ezin da Erabiltzaile izena zehaztu.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: Ezin da Erabiltzaile izena zehaztu.\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Ezin da '%s'-ra direktorioa aldatu\n"
@@ -571,6 +496,10 @@ msgstr "Direktoriorik ez, HOME=/ erabiliz saioa hasiko da"
msgid "Cannot execute %s"
msgstr "Ezin izan da %s exekutatu"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, c-format
msgid "Invalid root directory '%s'\n"
msgstr "Baliogabeko erro direktorioa '%s'\n"
@@ -579,6 +508,84 @@ msgstr "Baliogabeko erro direktorioa '%s'\n"
msgid "Can't change root directory to '%s'\n"
msgstr "Ezin da erro direktorioa '%s'-ra aldatu\n"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: memoriarik ez\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: ezin da %s ezabatu\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: %s etxe-direktorioa (%s) ez dago\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: ezin da '%s' sarrera %s-tik kendu\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: ezin da %s direktorioa sortu\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "lastlog: Ezinda %s-ren tamaina eskuratu: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: abisua: ezin da %s ezabatu: %s\n"
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: berrizendatu: %s: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: ezin da %s direktorioa %s gisa izenez aldatu\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: ezin da %s direktorioa %s gisa izenez aldatu\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: abisua: ezin da %s ezabatu: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: ezin da %s direktorioa sortu\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "lastlog: Ezinda %s-ren tamaina eskuratu: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: ezin da %s ezabatu\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: `(%d lerroa, %s erabiltzailea) pasahitza ez da aldatu\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: berrizendatu: %s: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: ezin da %s ireki\n"
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: une honetan %s erabiltzaileak saioan sartuta dago\n"
@@ -653,6 +660,11 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr ""
#, fuzzy
#| msgid " -Q, --root CHROOT_DIR directory to chroot into\n"
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr " -r, --remove-password TALDEaren pasahitaz kendu\n"
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -679,12 +691,15 @@ msgstr "Pasahitza ezgaitua"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Kontuaren iraungitze data (UUUU-HH-EE)"
msgid "Last password change\t\t\t\t\t: "
msgstr "Azken pasahitz aldaketa\t\t\t\t\t: "
msgid "never"
msgstr "Inoiz ere ez"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr "Azken pasahitz aldaketa\t\t\t\t\t: "
msgid "password must be changed"
msgstr "Pasahitza aldatu egin behar da"
@@ -903,6 +918,11 @@ msgstr ""
" -s, --sha-rounds SHA* kriptografia algoritmoentzako\n"
" SHA erronda kopurua\n"
#, fuzzy, c-format
#| msgid "%s: unsupported crypt method: %s\n"
msgid "%s: no crypt method defined\n"
msgstr "%s: onartzen ez den kriptografia metodoa: %s\n"
#, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr "%s: %s bandera bakarrik %s banderarekin onartzen da\n"
@@ -954,6 +974,16 @@ msgstr ""
msgid "Login Shell"
msgstr "Saio-hasierako shell-a"
#, fuzzy, c-format
#| msgid "%s: Cannot get the size of %s: %s\n"
msgid "Cannot parse shell files: %s"
msgstr "%s: Ezinda %s-ren tamaina eskuratu: %s\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "Cannot evaluate entries in shell files: %s"
msgstr "%s: ezin da lehenespen fitxategi berria sortu\n"
#, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "Ez zenuke '%s'-(r)en shell-a aldatu behar.\n"
@@ -966,6 +996,11 @@ msgstr "%s(r)en saio-hasierako shell-a aldatzen\n"
msgid "%s: Invalid entry: %s\n"
msgstr "%s: baliogabeko sarrera: %s\n"
#, fuzzy, c-format
#| msgid "%s: %s is an invalid shell\n"
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s: %s shell baliogabea da\n"
#, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s: %s shell baliogabea da\n"
@@ -1205,11 +1240,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr " -r, --system sistema kontu bat sortu\n"
#, fuzzy
#| msgid " -Q, --root CHROOT_DIR directory to chroot into\n"
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -r, --remove-password TALDEaren pasahitaz kendu\n"
#, fuzzy
#| msgid " -l, --list list the members of the group\n"
msgid " -U, --users USERS list of user members of this group\n"
@@ -1224,6 +1254,10 @@ msgstr "%s erabiltzaile-izen baliogabea\n"
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: '%s' ez da baliozko talde-izena\n"
#, fuzzy, c-format
msgid "%s: cannot open %s: %s\n"
msgstr "%s: ezin da %s ireki\n"
#, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "%s: '%s' talde ID baliogabea\n"
@@ -1502,7 +1536,7 @@ msgstr ""
#, fuzzy
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr ""
" -a, --all erabiltzaile guztien faillog-en\n"
@@ -1605,11 +1639,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr "%s: Ezingo du ziurrenik funtzionatu erro efektibo bat gabe\n"
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr ""
"Ez dago utmp sarrerarik. \"login\" \"sh\" maila baxuenetik exekutatu beharko "
"zenuke"
#, c-format
msgid ""
"\n"
@@ -1643,14 +1672,6 @@ msgstr "Izen okerra"
msgid "Cannot find user (%s)\n"
msgstr "%s: Ezin da Erabiltzaile izena zehaztu.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s izena: "
#, c-format
msgid "%s: failure forking: %s"
msgstr "%s: huts zatitzerakoan: %s"
@@ -1687,7 +1708,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1714,17 +1736,13 @@ msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: huts %s desblokeatzean\n"
#, fuzzy, c-format
msgid "%s: Could not open proc directory for target %u\n"
msgstr "%s: oinarrizko '%s' direktorio baliogabea\n"
#, fuzzy, c-format
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "%s: ezin da %s direktorioa sortu\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1757,14 +1775,13 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Could not stat directory for target process\n"
msgstr "%s: ezin da %s direktorioa sortu\n"
#, fuzzy
#| msgid " -q, --quiet quiet mode\n"
@@ -1787,6 +1804,10 @@ msgstr "%s: '%s' erabiltzaile ID baliogabea\n"
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr "%s: '%s' erabiltzaile-izen baliogabea\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: %d lerroa: lerro baliogabea\n"
@@ -1809,6 +1830,10 @@ msgstr "%s: %d lerroa: ezin da taldea sortu\n"
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: %d lerroa: `%s' erabiltzailea ez da existitzen %s-en\n"
#, fuzzy, c-format
msgid "%s: line %d: %s\n"
msgstr "%s: berrizendatu: %s: %s"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: %d lerroa: ezin da pasahitza eguneratu\n"
@@ -1830,14 +1855,14 @@ msgstr "%s: %d lerroa: chown %s-ek huts egin du: %s\n"
msgid "%s: line %d: can't update entry\n"
msgstr "%s: %d lerroa: ezin da sarrera eguneratu\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: huts %s sarrera berria prestatzean '%s'\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: ezin da erabiltzailea sortu\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: huts %s sarrera berria prestatzean '%s'\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: ezin da taldea sortu\n"
@@ -1913,6 +1938,11 @@ msgstr ""
" -x, --maxdays GEHI_EGUN ezarri pasahitz aldatu aurretik gehienezko\n"
" egun kopurua GEHI_EGUN-era\n"
#, fuzzy
#| msgid " -l, --list show account aging information\n"
msgid " -s, --stdin read new token from stdin\n"
msgstr " -l, --list kontu denbora informazioa bistarazi\n"
msgid "Old password: "
msgstr "Pasahitz zaharra: "
@@ -1932,6 +1962,11 @@ msgstr ""
"Sartu pasahitz berria (gutxienez %d eta gehienez %d karaktere)\n"
"Erabili maiuskulen, minuskulen eta zenbakien arteko konbinazioa.\n"
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: eremu luzegiak\n"
msgid "New password: "
msgstr "Pasahitz berria: "
@@ -1975,6 +2010,11 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr "%s: %s biltegia ez da onartzen\n"
#, fuzzy, c-format
#| msgid "%s: only root can use the -g/--group option\n"
msgid "%s: only root can use --stdin/-s option\n"
msgstr "%s: root-ek bakarrik erabili dezake -g/--group aukera\n"
#, fuzzy, c-format
#| msgid "%s: %s is not authorized to change the password of %s\n"
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
@@ -2128,11 +2168,9 @@ msgstr ""
msgid "Session terminated, terminating shell..."
msgstr ""
#, c-format
msgid " ...killed.\n"
msgstr ""
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr ""
@@ -2219,6 +2257,11 @@ msgstr "%s: Ez duzu orain su erabiltzeko baimenik\n"
msgid "No passwd entry for user '%s'\n"
msgstr "Ez dago 'root'-en pasahitzik"
#, fuzzy, c-format
#| msgid "invalid user name '%s'\n"
msgid "Overlong user name '%s'\n"
msgstr "%s erabiltzaile-izen baliogabea\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr "%s: terminal batetik exekutatu behar da\n"
@@ -2264,6 +2307,13 @@ msgstr ""
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr "%s: %s konfigurazioa %s-n dagoena alde batetara utziko da\n"
#, fuzzy, c-format
#| msgid "%s: the %s configuration in %s will be ignored\n"
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr "%s: %s konfigurazioa %s-n dagoena alde batetara utziko da\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "%s: cannot create new defaults file: %s\n"
@@ -2358,6 +2408,11 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2415,6 +2470,17 @@ msgstr ""
" -Z, --selinux-user SEERAB erabili SEUSER zehatz bat SELinux "
"erabiltzaile mapatzearentzat\n"
#, fuzzy
#| msgid ""
#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux "
#| "user mapping\n"
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
" -Z, --selinux-user SEERAB erabili SEUSER zehatz bat SELinux "
"erabiltzaile mapatzearentzat\n"
#, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr "%s: oinarrizko '%s' direktorio baliogabea\n"
@@ -2554,6 +2620,16 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Postakutxa fitxategi baimenak ezartzen"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Synchronize mailbox file"
msgstr "Postakutxa fitxategia sortzen"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Closing mailbox file"
msgstr "Postakutxa fitxategia sortzen"
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2820,6 +2896,13 @@ msgstr ""
" -Z, --selinux-user SELinux erabiltzaile mapatze berria "
"erabiltzailearen kontuarentzat\n"
#, fuzzy
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
" -Z, --selinux-user SELinux erabiltzaile mapatze berria "
"erabiltzailearen kontuarentzat\n"
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2896,18 +2979,38 @@ msgstr "%s: abisua: huts %s etxe direktorio zaharra guztiz ezabatzerakoan"
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: ezin da %s direktorioa %s gisa izenez aldatu\n"
#, c-format
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
"%s: huts %lu erabiltzailearen lastlog sarrera %lu erabiltzailera kopiatzean: "
"%s\n"
#, fuzzy, c-format
#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr ""
"%s: huts %lu erabiltzailearen lastlog sarrera %lu erabiltzailera kopiatzean: "
"%s\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
"%s: huts %lu erabiltzailearen faillog sarrera %lu erabiltzailera kopiatzean: "
"%s\n"
#, fuzzy, c-format
#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr ""
"%s: huts %lu erabiltzailearen faillog sarrera %lu erabiltzailera kopiatzean: "
"%s\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: abisua: %s ez dago %s(r)en jabegoan\n"
@@ -3011,9 +3114,8 @@ msgstr "%s: huts %s desblokeatzean\n"
msgid "failed to stat edited file"
msgstr "huts egin du postontzia izenez aldatzean"
#, fuzzy
msgid "failed to allocate memory"
msgstr "huts egin du postontzia jabez aldatzean"
msgid "asprintf(3) failed"
msgstr ""
#, fuzzy
msgid "failed to create backup file"
@@ -3027,6 +3129,22 @@ msgstr "%s: ezin da %s leheneratu: %s (zure aldaketak %s(e)n daude)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: oinarrizko '%s' direktorio baliogabea\n"
#~ msgid "too simple"
#~ msgstr "sinpleegia"
#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
#~ msgstr ""
#~ "Ez dago utmp sarrerarik. \"login\" \"sh\" maila baxuenetik exekutatu "
#~ "beharko zenuke"
#, fuzzy, c-format
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "%s: oinarrizko '%s' direktorio baliogabea\n"
#, fuzzy
#~ msgid "failed to allocate memory"
#~ msgstr "huts egin du postontzia jabez aldatzean"
#~ msgid "Usage: id\n"
#~ msgstr "Erabilera: id\n"
@@ -3042,10 +3160,6 @@ msgstr "%s: oinarrizko '%s' direktorio baliogabea\n"
#~ msgid "%s: password expiry information changed.\n"
#~ msgstr "%s: pasahitz iraungitzea informazioa aldatua.\n"
#, c-format
#~ msgid "invalid user name '%s'\n"
#~ msgstr "%s erabiltzaile-izen baliogabea\n"
#~ msgid "Username Port From Latest"
#~ msgstr "Erabiltzaile-izena Ataka Nondik Azkena"

639
po/fi.po
View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.18.1\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2007-11-24 22:54+0100\n"
"Last-Translator: Tommi Vainikainen <thv+debian@iki.fi>\n"
"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
@@ -16,222 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "Asetustiedoille ei voi varata tilaa.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "asetusvirhe - tuntematon kohta \"%s\" (kerro ylläpidolle)\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "Password: "
msgstr "Salasana: "
#, c-format
msgid "%s's Password: "
msgstr "Käyttäjän %s salasana: "
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "Salasanatiedostoa ei voi avata.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, c-format
msgid "Could not set serange for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Asetustiedoille ei voi varata tilaa.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "Muutetaan käyttäjän %s vanhenemistietoja\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: Käyttäjätunnusta ei voi selvittää.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: rivi %d: käyttäjää %s ei löydy\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: muisti loppui\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: tiedostoa %s ei voi päivittää\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: virheellinen kotihakemisto \"%s\"\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: varoitus: ei voi poistaa tiedostoa "
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: varoitus: ei voi poistaa tiedostoa "
# Kannattaako tuota kääntää, siinä viitataan rename()-funktioon...
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: varoitus: ei voi poistaa tiedostoa "
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: varoitus: ei voi poistaa tiedostoa "
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: tiedostoa %s ei voi päivittää\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: varjotiedostoa ei voi päivittää\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
# Kannattaako tuota kääntää, siinä viitataan rename()-funktioon...
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: tiedostoa %s ei voi lukita\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr "Varoitus: tuntematon ryhmä %s\n"
@@ -278,6 +62,11 @@ msgstr "Päätettä %s ei voi vaihtaa"
msgid "%s: failed to unlock %s\n"
msgstr "%s: kentät liian pitkiä\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: "
msgstr "%s: %s\n"
@@ -285,6 +74,10 @@ msgstr "%s: %s\n"
msgid ": "
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
msgid "Environment overflow\n"
msgstr "Ympäristön ylivuoto\n"
@@ -385,9 +178,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr "%s: ei saa ainutkertaista UID:tä\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "Asetustiedoille ei voi varata tilaa.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "asetusvirhe - tuntematon kohta \"%s\" (kerro ylläpidolle)\n"
#, fuzzy, c-format
msgid "%s: Memory allocation failure\n"
msgstr "%s: PAM-todennus epäonnistui\n"
@@ -415,7 +215,7 @@ msgstr "Asetustiedoille ei voi varata tilaa.\n"
#, fuzzy, c-format
#| msgid "%s: can't open file\n"
msgid "%s: snprintf failed!\n"
msgid "%s: stpeprintf failed!\n"
msgstr "%s: tiedosta ei voi avata\n"
#, fuzzy, c-format
@@ -426,9 +226,21 @@ msgstr "%s: rivi %d: chown epäonnistui\n"
msgid "%s: write to %s failed: %s\n"
msgstr "%s: rivi %d: chown epäonnistui\n"
#, fuzzy, c-format
msgid "%s: closing %s failed: %s\n"
msgstr "%s: rivi %d: chown epäonnistui\n"
msgid "Too many logins.\n"
msgstr "Liian monta sisäänkirjautumista.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s-tunnus: "
msgid "You have new mail."
msgstr "Sinulle on uutta postia."
@@ -438,6 +250,14 @@ msgstr "Ei postia."
msgid "You have mail."
msgstr "Sinulle on postia."
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "no change"
msgstr "ei muutoksia"
@@ -450,9 +270,6 @@ msgstr "vain kirjainkoon muutoksia"
msgid "too similar"
msgstr "liian samankaltainen"
msgid "too simple"
msgstr "liian yksinkertainen"
msgid "rotated"
msgstr "pyöräytetty"
@@ -499,6 +316,13 @@ msgid ""
"%s\n"
msgstr "passwd: pam_start() epäonnistui, virhe %d\n"
msgid "Password: "
msgstr "Salasana: "
#, c-format
msgid "%s's Password: "
msgstr "Käyttäjän %s salasana: "
#, c-format
msgid "Incorrect password for %s.\n"
msgstr "Väärä salasana käyttäjälle \"%s\".\n"
@@ -523,17 +347,13 @@ msgstr "%s: virheellinen kotipuhelin: \"%s\"\n"
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
#, fuzzy, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
#, c-format
msgid ""
@@ -548,6 +368,107 @@ msgid ""
"method.\n"
msgstr ""
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "Salasanatiedostoa ei voi avata.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set serange for %s to %s\n"
msgstr "Asetustiedoille ei voi varata tilaa.\n"
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Asetustiedoille ei voi varata tilaa.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "Muutetaan käyttäjän %s vanhenemistietoja\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: Käyttäjätunnusta ei voi selvittää.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: rivi %d: käyttäjää %s ei löydy\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Ei voi vaihtaa hakemistoon \"%s\"\n"
@@ -559,6 +480,10 @@ msgstr "Ei hakemistoa, sisäänkirjaudutaan siten, että HOME=/"
msgid "Cannot execute %s"
msgstr "Ei voi suorittaa %s"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, c-format
msgid "Invalid root directory '%s'\n"
msgstr "Virheellinen juurihakemisto \"%s\"\n"
@@ -567,6 +492,86 @@ msgstr "Virheellinen juurihakemisto \"%s\"\n"
msgid "Can't change root directory to '%s'\n"
msgstr "Ei voi vaihtaa juurihakemistoksi \"%s\"\n"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: muisti loppui\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: tiedostoa %s ei voi päivittää\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: virheellinen kotihakemisto \"%s\"\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: varoitus: ei voi poistaa tiedostoa "
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: varoitus: ei voi poistaa tiedostoa "
# Kannattaako tuota kääntää, siinä viitataan rename()-funktioon...
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: varoitus: ei voi poistaa tiedostoa "
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: varoitus: ei voi poistaa tiedostoa "
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: tiedostoa %s ei voi päivittää\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: varjotiedostoa ei voi päivittää\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
# Kannattaako tuota kääntää, siinä viitataan rename()-funktioon...
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: tiedostoa %s ei voi lukita\n"
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: käyttäjä %s on nyt sisäänkirjautuneena\n"
@@ -626,6 +631,9 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr ""
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr ""
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -651,12 +659,15 @@ msgstr "Salasana pois käytöstä"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Tunnuksen vanhenemispäiväys (VVVV-KK-PP)"
msgid "Last password change\t\t\t\t\t: "
msgstr "Edellinen salasanan vaihto\t\t\t\t\t: "
msgid "never"
msgstr "ei koskaan"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr "Edellinen salasanan vaihto\t\t\t\t\t: "
msgid "password must be changed"
msgstr "salasana täytyy vaihtaa"
@@ -860,6 +871,10 @@ msgid ""
" or YESCRYPT crypt algorithms\n"
msgstr ""
#, c-format
msgid "%s: no crypt method defined\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr "%s: Valitsinta -a voi käyttää VAIN yhdessä valitsimen -G kanssa\n"
@@ -910,6 +925,15 @@ msgstr ""
msgid "Login Shell"
msgstr "Sisäänkirjautumiskuori"
#, fuzzy, c-format
msgid "Cannot parse shell files: %s"
msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "Cannot evaluate entries in shell files: %s"
msgstr "%s: uutta defaults-tiedostoa ei voi luoda\n"
#, fuzzy, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "Et voi muuttaa käyttäjän %s kuorta.\n"
@@ -922,6 +946,10 @@ msgstr "Muutetaan käyttäjän %s sisäänkirjautumiskuorta\n"
msgid "%s: Invalid entry: %s\n"
msgstr "%s: Virheellinen tietue: %s\n"
#, fuzzy, c-format
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s on virheellinen kuori.\n"
#, fuzzy, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s on virheellinen kuori.\n"
@@ -1132,9 +1160,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
@@ -1147,6 +1172,10 @@ msgstr "virheellinen käyttäjätunnus \"%s\"\n"
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s ei ole kelpo ryhmänimi\n"
#, fuzzy, c-format
msgid "%s: cannot open %s: %s\n"
msgstr "%s: tiedostoa %s ei voi lukita\n"
#, fuzzy, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "virheellinen ryhmänimi \"%s\"\n"
@@ -1390,7 +1419,7 @@ msgid ""
msgstr ""
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr ""
@@ -1484,9 +1513,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr ""
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr "Ei utmp-tietuetta. Suorita \"login\" alimman tason kuoresta"
#, fuzzy, c-format
msgid ""
"\n"
@@ -1520,14 +1546,6 @@ msgstr "Sisäänkirjautuminen epäonnistui"
msgid "Cannot find user (%s)\n"
msgstr "%s: rivi %d: käyttäjää %s ei löydy\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s-tunnus: "
#, c-format
msgid "%s: failure forking: %s"
msgstr "%s: fork-kutsu epäonnistui: %s"
@@ -1565,7 +1583,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1590,17 +1609,13 @@ msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: kentät liian pitkiä\n"
#, fuzzy, c-format
msgid "%s: Could not open proc directory for target %u\n"
msgstr "%s: virheellinen perushakemisto \"%s\"\n"
#, fuzzy, c-format
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1634,14 +1649,13 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Could not stat directory for target process\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
msgid " -b, --badname allow bad names\n"
msgstr ""
@@ -1662,6 +1676,10 @@ msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n"
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr "%s: virheellinen käyttäjätunnus \"%s\"\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: rivi %d: virheellinen rivi\n"
@@ -1682,6 +1700,11 @@ msgstr "%s: rivi %d: GIDiä ei voi luoda\n"
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: käyttäjää %s ei ole olemassa\n"
# Kannattaako tuota kääntää, siinä viitataan rename()-funktioon...
#, fuzzy, c-format
msgid "%s: line %d: %s\n"
msgstr "%s: rename: %s"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: rivi %d: salasanaa ei voi päivittää\n"
@@ -1702,14 +1725,14 @@ msgstr "%s: rivi %d: chown epäonnistui\n"
msgid "%s: line %d: can't update entry\n"
msgstr "%s: rivi %d: tietuetta ei voi päivittää\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: Oikeuksien pudottaminen epäonnistui (%s)\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: tiedostoa %s ei voi luoda\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: Oikeuksien pudottaminen epäonnistui (%s)\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: ryhmätiedostoa ei voi päivittää\n"
@@ -1768,6 +1791,9 @@ msgid ""
" change to MAX_DAYS\n"
msgstr ""
msgid " -s, --stdin read new token from stdin\n"
msgstr ""
msgid "Old password: "
msgstr "Vanha salasana: "
@@ -1787,6 +1813,11 @@ msgstr ""
"Syötä uusi salasana (vähintään %d ja korkeintaan %d merkkiä)\n"
"Käytäthän salasanassa numeroita sekä pien- ja suuraakkosia.\n"
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: kentät liian pitkiä\n"
msgid "New password: "
msgstr "Uusi salasana: "
@@ -1827,6 +1858,10 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr "%s: tietolähdettä %s ei tueta\n"
#, c-format
msgid "%s: only root can use --stdin/-s option\n"
msgstr ""
#, c-format
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
msgstr ""
@@ -1970,11 +2005,9 @@ msgstr ""
msgid "Session terminated, terminating shell..."
msgstr ""
#, c-format
msgid " ...killed.\n"
msgstr ""
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr ""
@@ -2061,6 +2094,11 @@ msgstr "Sinulla ei ole lupaa asettua käyttäjäksi %s\n"
msgid "No passwd entry for user '%s'\n"
msgstr "Ei salasanatietuetta pääkäyttäjälle (\"root\")"
#, fuzzy, c-format
#| msgid "invalid user name '%s'\n"
msgid "Overlong user name '%s'\n"
msgstr "virheellinen käyttäjätunnus \"%s\"\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr "%s: täytyy suorittaa päätteessä\n"
@@ -2106,6 +2144,12 @@ msgstr ""
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr ""
#, c-format
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "%s: cannot create new defaults file: %s\n"
@@ -2190,6 +2234,11 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2245,6 +2294,11 @@ msgid ""
"mapping\n"
msgstr ""
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
#, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr "%s: virheellinen perushakemisto \"%s\"\n"
@@ -2376,6 +2430,16 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Asetetaan postilaatikkotiedoston oikeudet"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Synchronize mailbox file"
msgstr "Luodaan postilaatikkotiedosto"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Closing mailbox file"
msgstr "Luodaan postilaatikkotiedosto"
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2600,6 +2664,10 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2673,14 +2741,28 @@ msgstr ""
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: hakemistoa %s ei voi uudelleennimetä hakemistoksi %s\n"
#, c-format
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr "%s: salasanatiedostoa ei voi päivittää\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr "%s: hakemistoa %s ei voi luoda\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: varoitus: tiedoston %s omistaja ei ole %s\n"
@@ -2786,8 +2868,9 @@ msgid "failed to stat edited file"
msgstr "postilaatikon uudelleennimeäminen epäonnistui"
#, fuzzy
msgid "failed to allocate memory"
msgstr "postilaatikon omistajan vaihtaminen epäonnistui"
#| msgid "%s: can't open file\n"
msgid "asprintf(3) failed"
msgstr "%s: tiedosta ei voi avata\n"
#, fuzzy
msgid "failed to create backup file"
@@ -2802,6 +2885,20 @@ msgstr ""
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: virheellinen perushakemisto \"%s\"\n"
#~ msgid "too simple"
#~ msgstr "liian yksinkertainen"
#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
#~ msgstr "Ei utmp-tietuetta. Suorita \"login\" alimman tason kuoresta"
#, fuzzy, c-format
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "%s: virheellinen perushakemisto \"%s\"\n"
#, fuzzy
#~ msgid "failed to allocate memory"
#~ msgstr "postilaatikon omistajan vaihtaminen epäonnistui"
#~ msgid "Usage: id\n"
#~ msgstr "Käyttö: id\n"
@@ -2817,10 +2914,6 @@ msgstr "%s: virheellinen perushakemisto \"%s\"\n"
#~ msgid "%s: password expiry information changed.\n"
#~ msgstr "Salasanan vanhenemisvaroitus"
#, c-format
#~ msgid "invalid user name '%s'\n"
#~ msgstr "virheellinen käyttäjätunnus \"%s\"\n"
#~ msgid "Username Port From Latest"
#~ msgstr "Käyttäjä Portti Mistä Viimeksi"

1297
po/fr.po

File diff suppressed because it is too large Load Diff

642
po/gl.po
View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.18\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2006-07-18 23:27+0200\n"
"Last-Translator: Jacobo Tarrio <jtarrio@debian.org>\n"
"Language-Team: Galician <trasno@ceu.fi.udc.es>\n"
@@ -16,222 +16,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n!=1;\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "Non se puido reservar espacio para a información de configuración.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"erro de configuración - elemento \"%s\" descoñecido (avise ao "
"administrador)\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "Password: "
msgstr "Contrasinal: "
#, c-format
msgid "%s's Password: "
msgstr "Contrasinal de %s: "
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "Non se pode abrir o ficheiro de contrasinais.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, c-format
msgid "Could not set serange for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Non se puido reservar espacio para a información de configuración.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "A cambiar a información de caducidade de %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: Non se pode determinar o seu nome de usuario.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: liña %d: non se pode atopar o usuario %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: memoria esgotada\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: non se pode actualizar o ficheiro %s\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: directorio inicial \"%s\" non válido\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: non se pode crear o directorio %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: aviso: non se pode eliminar "
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: aviso: non se pode eliminar "
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: aviso: non se pode eliminar "
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: non se pode crear o directorio %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: aviso: non se pode eliminar "
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: non se pode actualizar o ficheiro %s\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: non se pode actualizar o ficheiro shadow\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: non se pode abrir o ficheiro %s\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr "Aviso: grupo %s descoñecido\n"
@@ -278,6 +62,11 @@ msgstr "Non se puido cambiar o tty %s"
msgid "%s: failed to unlock %s\n"
msgstr "%s: campos longos de máis\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: "
msgstr "%s: %s\n"
@@ -285,6 +74,10 @@ msgstr "%s: %s\n"
msgid ": "
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
msgid "Environment overflow\n"
msgstr "Desbordamento nas variables de ambiente\n"
@@ -385,9 +178,18 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr "%s: non se pode obter un UID único\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "Non se puido reservar espacio para a información de configuración.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"erro de configuración - elemento \"%s\" descoñecido (avise ao "
"administrador)\n"
#, fuzzy, c-format
msgid "%s: Memory allocation failure\n"
msgstr "%s: a autenticación con PAM fallou\n"
@@ -415,7 +217,7 @@ msgstr "Non se puido reservar espacio para a información de configuración.\n"
#, fuzzy, c-format
#| msgid "%s: can't open file\n"
msgid "%s: snprintf failed!\n"
msgid "%s: stpeprintf failed!\n"
msgstr "%s: non se pode abrir o ficheiro\n"
#, fuzzy, c-format
@@ -426,9 +228,21 @@ msgstr "%s: liña %d: a chamada a chown fallou\n"
msgid "%s: write to %s failed: %s\n"
msgstr "%s: liña %d: a chamada a chown fallou\n"
#, fuzzy, c-format
msgid "%s: closing %s failed: %s\n"
msgstr "%s: liña %d: a chamada a chown fallou\n"
msgid "Too many logins.\n"
msgstr "Entrou demasiadas veces.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s login: "
msgid "You have new mail."
msgstr "Ten novo correo."
@@ -438,6 +252,14 @@ msgstr "Non hai correo."
msgid "You have mail."
msgstr "Ten correo."
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "no change"
msgstr "ningún cambio"
@@ -450,9 +272,6 @@ msgstr "só cambia maiúsculas/minúsculas"
msgid "too similar"
msgstr "semellantes de máis"
msgid "too simple"
msgstr "simple de máis"
msgid "rotated"
msgstr "rotado"
@@ -499,6 +318,13 @@ msgid ""
"%s\n"
msgstr "passwd: a chamada a pam_start() fallou, erro %d\n"
msgid "Password: "
msgstr "Contrasinal: "
#, c-format
msgid "%s's Password: "
msgstr "Contrasinal de %s: "
#, c-format
msgid "Incorrect password for %s.\n"
msgstr "Contrasinal incorrecto para %s.\n"
@@ -523,17 +349,13 @@ msgstr "%s: teléfono da casa non válido: \"%s\"\n"
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: non se pode crear o directorio %s\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: non se pode crear o directorio %s\n"
#, fuzzy, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: non se pode crear o directorio %s\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: non se pode crear o directorio %s\n"
#, c-format
msgid ""
@@ -548,6 +370,107 @@ msgid ""
"method.\n"
msgstr ""
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "Non se pode abrir o ficheiro de contrasinais.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set serange for %s to %s\n"
msgstr "Non se puido reservar espacio para a información de configuración.\n"
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Non se puido reservar espacio para a información de configuración.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "A cambiar a información de caducidade de %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: Non se pode determinar o seu nome de usuario.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: liña %d: non se pode atopar o usuario %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Non se puido cambiar a \"%s\"\n"
@@ -559,6 +482,10 @@ msgstr "Non hai un directorio, éntrase con HOME=/"
msgid "Cannot execute %s"
msgstr "Non se pode executar %s"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, c-format
msgid "Invalid root directory '%s'\n"
msgstr "Directorio raíz \"%s\" non válido\n"
@@ -567,6 +494,84 @@ msgstr "Directorio raíz \"%s\" non válido\n"
msgid "Can't change root directory to '%s'\n"
msgstr "Non se pode cambiar o directorio raíz a \"%s\"\n"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: memoria esgotada\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: non se pode actualizar o ficheiro %s\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: directorio inicial \"%s\" non válido\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: non se pode crear o directorio %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: aviso: non se pode eliminar "
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: aviso: non se pode eliminar "
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: aviso: non se pode eliminar "
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: non se pode crear o directorio %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: aviso: non se pode eliminar "
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: non se pode actualizar o ficheiro %s\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: non se pode actualizar o ficheiro shadow\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: non se pode abrir o ficheiro %s\n"
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: o usuario %s está conectado\n"
@@ -626,6 +631,9 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr ""
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr ""
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -651,12 +659,15 @@ msgstr "Contrasinal inactivo"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Data de caducidade da conta (AAAA-MM-DD)"
msgid "Last password change\t\t\t\t\t: "
msgstr "Último cambio de contrasinal\t\t\t\t: "
msgid "never"
msgstr "nunca"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr "Último cambio de contrasinal\t\t\t\t: "
msgid "password must be changed"
msgstr "debe cambiarse o contrasinal"
@@ -860,6 +871,10 @@ msgid ""
" or YESCRYPT crypt algorithms\n"
msgstr ""
#, c-format
msgid "%s: no crypt method defined\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr "%s: o modificador -a SÓ se admite co modificador -G\n"
@@ -910,6 +925,15 @@ msgstr ""
msgid "Login Shell"
msgstr "Intérprete de ordes"
#, fuzzy, c-format
msgid "Cannot parse shell files: %s"
msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "Cannot evaluate entries in shell files: %s"
msgstr "%s: non se pode crear o novo ficheiro de valores por defecto\n"
#, fuzzy, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "Non pode cambiar o intérprete de ordes de %s.\n"
@@ -922,6 +946,10 @@ msgstr "A cambiar o intérprete de ordes de %s\n"
msgid "%s: Invalid entry: %s\n"
msgstr "%s: Entrada non válida: %s\n"
#, fuzzy, c-format
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s non é un intérprete de ordes válido.\n"
#, fuzzy, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s non é un intérprete de ordes válido.\n"
@@ -1132,9 +1160,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
@@ -1147,6 +1172,10 @@ msgstr "nome de usuario \"%s\" non válido\n"
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s non é un nome de grupo válido\n"
#, fuzzy, c-format
msgid "%s: cannot open %s: %s\n"
msgstr "%s: non se pode abrir o ficheiro %s\n"
#, fuzzy, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "nome de grupo \"%s\" non válido\n"
@@ -1390,7 +1419,7 @@ msgid ""
msgstr ""
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr ""
@@ -1484,11 +1513,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr ""
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr ""
"Non hai unha entrada en utmp. Debe executar \"login\" dende o \"sh\" de "
"nivel máis baixo"
#, fuzzy, c-format
msgid ""
"\n"
@@ -1522,14 +1546,6 @@ msgstr "Entrada incorrecta"
msgid "Cannot find user (%s)\n"
msgstr "%s: liña %d: non se pode atopar o usuario %s\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s login: "
#, c-format
msgid "%s: failure forking: %s"
msgstr "%s: fallo ao lanzar o proceso: %s"
@@ -1566,7 +1582,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1591,17 +1608,13 @@ msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: campos longos de máis\n"
#, fuzzy, c-format
msgid "%s: Could not open proc directory for target %u\n"
msgstr "%s: directorio base \"%s\" non válido\n"
#, fuzzy, c-format
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "%s: non se pode crear o directorio %s\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1635,14 +1648,13 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Could not stat directory for target process\n"
msgstr "%s: non se pode crear o directorio %s\n"
msgid " -b, --badname allow bad names\n"
msgstr ""
@@ -1663,6 +1675,10 @@ msgstr "%s: nome de usuario \"%s\" non válido\n"
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr "%s: nome de usuario \"%s\" non válido\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: liña %d: liña non válida\n"
@@ -1683,6 +1699,10 @@ msgstr "%s: liña %d: non se pode crear o GID\n"
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: o usuario %s non existe\n"
#, fuzzy, c-format
msgid "%s: line %d: %s\n"
msgstr "%s: rename: %s"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: liña %d: non se pode actualizar o contrasinal\n"
@@ -1703,14 +1723,14 @@ msgstr "%s: liña %d: a chamada a chown fallou\n"
msgid "%s: line %d: can't update entry\n"
msgstr "%s: liña %d: non se pode actualizar a entrada\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: non se puido deixar os privilexios (%s)\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: non se pode crear %s\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: non se puido deixar os privilexios (%s)\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: non se pode actualizar o ficheiro de grupos\n"
@@ -1769,6 +1789,9 @@ msgid ""
" change to MAX_DAYS\n"
msgstr ""
msgid " -s, --stdin read new token from stdin\n"
msgstr ""
msgid "Old password: "
msgstr "Contrasinal antigo: "
@@ -1788,6 +1811,11 @@ msgstr ""
"Introduza o novo contrasinal (mínimo de %d, máximo de %d caracteres)\n"
"Empregue unha combinación de maiúsculas, minúsculas e números.\n"
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: campos longos de máis\n"
msgid "New password: "
msgstr "Novo contrasinal: "
@@ -1828,6 +1856,10 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr "%s: non se soporta o repositorio %s\n"
#, c-format
msgid "%s: only root can use --stdin/-s option\n"
msgstr ""
#, c-format
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
msgstr ""
@@ -1971,11 +2003,9 @@ msgstr ""
msgid "Session terminated, terminating shell..."
msgstr ""
#, c-format
msgid " ...killed.\n"
msgstr ""
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr ""
@@ -2048,6 +2078,11 @@ msgstr "Non está autorizado para facer su %s\n"
msgid "No passwd entry for user '%s'\n"
msgstr "Non hai unha entrada de contrasinal para \"root\""
#, fuzzy, c-format
#| msgid "invalid user name '%s'\n"
msgid "Overlong user name '%s'\n"
msgstr "nome de usuario \"%s\" non válido\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr "%s: débese executar dende un terminal\n"
@@ -2093,6 +2128,12 @@ msgstr ""
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr ""
#, c-format
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "%s: cannot create new defaults file: %s\n"
@@ -2176,6 +2217,11 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2231,6 +2277,11 @@ msgid ""
"mapping\n"
msgstr ""
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
#, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr "%s: directorio base \"%s\" non válido\n"
@@ -2362,6 +2413,16 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "A estabrecer os permisos do ficheiro da caixa do correo"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Synchronize mailbox file"
msgstr "A crear o ficheiro da caixa do correo"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Closing mailbox file"
msgstr "A crear o ficheiro da caixa do correo"
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2587,6 +2648,10 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2660,14 +2725,28 @@ msgstr ""
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: non se pode cambiar o nome do directorio %s a %s\n"
#, c-format
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr "%s: non se pode actualizar o ficheiro de contrasinais\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr "%s: non se pode crear o directorio %s\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: aviso: %s non pertence a %s\n"
@@ -2773,8 +2852,9 @@ msgid "failed to stat edited file"
msgstr "non se puido cambiar o nome da caixa do correo"
#, fuzzy
msgid "failed to allocate memory"
msgstr "non se puido cambiar o propietario da caixa do correo"
#| msgid "%s: can't open file\n"
msgid "asprintf(3) failed"
msgstr "%s: non se pode abrir o ficheiro\n"
#, fuzzy
msgid "failed to create backup file"
@@ -2788,6 +2868,22 @@ msgstr "%s: non se pode restaurar %s: %s (os seus cambios están en %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: directorio base \"%s\" non válido\n"
#~ msgid "too simple"
#~ msgstr "simple de máis"
#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
#~ msgstr ""
#~ "Non hai unha entrada en utmp. Debe executar \"login\" dende o \"sh\" de "
#~ "nivel máis baixo"
#, fuzzy, c-format
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "%s: directorio base \"%s\" non válido\n"
#, fuzzy
#~ msgid "failed to allocate memory"
#~ msgstr "non se puido cambiar o propietario da caixa do correo"
#~ msgid "Usage: id\n"
#~ msgstr "Emprego: id\n"
@@ -2803,10 +2899,6 @@ msgstr "%s: directorio base \"%s\" non válido\n"
#~ msgid "%s: password expiry information changed.\n"
#~ msgstr "Aviso de caducidade de contrasinal"
#, c-format
#~ msgid "invalid user name '%s'\n"
#~ msgstr "nome de usuario \"%s\" non válido\n"
#~ msgid "Username Port From Latest"
#~ msgstr "Usuario Porto Desde Última"

613
po/he.po
View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2004-07-21 23:59+0300\n"
"Last-Translator: Lior Kaplan <webmaster@guides.co.il>\n"
"Language-Team: Hebrew <en@li.org>\n"
@@ -18,220 +18,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "שגיאת הגדרות - רכיב לא ידוע '%s' (הודע למנהל)\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "Password: "
msgstr "סיסמה: "
#, c-format
msgid "%s's Password: "
msgstr "הסיסמה של %s: "
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "לא יכול לפתוח את קובץ הסיסמאות.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, c-format
msgid "Could not set serange for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "שנה מידע הזדקות בשביל %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "%s: out of memory\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: לא יכול לנעול קובץ צל\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "ספרית שורש לא חוקית \"%s\"\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: לא יכול לנעול קובץ צל\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: לא יכול לנעול קובץ צל\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: לא יכול לפתוח קובץ צל\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr "אזהרה: קבוצה לא מוכרת %s\n"
@@ -278,6 +64,11 @@ msgstr "לא יכול לשנות tty %s"
msgid "%s: failed to unlock %s\n"
msgstr "%s: שדות ארוכים מידי\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: "
msgstr "passwd: %s\n"
@@ -285,6 +76,10 @@ msgstr "passwd: %s\n"
msgid ": "
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
msgid "Environment overflow\n"
msgstr "הצפת סביבה\n"
@@ -381,9 +176,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr "%s: שם לא חוקי: \"%s\"\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "שגיאת הגדרות - רכיב לא ידוע '%s' (הודע למנהל)\n"
#, fuzzy, c-format
msgid "%s: Memory allocation failure\n"
msgstr "%s: זיהוי PAM נכשל\n"
@@ -408,9 +210,9 @@ msgstr "לא יכול להקצות מקום בשביל מידע על הקונפ
msgid "%s: Could not set caps\n"
msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n"
#, c-format
msgid "%s: snprintf failed!\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: stpeprintf failed!\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: open of %s failed: %s\n"
@@ -420,9 +222,19 @@ msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
msgid "%s: write to %s failed: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: closing %s failed: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
msgid "Too many logins.\n"
msgstr "יותר מידי כניסות למערכת.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
msgid "You have new mail."
msgstr "יש לך דואר חדש."
@@ -432,6 +244,14 @@ msgstr "אין דואר."
msgid "You have mail."
msgstr "יש לך דואר."
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "no change"
msgstr ""
@@ -444,9 +264,6 @@ msgstr ""
msgid "too similar"
msgstr ""
msgid "too simple"
msgstr ""
msgid "rotated"
msgstr ""
@@ -490,6 +307,13 @@ msgid ""
"%s\n"
msgstr ""
msgid "Password: "
msgstr "סיסמה: "
#, c-format
msgid "%s's Password: "
msgstr "הסיסמה של %s: "
#, c-format
msgid "Incorrect password for %s.\n"
msgstr ""
@@ -514,17 +338,13 @@ msgstr "%s: מספר טלפון בבית לא חוקי: \"%s\"\n"
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n"
#, fuzzy, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "ספרית שורש לא חוקית \"%s\"\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n"
#, c-format
msgid ""
@@ -539,6 +359,107 @@ msgid ""
"method.\n"
msgstr ""
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "לא יכול לפתוח את קובץ הסיסמאות.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set serange for %s to %s\n"
msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n"
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "לא יכול להקצות מקום בשביל מידע על הקונפיגורציה.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "שנה מידע הזדקות בשביל %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, fuzzy, c-format
msgid "Unable to cd to '%s'\n"
msgstr "לא יכול לבצע cd ל-\"%s\"\n"
@@ -550,6 +471,10 @@ msgstr "אין ספריה, נכנס למערכת עם HOME=/"
msgid "Cannot execute %s"
msgstr "לא יכול להריץ %s"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, fuzzy, c-format
msgid "Invalid root directory '%s'\n"
msgstr "ספרית שורש לא חוקית \"%s\"\n"
@@ -558,6 +483,84 @@ msgstr "ספרית שורש לא חוקית \"%s\"\n"
msgid "Can't change root directory to '%s'\n"
msgstr "לא יכול לשנות ספרית שורש ל-\"%s\"\n"
#, c-format
msgid "%s: out of memory\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: לא יכול לנעול קובץ צל\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "ספרית שורש לא חוקית \"%s\"\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: לא יכול לנעול קובץ צל\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: לא יכול לנעול קובץ צל\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: לא יכול לפתוח קובץ צל\n"
#, fuzzy, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: שם לא חוקי: \"%s\"\n"
@@ -616,6 +619,9 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr ""
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr ""
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -641,14 +647,17 @@ msgstr "סיסמה לא פעילה"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "תאריך תוקף חשבון (YYYY-MM-DD)"
#, fuzzy
msgid "Last password change\t\t\t\t\t: "
msgstr "שינוי סיסמה אחרון (YYYY-MM-DD)"
#, fuzzy
msgid "never"
msgstr "אף פעם"
msgid "future"
msgstr ""
#, fuzzy
msgid "Last password change\t\t\t\t\t: "
msgstr "שינוי סיסמה אחרון (YYYY-MM-DD)"
msgid "password must be changed"
msgstr ""
@@ -855,6 +864,10 @@ msgid ""
" or YESCRYPT crypt algorithms\n"
msgstr ""
#, c-format
msgid "%s: no crypt method defined\n"
msgstr ""
#, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr ""
@@ -905,6 +918,14 @@ msgstr ""
msgid "Login Shell"
msgstr "מעטפת כניסה למערכת"
#, fuzzy, c-format
msgid "Cannot parse shell files: %s"
msgstr "%s: לא יכול לשנות משתמש `%s' על לקוח NIS.\n"
#, fuzzy, c-format
msgid "Cannot evaluate entries in shell files: %s"
msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות\n"
#, fuzzy, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "אינך רשאי לשנות את המעטפת בשביל %s.\n"
@@ -917,6 +938,10 @@ msgstr "משנה מעטפת כניסה למערכת בשביל %s\n"
msgid "%s: Invalid entry: %s\n"
msgstr "%s: רשומה לא חוקית: %s\n"
#, fuzzy, c-format
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s היא מעטפת לא חוקית.\n"
#, fuzzy, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s היא מעטפת לא חוקית.\n"
@@ -1125,9 +1150,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
@@ -1139,6 +1161,10 @@ msgstr "%s: שם לא חוקי: \"%s\"\n"
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: שם לא חוקי: \"%s\"\n"
#, fuzzy, c-format
msgid "%s: cannot open %s: %s\n"
msgstr "%s: לא יכול לפתוח קובץ צל\n"
#, fuzzy, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "%s: שם לא חוקי: \"%s\"\n"
@@ -1386,7 +1412,7 @@ msgid ""
msgstr ""
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr ""
@@ -1475,9 +1501,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr ""
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr ""
#, c-format
msgid ""
"\n"
@@ -1509,12 +1532,6 @@ msgstr ""
msgid "Cannot find user (%s)\n"
msgstr "%s: לא יכול לקבוע את שם המשתמש שלך.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
#, c-format
msgid "%s: failure forking: %s"
msgstr ""
@@ -1549,7 +1566,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1573,17 +1591,13 @@ msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: שדות ארוכים מידי\n"
#, fuzzy, c-format
msgid "%s: Could not open proc directory for target %u\n"
msgstr "ספרית שורש לא חוקית \"%s\"\n"
#, fuzzy, c-format
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "ספרית שורש לא חוקית \"%s\"\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1617,14 +1631,13 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Could not stat directory for target process\n"
msgstr "ספרית שורש לא חוקית \"%s\"\n"
msgid " -b, --badname allow bad names\n"
msgstr ""
@@ -1644,6 +1657,10 @@ msgstr "%s: שם לא חוקי: \"%s\"\n"
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr "%s: שם לא חוקי: \"%s\"\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr ""
@@ -1664,6 +1681,10 @@ msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: שורה %d: משתמש לא מוכר %s\n"
#, fuzzy, c-format
msgid "%s: line %d: %s\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr ""
@@ -1684,14 +1705,14 @@ msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
msgid "%s: line %d: can't update entry\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: לא יכול לנעול קובץ צל\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: שורה %d: לא יכול לעדכן רשומת סיסמה\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: לא יכול לנעול קובץ צל\n"
@@ -1750,6 +1771,9 @@ msgid ""
" change to MAX_DAYS\n"
msgstr ""
msgid " -s, --stdin read new token from stdin\n"
msgstr ""
msgid "Old password: "
msgstr ""
@@ -1765,6 +1789,11 @@ msgid ""
"Please use a combination of upper and lower case letters and numbers.\n"
msgstr ""
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: שדות ארוכים מידי\n"
msgid "New password: "
msgstr ""
@@ -1802,6 +1831,10 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr ""
#, c-format
msgid "%s: only root can use --stdin/-s option\n"
msgstr ""
#, c-format
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
msgstr ""
@@ -1948,11 +1981,9 @@ msgstr ""
msgid "Session terminated, terminating shell..."
msgstr ""
#, c-format
msgid " ...killed.\n"
msgstr ""
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr ""
@@ -2011,6 +2042,10 @@ msgstr ""
msgid "No passwd entry for user '%s'\n"
msgstr ""
#, fuzzy, c-format
msgid "Overlong user name '%s'\n"
msgstr "%s: שם לא חוקי: \"%s\"\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr ""
@@ -2054,6 +2089,12 @@ msgstr ""
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr ""
#, c-format
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot create new defaults file: %s\n"
msgstr "%s: לא יכול לכתוב מחדש קובץ סיסמאות\n"
@@ -2135,6 +2176,11 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2190,6 +2236,11 @@ msgid ""
"mapping\n"
msgstr ""
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr "ספרית שורש לא חוקית \"%s\"\n"
@@ -2317,6 +2368,12 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr ""
msgid "Synchronize mailbox file"
msgstr ""
msgid "Closing mailbox file"
msgstr ""
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2530,6 +2587,10 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2602,14 +2663,28 @@ msgstr ""
msgid "%s: cannot rename directory %s to %s\n"
msgstr ""
#, c-format
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr "%s: לא יכול לעדכן קובץ סיסמאות\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr "ספרית שורש לא חוקית \"%s\"\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr ""
@@ -2707,7 +2782,7 @@ msgstr "%s: שדות ארוכים מידי\n"
msgid "failed to stat edited file"
msgstr ""
msgid "failed to allocate memory"
msgid "asprintf(3) failed"
msgstr ""
msgid "failed to create backup file"
@@ -2721,6 +2796,10 @@ msgstr ""
msgid "%s: failed to find tcb directory for %s\n"
msgstr "ספרית שורש לא חוקית \"%s\"\n"
#, fuzzy, c-format
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "ספרית שורש לא חוקית \"%s\"\n"
#~ msgid "Usage: id\n"
#~ msgstr "שימוש: id\n"

638
po/hu.po
View File

@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 4.0.18\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2007-11-25 20:56+0100\n"
"Last-Translator: SZERVÁC Attila <sas@321.hu>\n"
"Language-Team: Hungarian <gnome@gnome.hu>\n"
@@ -16,220 +16,6 @@ msgstr ""
"X-Poedit-Country: HUNGARY\n"
"X-Generator: KBabel 1.11.2\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "Sikertelen helyfoglalás a beállítási infónak.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "beállítási hiba - ismeretlen '%s' elem (értesítsd a rendszergazdát)\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "Password: "
msgstr "Jelszó: "
#, c-format
msgid "%s's Password: "
msgstr "%s jelszava: "
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "A jelszófájl nem nyitható meg.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, c-format
msgid "Could not set serange for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Sikertelen helyfoglalás a beállítási infónak.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "%s elévülési információinak módosítása\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: A felhasználóneved megállapítása sikertelen\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: %d. sor: nem találom e felhasználót: %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: a memória elfogyott\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: %s fájl nem frissíthető\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: érvénytelen saját könyvtár: \"%s\"\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: figyelem: nem törölhető: "
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: figyelem: nem törölhető: "
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: átnevezés: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: figyelem: nem törölhető: "
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: figyelem: nem törölhető: "
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: %s fájl nem frissíthető\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: nem tudom frissíteni a \"shadow\" fájlt\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: átnevezés: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: %s fájl nem nyitható meg\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr "Figyelem: ismeretlen %s csoport\n"
@@ -276,6 +62,11 @@ msgstr "Nem lehet a következő terminálra váltani: %s"
msgid "%s: failed to unlock %s\n"
msgstr "%s: túl hosszú mezők\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: "
msgstr "%s: %s\n"
@@ -283,6 +74,10 @@ msgstr "%s: %s\n"
msgid ": "
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
msgid "Environment overflow\n"
msgstr "Környezeti túlcsordulás\n"
@@ -380,9 +175,16 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr "%s: nem kérhető le egyedi felhasználói azonosító\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "Sikertelen helyfoglalás a beállítási infónak.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "beállítási hiba - ismeretlen '%s' elem (értesítsd a rendszergazdát)\n"
#, fuzzy, c-format
msgid "%s: Memory allocation failure\n"
msgstr "%s: PAM hitelesítési hiba\n"
@@ -410,7 +212,7 @@ msgstr "Sikertelen helyfoglalás a beállítási infónak.\n"
#, fuzzy, c-format
#| msgid "%s: can't open file\n"
msgid "%s: snprintf failed!\n"
msgid "%s: stpeprintf failed!\n"
msgstr "%s: nem tudom megnyitni a fájlt\n"
#, fuzzy, c-format
@@ -421,9 +223,21 @@ msgstr "%s: %d. sor: chown sikertelen\n"
msgid "%s: write to %s failed: %s\n"
msgstr "%s: %d. sor: chown sikertelen\n"
#, fuzzy, c-format
msgid "%s: closing %s failed: %s\n"
msgstr "%s: %d. sor: chown sikertelen\n"
msgid "Too many logins.\n"
msgstr "Túl sok bejelentkezés\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s bejelentkezés: "
msgid "You have new mail."
msgstr "Új leveled érkezett"
@@ -433,6 +247,14 @@ msgstr "Nincs leveled"
msgid "You have mail."
msgstr "Levelek kiolvasva"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "no change"
msgstr "nem változott"
@@ -445,9 +267,6 @@ msgstr "csak változások esetén"
msgid "too similar"
msgstr "túl hasonló"
msgid "too simple"
msgstr "túl egyszerű"
msgid "rotated"
msgstr "fordított"
@@ -494,6 +313,13 @@ msgid ""
"%s\n"
msgstr "passwd: pam_start() sikertelen, hibakód: %d\n"
msgid "Password: "
msgstr "Jelszó: "
#, c-format
msgid "%s's Password: "
msgstr "%s jelszava: "
#, c-format
msgid "Incorrect password for %s.\n"
msgstr "Hibás jelszó ehhez: %s.\n"
@@ -518,17 +344,13 @@ msgstr "%s: érvénytelen otthoni telefonszám: \"%s\"\n"
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
#, fuzzy, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
#, c-format
msgid ""
@@ -543,6 +365,107 @@ msgid ""
"method.\n"
msgstr ""
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "A jelszófájl nem nyitható meg.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set serange for %s to %s\n"
msgstr "Sikertelen helyfoglalás a beállítási infónak.\n"
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Sikertelen helyfoglalás a beállítási infónak.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "%s elévülési információinak módosítása\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: A felhasználóneved megállapítása sikertelen\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: %d. sor: nem találom e felhasználót: %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "nem lehet könyvtárat váltani ide: \"%s\"\n"
@@ -554,6 +477,10 @@ msgstr "Ismeretlen könyvtár, bejelentkezés így: HOME=/"
msgid "Cannot execute %s"
msgstr "%s nem futtatható"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, c-format
msgid "Invalid root directory '%s'\n"
msgstr "Érvénytelen gyökérkönyvtár: \"%s\"\n"
@@ -562,6 +489,84 @@ msgstr "Érvénytelen gyökérkönyvtár: \"%s\"\n"
msgid "Can't change root directory to '%s'\n"
msgstr "Nem lehet a gyökérkönyvtárba váltani: \"%s\"\n"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: a memória elfogyott\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: %s fájl nem frissíthető\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: érvénytelen saját könyvtár: \"%s\"\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: figyelem: nem törölhető: "
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: figyelem: nem törölhető: "
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: átnevezés: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: figyelem: nem törölhető: "
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: figyelem: nem törölhető: "
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: %s fájl nem frissíthető\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: nem tudom frissíteni a \"shadow\" fájlt\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: átnevezés: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: %s fájl nem nyitható meg\n"
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: %s felhasználó most be van jelentkezve\n"
@@ -621,6 +626,9 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr ""
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr ""
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -646,12 +654,15 @@ msgstr "Inaktív jelszó"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Hozzáférés elévülési dátum (ÉÉÉÉ-HH-NN)"
msgid "Last password change\t\t\t\t\t: "
msgstr "Utolsó jelszóváltás\t\t\t\t\t: "
msgid "never"
msgstr "soha"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr "Utolsó jelszóváltás\t\t\t\t\t: "
msgid "password must be changed"
msgstr "jelszóváltás kötelező"
@@ -855,6 +866,10 @@ msgid ""
" or YESCRYPT crypt algorithms\n"
msgstr ""
#, c-format
msgid "%s: no crypt method defined\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr "%s: -a kapcsoló CSAK -G-vel megy\n"
@@ -905,6 +920,15 @@ msgstr ""
msgid "Login Shell"
msgstr "Bejelentkező héj"
#, fuzzy, c-format
msgid "Cannot parse shell files: %s"
msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "Cannot evaluate entries in shell files: %s"
msgstr "%s: nem tudom létrehozni az új defaults fájlt\n"
#, fuzzy, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "Nem módosíthatod %s parancsértelmezőjét.\n"
@@ -917,6 +941,10 @@ msgstr "Bejelentkező héj ehhez: %s\n"
msgid "%s: Invalid entry: %s\n"
msgstr "%s: Érvénytelen bejegyzés: %s\n"
#, fuzzy, c-format
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s érvénytelen héj.\n"
#, fuzzy, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s érvénytelen héj.\n"
@@ -1127,9 +1155,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
@@ -1142,6 +1167,10 @@ msgstr "érvénytelen '%s' felhasználó név\n"
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s rossz csoport név\n"
#, fuzzy, c-format
msgid "%s: cannot open %s: %s\n"
msgstr "%s: %s fájl nem nyitható meg\n"
#, fuzzy, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "érvénytelen csoportnév: `%s'\n"
@@ -1385,7 +1414,7 @@ msgid ""
msgstr ""
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr ""
@@ -1479,11 +1508,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr ""
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr ""
"Nincs utmp bejegyzés. Futtasd a \"login\"-t a legalacsonyabb szintű \"sh\"-"
"ból."
#, fuzzy, c-format
msgid ""
"\n"
@@ -1517,14 +1541,6 @@ msgstr "Hibás bejelentkezés"
msgid "Cannot find user (%s)\n"
msgstr "%s: %d. sor: nem találom e felhasználót: %s\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s bejelentkezés: "
#, c-format
msgid "%s: failure forking: %s"
msgstr "%s: hiba a következő indításakor: %s"
@@ -1561,7 +1577,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1586,17 +1603,13 @@ msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: túl hosszú mezők\n"
#, fuzzy, c-format
msgid "%s: Could not open proc directory for target %u\n"
msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n"
#, fuzzy, c-format
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1630,14 +1643,13 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Could not stat directory for target process\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
msgid " -b, --badname allow bad names\n"
msgstr ""
@@ -1658,6 +1670,10 @@ msgstr "%s: érvénytelen '%s' felhasználónév\n"
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr "%s: érvénytelen '%s' felhasználónév\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: %d. sor: érvénytelen sor\n"
@@ -1678,6 +1694,10 @@ msgstr "%s: %d. sor: GID létrehozása sikertelen\n"
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: %s felhasználó nem létezik\n"
#, fuzzy, c-format
msgid "%s: line %d: %s\n"
msgstr "%s: átnevezés: %s"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: %d. sor: jelszó frissítése sikertelen\n"
@@ -1698,14 +1718,14 @@ msgstr "%s: %d. sor: chown sikertelen\n"
msgid "%s: line %d: can't update entry\n"
msgstr "%s: %d. sor: nem tudom frissíteni a bejegyzést\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: a jogosultságok eldobása meghiúsult (%s)\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: %s létrehozása sikertelen\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: a jogosultságok eldobása meghiúsult (%s)\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: nem tudom frissíteni a csoport fájlt\n"
@@ -1764,6 +1784,9 @@ msgid ""
" change to MAX_DAYS\n"
msgstr ""
msgid " -s, --stdin read new token from stdin\n"
msgstr ""
msgid "Old password: "
msgstr "Régi jelszó: "
@@ -1783,6 +1806,11 @@ msgstr ""
"Add meg az új jelszót (minimum %d, maximum %d karakter)\n"
"Biztonság: kérlek használj vegyesen Nagy és kisbetűket és számokat.\n"
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: túl hosszú mezők\n"
msgid "New password: "
msgstr "Új jelszó: "
@@ -1823,6 +1851,10 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr "%s: %s tár nem támogatott\n"
#, c-format
msgid "%s: only root can use --stdin/-s option\n"
msgstr ""
#, c-format
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
msgstr ""
@@ -1966,11 +1998,9 @@ msgstr ""
msgid "Session terminated, terminating shell..."
msgstr ""
#, c-format
msgid " ...killed.\n"
msgstr ""
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr ""
@@ -2058,6 +2088,11 @@ msgstr "Nem vagy jogosult ehhez: su %s\n"
msgid "No passwd entry for user '%s'\n"
msgstr "Nincs 'root' jelszó bejegyzés"
#, fuzzy, c-format
#| msgid "invalid user name '%s'\n"
msgid "Overlong user name '%s'\n"
msgstr "érvénytelen '%s' felhasználó név\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr "%s: terminálból kell futnia\n"
@@ -2103,6 +2138,12 @@ msgstr ""
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr ""
#, c-format
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "%s: cannot create new defaults file: %s\n"
@@ -2186,6 +2227,11 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2241,6 +2287,11 @@ msgid ""
"mapping\n"
msgstr ""
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
#, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n"
@@ -2372,6 +2423,16 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "A postafiókfájl jogosultságainak beállítása"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Synchronize mailbox file"
msgstr "Postafiókfájl létrehozása"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Closing mailbox file"
msgstr "Postafiókfájl létrehozása"
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2595,6 +2656,10 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2667,14 +2732,28 @@ msgstr "%s: figyelem: nem sikerült a régi %s saját könyvtár teljes törlés
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: nem tudom átnevezni %s könyvtárat erre: %s\n"
#, c-format
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr "%s: a jelszófájl frissítése sikertelen\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr "%s: %s könyvtár nem hozható létre\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: figyelem: %s tulajdonosa nem %s\n"
@@ -2780,8 +2859,9 @@ msgid "failed to stat edited file"
msgstr "a postafiók átnevezése sikertelen"
#, fuzzy
msgid "failed to allocate memory"
msgstr "a postafiók tulajdonosának váltása sikertelen"
#| msgid "%s: can't open file\n"
msgid "asprintf(3) failed"
msgstr "%s: nem tudom megnyitni a fájlt\n"
#, fuzzy
msgid "failed to create backup file"
@@ -2795,6 +2875,22 @@ msgstr "%s: nem tudom visszaállítani %s-t: %s (módosításaid itt vannak: %s)
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n"
#~ msgid "too simple"
#~ msgstr "túl egyszerű"
#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
#~ msgstr ""
#~ "Nincs utmp bejegyzés. Futtasd a \"login\"-t a legalacsonyabb szintű "
#~ "\"sh\"-ból."
#, fuzzy, c-format
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n"
#, fuzzy
#~ msgid "failed to allocate memory"
#~ msgstr "a postafiók tulajdonosának váltása sikertelen"
#~ msgid "Usage: id\n"
#~ msgstr "Használat: id\n"
@@ -2810,10 +2906,6 @@ msgstr "%s: érvénytelen alapkönyvtár: \"%s\"\n"
#~ msgid "%s: password expiry information changed.\n"
#~ msgstr "Jelszó elévülési figyelmeztetés"
#, c-format
#~ msgid "invalid user name '%s'\n"
#~ msgstr "érvénytelen '%s' felhasználó név\n"
#~ msgid "Username Port From Latest"
#~ msgstr "Felhasználónév Port Innen Legutóbb"

635
po/id.po
View File

@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.0.15\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2007-11-25 20:58+0100\n"
"Last-Translator: Parlin Imanuel Toh <parlin_i@yahoo.com>\n"
"Language-Team: Debian Indonesia <debid@yahoogroups.com>\n"
@@ -15,221 +15,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"Kesalahan konfigurasi - item tidak dikenal '%s' (beritahu administrator)\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "Password: "
msgstr "Kata sandi:"
#, c-format
msgid "%s's Password: "
msgstr "Kata sandi dari %s:"
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "Tidak dapat membuka berkas kata sandi.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, c-format
msgid "Could not set serange for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "Mengubah informasi umur akun untuk %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: Tidak dapat menentukan nama pengguna anda.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: baris %d: tak menemukan pengguna %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: kehabisan memori\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: tidak dapat memperbaharui berkas %s\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: direktori rumah `%s' tak sah\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: tak dapat membuat direktori %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: perhatian: tak dapat menghapus "
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: perhatian: tak dapat menghapus "
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: ubah nama: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: perhatian: tak dapat menghapus "
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: tak dapat membuat direktori %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: perhatian: tak dapat menghapus "
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: tidak dapat memperbaharui berkas %s\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: tak dapat memperbaharui berkas shadow\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: ubah nama: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: tidak dapat membuka berkas %s\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr "Peringatan: grup tidak dikenal %s\n"
@@ -276,6 +61,11 @@ msgstr "Tidak dapat mengubah tts %s"
msgid "%s: failed to unlock %s\n"
msgstr "%s: ruas terlalu panjang\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: "
msgstr "%s: %s\n"
@@ -283,6 +73,10 @@ msgstr "%s: %s\n"
msgid ": "
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr ""
msgid "Environment overflow\n"
msgstr "Lingkungan overflow\n"
@@ -380,9 +174,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr "%s: tidak bisa mendapatkan UID yang unik\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"Kesalahan konfigurasi - item tidak dikenal '%s' (beritahu administrator)\n"
#, fuzzy, c-format
msgid "%s: Memory allocation failure\n"
msgstr "%s: Otentikasi PAM gagal\n"
@@ -409,7 +211,7 @@ msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n"
#, fuzzy, c-format
#| msgid "%s: can't open file\n"
msgid "%s: snprintf failed!\n"
msgid "%s: stpeprintf failed!\n"
msgstr "%s: tidak dapat membuka berkas\n"
#, fuzzy, c-format
@@ -420,9 +222,21 @@ msgstr "%s: baris %d: chown gagal\n"
msgid "%s: write to %s failed: %s\n"
msgstr "%s: baris %d: chown gagal\n"
#, fuzzy, c-format
msgid "%s: closing %s failed: %s\n"
msgstr "%s: baris %d: chown gagal\n"
msgid "Too many logins.\n"
msgstr "Terlalu banyak login.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s login: "
msgid "You have new mail."
msgstr "Anda memiliki surat baru."
@@ -432,6 +246,14 @@ msgstr "Tidak ada surat."
msgid "You have mail."
msgstr "Anda memiliki surat."
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "no change"
msgstr "tak ada perubahan"
@@ -444,9 +266,6 @@ msgstr "hanya perubahan huruf besar/kecil"
msgid "too similar"
msgstr "terlalu mirip"
msgid "too simple"
msgstr "terlalu sederhana"
msgid "rotated"
msgstr "pernah dipakai"
@@ -493,6 +312,13 @@ msgid ""
"%s\n"
msgstr "passwd: pam_start() gagal, kesalahan nomor %d\n"
msgid "Password: "
msgstr "Kata sandi:"
#, c-format
msgid "%s's Password: "
msgstr "Kata sandi dari %s:"
#, c-format
msgid "Incorrect password for %s.\n"
msgstr "Kata sandi tidak tepat untuk %s\n"
@@ -517,17 +343,13 @@ msgstr "%s: telepon rumah tidak sah: \"%s\"\n"
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: tak dapat membuat direktori %s\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: tak dapat membuat direktori %s\n"
#, fuzzy, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: tak dapat membuat direktori %s\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: tak dapat membuat direktori %s\n"
#, c-format
msgid ""
@@ -542,6 +364,107 @@ msgid ""
"method.\n"
msgstr ""
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "Tidak dapat membuka berkas kata sandi.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set serange for %s to %s\n"
msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n"
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Tidak dapat mengalokasikan ruang untuk informasi konfigurasi.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "Mengubah informasi umur akun untuk %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: Tidak dapat menentukan nama pengguna anda.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: baris %d: tak menemukan pengguna %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, fuzzy, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Tidak dapat cd ke \"%s\"\n"
@@ -553,6 +476,10 @@ msgstr "Tidak terdapat direktori, masuk dengan HOME=/"
msgid "Cannot execute %s"
msgstr "Tidak dapat menjalankan %s"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, fuzzy, c-format
msgid "Invalid root directory '%s'\n"
msgstr "Direktori root tidak sah \"%s\"\n"
@@ -561,6 +488,84 @@ msgstr "Direktori root tidak sah \"%s\"\n"
msgid "Can't change root directory to '%s'\n"
msgstr "Tidak dapat mengubah direktori root ke \"%s\"\n"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: kehabisan memori\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: tidak dapat memperbaharui berkas %s\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: direktori rumah `%s' tak sah\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: tak dapat membuat direktori %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: perhatian: tak dapat menghapus "
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: perhatian: tak dapat menghapus "
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: ubah nama: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: perhatian: tak dapat menghapus "
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: tak dapat membuat direktori %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: perhatian: tak dapat menghapus "
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: tidak dapat memperbaharui berkas %s\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: tak dapat memperbaharui berkas shadow\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: ubah nama: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: tidak dapat membuka berkas %s\n"
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: pengguna %s saat ini sedang login\n"
@@ -620,6 +625,9 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr ""
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr ""
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -645,12 +653,15 @@ msgstr "Kata Sandi Tak-aktif"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Waktu Kadaluarsa Akun (TTTT-MM-HH)"
msgid "Last password change\t\t\t\t\t: "
msgstr "Penggantian kata sandi terakhir\t\t\t\t\t: "
msgid "never"
msgstr "tak pernah"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr "Penggantian kata sandi terakhir\t\t\t\t\t: "
msgid "password must be changed"
msgstr "password mesti diubah"
@@ -854,6 +865,10 @@ msgid ""
" or YESCRYPT crypt algorithms\n"
msgstr ""
#, c-format
msgid "%s: no crypt method defined\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr "%s: -a hanya diperbolehkan dengan -G\n"
@@ -904,6 +919,15 @@ msgstr ""
msgid "Login Shell"
msgstr "Login Shell"
#, fuzzy, c-format
msgid "Cannot parse shell files: %s"
msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "Cannot evaluate entries in shell files: %s"
msgstr "%s: tak dapat membuat berkas-berkas bawaan yang baru\n"
#, fuzzy, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "Anda tidak boleh mengubah shell untuk %s.\n"
@@ -916,6 +940,10 @@ msgstr "Mengubah login shell untuk %s\n"
msgid "%s: Invalid entry: %s\n"
msgstr "%s: Entri tidak sah: %s\n"
#, fuzzy, c-format
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s merupakan shell yang tidak sah.\n"
#, fuzzy, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s merupakan shell yang tidak sah.\n"
@@ -1126,9 +1154,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
@@ -1141,6 +1166,10 @@ msgstr "nama pengguna tak sah '%s'\n"
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: nama grup %s tidak sah\n"
#, fuzzy, c-format
msgid "%s: cannot open %s: %s\n"
msgstr "%s: tidak dapat membuka berkas %s\n"
#, fuzzy, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "nama grup `%s' tidak sah\n"
@@ -1384,7 +1413,7 @@ msgid ""
msgstr ""
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr ""
@@ -1478,10 +1507,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr ""
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr ""
"Tanpa entri utmp. Anda mesti menjalankan \"login\" dari level terendah \"sh\""
#, fuzzy, c-format
msgid ""
"\n"
@@ -1515,14 +1540,6 @@ msgstr "Login tidak tepat"
msgid "Cannot find user (%s)\n"
msgstr "%s: baris %d: tak menemukan pengguna %s\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s login: "
#, c-format
msgid "%s: failure forking: %s"
msgstr "%s: gagal membuat proses: %s"
@@ -1559,7 +1576,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1584,17 +1602,13 @@ msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: ruas terlalu panjang\n"
#, fuzzy, c-format
msgid "%s: Could not open proc directory for target %u\n"
msgstr "%s: direktori awal `%s' tak sah\n"
#, fuzzy, c-format
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "%s: tak dapat membuat direktori %s\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1628,14 +1642,13 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Could not stat directory for target process\n"
msgstr "%s: tak dapat membuat direktori %s\n"
msgid " -b, --badname allow bad names\n"
msgstr ""
@@ -1656,6 +1669,10 @@ msgstr "%s: nama pengguna `%s' tak sah\n"
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr "%s: nama pengguna `%s' tak sah\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: baris %d: baris tidak sah\n"
@@ -1676,6 +1693,10 @@ msgstr "%s: baris %d: tak dapat membuat GID\n"
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: pengguna %s tak ada\n"
#, fuzzy, c-format
msgid "%s: line %d: %s\n"
msgstr "%s: ubah nama: %s"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: baris %d: tak dapat memperbaharui kata sandi\n"
@@ -1696,14 +1717,14 @@ msgstr "%s: baris %d: chown gagal\n"
msgid "%s: line %d: can't update entry\n"
msgstr "%s: baris %d: tak dapat memperbaharui entri\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: gagal membuang hak (%s)\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: tak dapat membuat %s\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: gagal membuang hak (%s)\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: tidak dapat memperbaharui berkas grup\n"
@@ -1762,6 +1783,9 @@ msgid ""
" change to MAX_DAYS\n"
msgstr ""
msgid " -s, --stdin read new token from stdin\n"
msgstr ""
msgid "Old password: "
msgstr "Kata sandi lama: "
@@ -1781,6 +1805,11 @@ msgstr ""
"Masukkan password baru (minimim %d, maksimum %d karakter)\n"
"Mohon gunakan kombinasi huruf besar, huruf kecil dan angka.\n"
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: ruas terlalu panjang\n"
msgid "New password: "
msgstr "kata sandi baru: "
@@ -1821,6 +1850,10 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr "%s: repositori %s tidak didukung\n"
#, c-format
msgid "%s: only root can use --stdin/-s option\n"
msgstr ""
#, c-format
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
msgstr ""
@@ -1964,11 +1997,9 @@ msgstr ""
msgid "Session terminated, terminating shell..."
msgstr ""
#, c-format
msgid " ...killed.\n"
msgstr ""
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr ""
@@ -2043,6 +2074,11 @@ msgstr "Anda tak diperbolehkan untuk su %s\n"
msgid "No passwd entry for user '%s'\n"
msgstr "Tak ada entri kata sandi untuk 'root'"
#, fuzzy, c-format
#| msgid "invalid user name '%s'\n"
msgid "Overlong user name '%s'\n"
msgstr "nama pengguna tak sah '%s'\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr "%s: mesti dijalankan dari sebuah terminal\n"
@@ -2088,6 +2124,12 @@ msgstr ""
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr ""
#, c-format
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "%s: cannot create new defaults file: %s\n"
@@ -2171,6 +2213,11 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2226,6 +2273,11 @@ msgid ""
"mapping\n"
msgstr ""
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr "%s: direktori awal `%s' tak sah\n"
@@ -2355,6 +2407,12 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr ""
msgid "Synchronize mailbox file"
msgstr ""
msgid "Closing mailbox file"
msgstr ""
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2577,6 +2635,10 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2649,14 +2711,28 @@ msgstr "%s: perhatian: gagal menghapus direktori rumah lama %s"
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: tak dapat mengubah nama direktori %s menjadi %s\n"
#, c-format
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr "%s: tidak dapat memperbaharui berkas kata sandi\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr "%s: tak dapat membuat direktori %s\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: perhatian %s tak dimiliki oleh %s\n"
@@ -2762,8 +2838,9 @@ msgid "failed to stat edited file"
msgstr "gagal mengubah nama kotak-surat"
#, fuzzy
msgid "failed to allocate memory"
msgstr "gagal mengganti pemilik kotak-surat"
#| msgid "%s: can't open file\n"
msgid "asprintf(3) failed"
msgstr "%s: tidak dapat membuka berkas\n"
#, fuzzy
msgid "failed to create backup file"
@@ -2777,6 +2854,22 @@ msgstr "%s: tidak dapat mengembalikan %s: %s (perubahan ada dalam %s)\n"
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: direktori awal `%s' tak sah\n"
#~ msgid "too simple"
#~ msgstr "terlalu sederhana"
#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
#~ msgstr ""
#~ "Tanpa entri utmp. Anda mesti menjalankan \"login\" dari level terendah "
#~ "\"sh\""
#, fuzzy, c-format
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "%s: direktori awal `%s' tak sah\n"
#, fuzzy
#~ msgid "failed to allocate memory"
#~ msgstr "gagal mengganti pemilik kotak-surat"
#~ msgid "Usage: id\n"
#~ msgstr "Penggunaan: id\n"
@@ -2792,10 +2885,6 @@ msgstr "%s: direktori awal `%s' tak sah\n"
#~ msgid "%s: password expiry information changed.\n"
#~ msgstr "Peringatan Kadaluarsanya Kata Sandi"
#, c-format
#~ msgid "invalid user name '%s'\n"
#~ msgstr "nama pengguna tak sah '%s'\n"
#~ msgid "Username Port From Latest"
#~ msgstr "Nama pengguna Port Dari Terakhir"

644
po/it.po
View File

@@ -25,7 +25,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.1.1\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2008-03-27 14:40+0100\n"
"Last-Translator: Danilo Piazzalunga <danilopiazza@gmail.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -35,224 +35,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
"Più di una voce chiamata «%s» in %s. Correggere il problema con pwck o "
"grpck.\n"
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "metodo di cifratura non supportato da libcrypt? (%s)\n"
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"errore di configurazione: oggetto «%s» sconosciuto (avvisare "
"l'amministratore)\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "Password: "
msgstr "Password: "
#, c-format
msgid "%s's Password: "
msgstr "Password di %s: "
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "Impossibile aprire il file delle password.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, c-format
msgid "Could not set serange for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "Modifica delle informazioni sulla durata dell'account di %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: impossibile determinare il proprio nome utente.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: riga %d: impossibile trovare l'utente %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: memoria esaurita\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: impossibile aggiornare il file %s\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: directory home «%s» non valida\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: impossibile rinominare la directory %s in %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: impossibile creare la directory %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: attenzione: impossibile rimuovere "
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: attenzione: impossibile rimuovere "
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: impossibile rinominare la directory %s in %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: impossibile rinominare la directory %s in %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: attenzione: impossibile rimuovere "
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: impossibile creare la directory %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: attenzione: impossibile rimuovere "
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: impossibile aggiornare il file %s\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: impossibile aggiornare il file shadow\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: impossibile aprire il file %s\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr "Attenzione: gruppo «%s» sconosciuto\n"
@@ -299,6 +81,13 @@ msgstr "Impossibile cambiare i permessi al device %s"
msgid "%s: failed to unlock %s\n"
msgstr "%s: lunghezza dei campi eccessiva\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
"Più di una voce chiamata «%s» in %s. Correggere il problema con pwck o "
"grpck.\n"
#, fuzzy, c-format
msgid "%s: "
msgstr "%s: %s\n"
@@ -306,6 +95,10 @@ msgstr "%s: %s\n"
msgid ": "
msgstr ""
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "metodo di cifratura non supportato da libcrypt? (%s)\n"
msgid "Environment overflow\n"
msgstr "Dimensione dell'ambiente eccessiva\n"
@@ -406,9 +199,18 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr "Impossibile ottenere un UID univoco (nessun UID disponibile)\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
msgid "Could not allocate space for config info.\n"
msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"errore di configurazione: oggetto «%s» sconosciuto (avvisare "
"l'amministratore)\n"
#, fuzzy, c-format
msgid "%s: Memory allocation failure\n"
msgstr "%s: autenticazione PAM non riuscita\n"
@@ -436,7 +238,7 @@ msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n"
#, fuzzy, c-format
#| msgid "%s: can't open file\n"
msgid "%s: snprintf failed!\n"
msgid "%s: stpeprintf failed!\n"
msgstr "%s: impossibile aprire il file\n"
#, fuzzy, c-format
@@ -447,10 +249,22 @@ msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n"
msgid "%s: write to %s failed: %s\n"
msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n"
#, fuzzy, c-format
msgid "%s: closing %s failed: %s\n"
msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n"
# NdT: Riferito al numero massimo di accessi concorrenti per un utente.
msgid "Too many logins.\n"
msgstr "Troppi accessi.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s login: "
msgid "You have new mail."
msgstr "C'è nuova posta."
@@ -460,6 +274,14 @@ msgstr "Nessun messaggio di posta."
msgid "You have mail."
msgstr "C'è la solita posta."
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr ""
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr ""
msgid "no change"
msgstr "nessuna modifica"
@@ -472,9 +294,6 @@ msgstr "cambiano solo maiuscole/minuscole"
msgid "too similar"
msgstr "simile alla precedente"
msgid "too simple"
msgstr "troppo semplice"
msgid "rotated"
msgstr "rotazione"
@@ -521,6 +340,13 @@ msgid ""
"%s\n"
msgstr "passwd: pam_start() ha restituito l'errore %d\n"
msgid "Password: "
msgstr "Password: "
#, c-format
msgid "%s's Password: "
msgstr "Password di %s: "
#, c-format
msgid "Incorrect password for %s.\n"
msgstr "Password sbagliata per %s\n"
@@ -545,17 +371,13 @@ msgstr "%s: telefono di casa «%s» non valido\n"
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: impossibile creare la directory %s\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: impossibile creare la directory %s\n"
#, fuzzy, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: impossibile creare la directory %s\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: impossibile creare la directory %s\n"
#, c-format
msgid ""
@@ -572,6 +394,107 @@ msgid ""
"method.\n"
msgstr ""
#, fuzzy
#| msgid "Cannot open the password file.\n"
msgid "Cannot open audit interface.\n"
msgstr "Impossibile aprire il file delle password.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr ""
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr ""
#, c-format
msgid "SELinux policy not managed\n"
msgstr ""
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr ""
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr ""
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr ""
#, c-format
msgid "Could not query seuser for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Could not set serange for %s to %s\n"
msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n"
#, fuzzy, c-format
msgid "Could not set sename for %s\n"
msgstr "Impossibile allocare spazio per le informazioni di configurazione.\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "Modifica delle informazioni sulla durata dell'account di %s\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr ""
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr ""
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr ""
#, c-format
msgid "Cannot init SELinux management\n"
msgstr ""
#, fuzzy, c-format
msgid "Cannot create SELinux user key\n"
msgstr "%s: impossibile determinare il proprio nome utente.\n"
#, fuzzy, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "%s: riga %d: impossibile trovare l'utente %s\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr ""
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr ""
#, c-format
msgid "Could not delete login mapping for %s"
msgstr ""
#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "Impossibile spostarsi nella directory «%s»\n"
@@ -583,6 +506,10 @@ msgstr "Directory non presente, accesso con HOME=/"
msgid "Cannot execute %s"
msgstr "Impossibile eseguire %s"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, c-format
msgid "Invalid root directory '%s'\n"
msgstr "Directory root «%s» non valida\n"
@@ -591,6 +518,84 @@ msgstr "Directory root «%s» non valida\n"
msgid "Can't change root directory to '%s'\n"
msgstr "Impossibile cambiare la directory root in «%s»\n"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: memoria esaurita\n"
#, fuzzy, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: impossibile aggiornare il file %s\n"
#, fuzzy, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: directory home «%s» non valida\n"
#, fuzzy, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: impossibile rinominare la directory %s in %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: impossibile creare la directory %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: attenzione: impossibile rimuovere "
#, fuzzy, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: attenzione: impossibile rimuovere "
#, fuzzy, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: impossibile rinominare la directory %s in %s\n"
#, fuzzy, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: impossibile rinominare la directory %s in %s\n"
#, fuzzy, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: attenzione: impossibile rimuovere "
#, fuzzy, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: impossibile creare la directory %s\n"
#, fuzzy, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: attenzione: impossibile rimuovere "
#, fuzzy, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: impossibile aggiornare il file %s\n"
#, fuzzy, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: impossibile aggiornare il file shadow\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: rename: %s"
#, fuzzy, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: impossibile aprire il file %s\n"
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: l'utente %s è attualmente collegato\n"
@@ -658,6 +663,9 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr ""
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr ""
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -683,12 +691,15 @@ msgstr "Inattività della password"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "Data di scadenza dell'account (AAAA-MM-GG)"
msgid "Last password change\t\t\t\t\t: "
msgstr "Ultimo cambio della password\t\t\t\t: "
msgid "never"
msgstr "mai"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr "Ultimo cambio della password\t\t\t\t: "
msgid "password must be changed"
msgstr "la password deve essere cambiata"
@@ -902,6 +913,11 @@ msgstr ""
" -s, --sha-rounds il numero di passaggi SHA per gli\n"
" algoritmi di cifratura SHA*\n"
#, fuzzy, c-format
#| msgid "%s: unsupported crypt method: %s\n"
msgid "%s: no crypt method defined\n"
msgstr "%s: metodo di cifratura «%s» non supportato\n"
#, fuzzy, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr "%s: è permesso usare il flag %s solo con il flag %s\n"
@@ -952,6 +968,15 @@ msgstr ""
msgid "Login Shell"
msgstr "Shell di login"
#, fuzzy, c-format
msgid "Cannot parse shell files: %s"
msgstr "%s: impossibile rinominare la directory %s in %s\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "Cannot evaluate entries in shell files: %s"
msgstr "%s: impossibile creare il nuovo file dei valori predefiniti\n"
#, fuzzy, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "Non è permesso cambiare la shell di %s.\n"
@@ -964,6 +989,10 @@ msgstr "Cambio della shell di login di %s\n"
msgid "%s: Invalid entry: %s\n"
msgstr "%s: voce «%s» non valida\n"
#, fuzzy, c-format
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s non è una shell valida.\n"
#, fuzzy, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s non è una shell valida.\n"
@@ -1187,9 +1216,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr ""
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr ""
msgid " -U, --users USERS list of user members of this group\n"
msgstr ""
@@ -1202,6 +1228,10 @@ msgstr "nome utente «%s» non valido\n"
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s non è un nome di gruppo valido\n"
#, fuzzy, c-format
msgid "%s: cannot open %s: %s\n"
msgstr "%s: impossibile aprire il file %s\n"
#, fuzzy, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "%s: nome di gruppo «%s» non valido\n"
@@ -1456,7 +1486,7 @@ msgid ""
msgstr ""
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr ""
@@ -1551,9 +1581,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr ""
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr "Nessuna voce utmp. Eseguire «login» dalla shell di livello più basso"
#, fuzzy, c-format
msgid ""
"\n"
@@ -1587,14 +1614,6 @@ msgstr "Login non corretto"
msgid "Cannot find user (%s)\n"
msgstr "%s: riga %d: impossibile trovare l'utente %s\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s login: "
#, c-format
msgid "%s: failure forking: %s"
msgstr "%s: impossibile eseguire fork(): %s"
@@ -1632,7 +1651,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1657,17 +1677,13 @@ msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: lunghezza dei campi eccessiva\n"
#, fuzzy, c-format
msgid "%s: Could not open proc directory for target %u\n"
msgstr "%s: directory di base «%s» non valida\n"
#, fuzzy, c-format
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "%s: impossibile creare la directory %s\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1700,14 +1716,13 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: Could not stat directory for target process\n"
msgstr "%s: impossibile creare la directory %s\n"
msgid " -b, --badname allow bad names\n"
msgstr ""
@@ -1728,6 +1743,10 @@ msgstr "%s: nome utente «%s» non valido\n"
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr "%s: nome utente «%s» non valido\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: riga %d: riga non valida\n"
@@ -1750,6 +1769,10 @@ msgstr "%s: riga %d: impossibile creare il gruppo\n"
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: l'utente «%s» non esiste\n"
#, fuzzy, c-format
msgid "%s: line %d: %s\n"
msgstr "%s: rename: %s"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: riga %d: impossibile aggiornare la password\n"
@@ -1770,14 +1793,14 @@ msgstr "%s: riga %d: la chiamata chown ha restituito un errore\n"
msgid "%s: line %d: can't update entry\n"
msgstr "%s: riga %d: impossibile aggiornare la voce\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: impossibile abbandonare i privilegi (%s)\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: impossibile creare l'utente\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: impossibile abbandonare i privilegi (%s)\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: impossibile aggiornare il file dei gruppi\n"
@@ -1845,6 +1868,9 @@ msgstr ""
" -s, --sha-rounds il numero di passaggi SHA per gli\n"
" algoritmi di cifratura SHA*\n"
msgid " -s, --stdin read new token from stdin\n"
msgstr ""
msgid "Old password: "
msgstr "Vecchia password: "
@@ -1864,6 +1890,11 @@ msgstr ""
"Inserire la nuova password (minimo %d caratteri, massimo %d)\n"
"Utilizzare una combinazione di lettere maiuscole, minuscole e numeri.\n"
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: lunghezza dei campi eccessiva\n"
msgid "New password: "
msgstr "Nuova password: "
@@ -1907,6 +1938,10 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr "%s: repository %s non supportato\n"
#, c-format
msgid "%s: only root can use --stdin/-s option\n"
msgstr ""
#, c-format
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
msgstr ""
@@ -2051,11 +2086,9 @@ msgstr ""
msgid "Session terminated, terminating shell..."
msgstr ""
#, c-format
msgid " ...killed.\n"
msgstr ""
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr ""
@@ -2142,6 +2175,11 @@ msgstr "Non si è autorizzati a diventare %s\n"
msgid "No passwd entry for user '%s'\n"
msgstr "Manca una voce per «root» nel file delle password"
#, fuzzy, c-format
#| msgid "invalid user name '%s'\n"
msgid "Overlong user name '%s'\n"
msgstr "nome utente «%s» non valido\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr "%s: si deve avviare da un terminale\n"
@@ -2187,6 +2225,12 @@ msgstr ""
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr ""
#, c-format
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "%s: cannot create new defaults file: %s\n"
@@ -2273,6 +2317,11 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
#, fuzzy
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
@@ -2343,6 +2392,11 @@ msgid ""
"mapping\n"
msgstr ""
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
#, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr "%s: directory di base «%s» non valida\n"
@@ -2474,6 +2528,16 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "Impostazione dei permessi del file della casella di posta"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Synchronize mailbox file"
msgstr "Creazione del file della casella di posta"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Closing mailbox file"
msgstr "Creazione del file della casella di posta"
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2719,6 +2783,10 @@ msgid ""
"account\n"
msgstr ""
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
#, fuzzy, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2796,14 +2864,28 @@ msgstr ""
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: impossibile rinominare la directory %s in %s\n"
#, c-format
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr "%s: impossibile aggiornare il file delle password\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr "%s: impossibile creare la directory %s\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: attenzione: %s non appartiene a %s\n"
@@ -2912,8 +2994,9 @@ msgid "failed to stat edited file"
msgstr "impossibile rinominare la casella di posta"
#, fuzzy
msgid "failed to allocate memory"
msgstr "impossibile cambiare il proprietario della casella di posta"
#| msgid "%s: can't open file\n"
msgid "asprintf(3) failed"
msgstr "%s: impossibile aprire il file\n"
#, fuzzy
msgid "failed to create backup file"
@@ -2928,6 +3011,21 @@ msgstr ""
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: directory di base «%s» non valida\n"
#~ msgid "too simple"
#~ msgstr "troppo semplice"
#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
#~ msgstr ""
#~ "Nessuna voce utmp. Eseguire «login» dalla shell di livello più basso"
#, fuzzy, c-format
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "%s: directory di base «%s» non valida\n"
#, fuzzy
#~ msgid "failed to allocate memory"
#~ msgstr "impossibile cambiare il proprietario della casella di posta"
#~ msgid "Usage: id\n"
#~ msgstr "Uso: id\n"
@@ -2943,10 +3041,6 @@ msgstr "%s: directory di base «%s» non valida\n"
#~ msgid "%s: password expiry information changed.\n"
#~ msgstr "Avviso di scadenza della password"
#, c-format
#~ msgid "invalid user name '%s'\n"
#~ msgstr "nome utente «%s» non valido\n"
#~ msgid "Username Port From Latest"
#~ msgstr "Nome utente Porta Da Ultimo accesso"

692
po/ja.po
View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: shadow 4.1.5\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2012-05-21 02:52+0900\n"
"Last-Translator: NAKANO Takeo <nakano@webmasters.gr.jp>\n"
"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
@@ -17,225 +17,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
"'%s' というエントリが %s に複数あります。pwck か grpck で修正してください。\n"
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "暗号化手法が libcrypt によってサポートされていない? (%s)\n"
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr "設定エラー - %s の値 '%s' を正しく解釈できません"
msgid "Could not allocate space for config info.\n"
msgstr "設定情報用の空き容量が確保できませんでした。\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "設定エラー: 不明な項目 '%s' (管理者に連絡してください)\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr "%s: nscd は正常に終了しませんでした (シグナル %d)\n"
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr "%s: nscd はステータス %d で終了しました\n"
msgid "Password: "
msgstr "パスワード: "
#, c-format
msgid "%s's Password: "
msgstr "%s のパスワード: "
#, fuzzy
#| msgid "Cannot open audit interface - aborting.\n"
msgid "Cannot open audit interface.\n"
msgstr "audit インターフェースを開けません - 終了します。\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr "[libsemanage]: %s\n"
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr "SELinux の管理ハンドルを作成できません\n"
#, c-format
msgid "SELinux policy not managed\n"
msgstr "SELinux ポリシーが管理されていません\n"
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr "SELinux のポリシー保存領域を読めません\n"
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr "SELinux の管理接続が確立できません\n"
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr "SELinux のトランザクションを開始できません\n"
#, c-format
msgid "Could not query seuser for %s\n"
msgstr "%s の seuser の問い合わせができません\n"
#, c-format
msgid "Could not set serange for %s\n"
msgstr "%s の serange を設定できません\n"
#, c-format
msgid "Could not set sename for %s\n"
msgstr "%s の sename を設定できません\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr "%s のログインマッピングを修正できません\n"
#, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "%s の SELinux ログインマッピングを生成できません\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr "%s の名前を設定できません\n"
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr "%s の SELinux ユーザを設定できません\n"
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr "%s のログインマッピングを追加できません\n"
#, c-format
msgid "Cannot init SELinux management\n"
msgstr "SELinux の管理を初期化できません\n"
#, c-format
msgid "Cannot create SELinux user key\n"
msgstr "SELinux のユーザキーを生成できません\n"
#, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "この SELinux ユーザを検証できません\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr "SELinux のユーザマッピングを修正できません\n"
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr "SELinux のユーザマッピングを追加できません\n"
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr "SELinux のトランザクションをコミットできません\n"
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
"%s のログインマッピングが定義されていません。デフォルトのマッピングを\n"
"用いたならば OK です。\n"
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr "%s のログインマッピングはポリシーで定義されており、削除できません\n"
#, c-format
msgid "Could not delete login mapping for %s"
msgstr "%s のログインマピングを削除できません"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: メモリが足りません\n"
#, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: %s の状態を取得できません: %s\n"
#, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: %s はディレクトリでもシンボリックリンクでもありません\n"
#, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: シンボリックリンク %s を読めません: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr "%s: シンボリックリンクが長すぎるようです: %s\n"
#, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: ディレクトリ %s を作成できません: %s\n"
#, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: %s の所有者を変更できません: %s\n"
#, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: : %s のモードを変更できません: %s\n"
#, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: アンリンク: %s: %s\n"
#, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: ディレクトリ %s を削除できません: %s\n"
#, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: %s の名前を %s に変更できません: %s\n"
#, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: %s を削除できません: %s\n"
#, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: シンボリックリンク %s を作成できません: %s\n"
#, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: %s の所有者を変更できません: %s\n"
#, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: %s を lstat できません: %s\n"
#, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: 警告: ユーザ %s には tcb shadow ファイルがありません\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
"%s: 緊急事態: %s の tcb shadow が st_nlink=1 の通常ファイルではありません。\n"
"アカウントはロックされたままになります。\n"
#, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: mkdir: %s: %s\n"
#, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: %s を開けません: %s\n"
#, c-format
msgid "Warning: unknown group %s\n"
msgstr "警告: 不明なグループ %s\n"
@@ -282,6 +63,12 @@ msgstr "tty stdin の所有者かモードを変更できません: %s"
msgid "%s: failed to unlock %s\n"
msgstr "%s: %s がアンロックできませんでした\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr ""
"'%s' というエントリが %s に複数あります。pwck か grpck で修正してください。\n"
#, c-format
msgid "%s: "
msgstr "%s: "
@@ -289,6 +76,10 @@ msgstr "%s: "
msgid ": "
msgstr ": "
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "暗号化手法が libcrypt によってサポートされていない? (%s)\n"
msgid "Environment overflow\n"
msgstr "環境変数領域のオーバーフロー\n"
@@ -406,8 +197,15 @@ msgstr ""
"%s: 他と重ならないユーザ ID を取得できません (利用できる UID がありません)\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgstr ""
msgid "configuration error - cannot parse %s value: '%s'"
msgstr "設定エラー - %s の値 '%s' を正しく解釈できません"
msgid "Could not allocate space for config info.\n"
msgstr "設定情報用の空き容量が確保できませんでした。\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr "設定エラー: 不明な項目 '%s' (管理者に連絡してください)\n"
#, fuzzy, c-format
#| msgid "%s: Authentication failure\n"
@@ -437,9 +235,10 @@ msgstr "%s の名前を設定できません\n"
msgid "%s: Could not set caps\n"
msgstr "%s の名前を設定できません\n"
#, c-format
msgid "%s: snprintf failed!\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: line %d: chown %s failed: %s\n"
msgid "%s: stpeprintf failed!\n"
msgstr "%s: %d 行: chown %s が失敗しました: %s\n"
#, fuzzy, c-format
#| msgid "%s: line %d: chown %s failed: %s\n"
@@ -451,9 +250,22 @@ msgstr "%s: %d 行: chown %s が失敗しました: %s\n"
msgid "%s: write to %s failed: %s\n"
msgstr "%s: %d 行: chown %s が失敗しました: %s\n"
#, fuzzy, c-format
#| msgid "%s: line %d: chown %s failed: %s\n"
msgid "%s: closing %s failed: %s\n"
msgstr "%s: %d 行: chown %s が失敗しました: %s\n"
msgid "Too many logins.\n"
msgstr "ログイン試行数が制限を越えました。\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s login: "
msgid "You have new mail."
msgstr "新しいメールがあります。"
@@ -463,6 +275,14 @@ msgstr "メールはありません。"
msgid "You have mail."
msgstr "メールがあります。"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr "%s: nscd は正常に終了しませんでした (シグナル %d)\n"
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr "%s: nscd はステータス %d で終了しました\n"
msgid "no change"
msgstr "変更されていません"
@@ -475,9 +295,6 @@ msgstr "大文字小文字しか変更されていません"
msgid "too similar"
msgstr "似すぎています"
msgid "too simple"
msgstr "単純すぎます"
msgid "rotated"
msgstr "循環になっています"
@@ -523,6 +340,13 @@ msgid ""
"%s\n"
msgstr "passwd: pam_start() にエラー %d で失敗しました\n"
msgid "Password: "
msgstr "パスワード: "
#, c-format
msgid "%s's Password: "
msgstr "%s のパスワード: "
#, c-format
msgid "Incorrect password for %s.\n"
msgstr "%s のパスワードが正しくありません。\n"
@@ -548,17 +372,13 @@ msgstr "%s: chroot のパス'%s' が不正です\n"
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: chroot ディレクトリ%s にアクセスできません: %s\n"
#, fuzzy, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: chroot ディレクトリ%s にアクセスできません: %s\n"
#, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: ディレクトリ %s に chroot できませんでした: %s\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr ""
#, fuzzy, c-format
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: chroot ディレクトリ%s にアクセスできません: %s\n"
#, c-format
msgid ""
@@ -575,6 +395,110 @@ msgid ""
"method.\n"
msgstr ""
#, fuzzy
#| msgid "Cannot open audit interface - aborting.\n"
msgid "Cannot open audit interface.\n"
msgstr "audit インターフェースを開けません - 終了します。\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr ""
#, c-format
msgid "[libsemanage]: %s\n"
msgstr "[libsemanage]: %s\n"
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr "SELinux の管理ハンドルを作成できません\n"
#, c-format
msgid "SELinux policy not managed\n"
msgstr "SELinux ポリシーが管理されていません\n"
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr "SELinux のポリシー保存領域を読めません\n"
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr "SELinux の管理接続が確立できません\n"
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr "SELinux のトランザクションを開始できません\n"
#, c-format
msgid "Could not query seuser for %s\n"
msgstr "%s の seuser の問い合わせができません\n"
#, fuzzy, c-format
#| msgid "Could not set serange for %s\n"
msgid "Could not set serange for %s to %s\n"
msgstr "%s の serange を設定できません\n"
#, c-format
msgid "Could not set sename for %s\n"
msgstr "%s の sename を設定できません\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr "%s のログインマッピングを修正できません\n"
#, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "%s の SELinux ログインマッピングを生成できません\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr "%s の名前を設定できません\n"
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr "%s の SELinux ユーザを設定できません\n"
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr "%s のログインマッピングを追加できません\n"
#, c-format
msgid "Cannot init SELinux management\n"
msgstr "SELinux の管理を初期化できません\n"
#, c-format
msgid "Cannot create SELinux user key\n"
msgstr "SELinux のユーザキーを生成できません\n"
#, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "この SELinux ユーザを検証できません\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr "SELinux のユーザマッピングを修正できません\n"
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr "SELinux のユーザマッピングを追加できません\n"
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr "SELinux のトランザクションをコミットできません\n"
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
"%s のログインマッピングが定義されていません。デフォルトのマッピングを\n"
"用いたならば OK です。\n"
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr "%s のログインマッピングはポリシーで定義されており、削除できません\n"
#, c-format
msgid "Could not delete login mapping for %s"
msgstr "%s のログインマピングを削除できません"
#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "'%s' へディレクトリを変更できません\n"
@@ -586,6 +510,10 @@ msgstr "ディレクトリがありません。HOME=/ としてログインし
msgid "Cannot execute %s"
msgstr "%s を実行できません"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr ""
#, c-format
msgid "Invalid root directory '%s'\n"
msgstr "ルートディレクトリ '%s' は不正です\n"
@@ -594,6 +522,86 @@ msgstr "ルートディレクトリ '%s' は不正です\n"
msgid "Can't change root directory to '%s'\n"
msgstr "ルートディレクトリを '%s' へ変更できません\n"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: メモリが足りません\n"
#, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: %s の状態を取得できません: %s\n"
#, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: %s はディレクトリでもシンボリックリンクでもありません\n"
#, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: シンボリックリンク %s を読めません: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr "%s: シンボリックリンクが長すぎるようです: %s\n"
#, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s: ディレクトリ %s を作成できません: %s\n"
#, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: %s の所有者を変更できません: %s\n"
#, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: : %s のモードを変更できません: %s\n"
#, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: アンリンク: %s: %s\n"
#, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: ディレクトリ %s を削除できません: %s\n"
#, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: %s の名前を %s に変更できません: %s\n"
#, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: %s を削除できません: %s\n"
#, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: シンボリックリンク %s を作成できません: %s\n"
#, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: %s の所有者を変更できません: %s\n"
#, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: %s を lstat できません: %s\n"
#, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: 警告: ユーザ %s には tcb shadow ファイルがありません\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
"%s: 緊急事態: %s の tcb shadow が st_nlink=1 の通常ファイルではありません。\n"
"アカウントはロックされたままになります。\n"
#, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: mkdir: %s: %s\n"
#, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: %s を開けません: %s\n"
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: ユーザ %s は現在ログイン中です\n"
@@ -666,6 +674,11 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr " -R, --root CHROOT_DIR chroot するディレクトリ\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr " -R, --root CHROOT_DIR chroot するディレクトリ\n"
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -693,12 +706,15 @@ msgstr "パスワード無効日数"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "アカウント期限切れ日付 (YYYY-MM-DD)"
msgid "Last password change\t\t\t\t\t: "
msgstr "最終パスワード変更日\t\t\t\t:"
msgid "never"
msgstr "なし"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr "最終パスワード変更日\t\t\t\t:"
msgid "password must be changed"
msgstr "パスワードは変更しなければなりません"
@@ -915,6 +931,11 @@ msgid ""
msgstr ""
" -s, --sha-rounds SHA* 暗号化アルゴリズムの SHA ラウンド回数\n"
#, fuzzy, c-format
#| msgid "%s: unsupported crypt method: %s\n"
msgid "%s: no crypt method defined\n"
msgstr "%s: サポートされていない暗号化手法です: %s\n"
#, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr "%s: %s フラグは %s フラグと共に指定する必要があります\n"
@@ -965,6 +986,16 @@ msgstr " -s, --shell SHELL ユーザのシェルを新たに SHELL
msgid "Login Shell"
msgstr "ログインシェル"
#, fuzzy, c-format
#| msgid "%s: Cannot get the size of %s: %s\n"
msgid "Cannot parse shell files: %s"
msgstr "%s: %s のサイズを取得できませんでした: %s\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "Cannot evaluate entries in shell files: %s"
msgstr "%s: 新しいデフォルトファイルを作れません\n"
#, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "あなたは '%s' のシェルを変更できません。\n"
@@ -977,6 +1008,11 @@ msgstr "%s のログインシェルを変更中\n"
msgid "%s: Invalid entry: %s\n"
msgstr "%s: 不正なエントリ: %s\n"
#, fuzzy, c-format
#| msgid "%s: %s is an invalid shell\n"
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s: %s はシェルに指定できません\n"
#, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s: %s はシェルに指定できません\n"
@@ -1216,11 +1252,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr " -r, --system システムアカウントを作成します\n"
#, fuzzy
#| msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -R, --root CHROOT_DIR chroot するディレクトリ\n"
#, fuzzy
#| msgid " -l, --list list the members of the group\n"
msgid " -U, --users USERS list of user members of this group\n"
@@ -1235,6 +1266,11 @@ msgstr "ユーザ名 '%s' は不正です\n"
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: '%s' はグループ名として正しくありません\n"
#, fuzzy, c-format
#| msgid "%s: Cannot open %s: %s\n"
msgid "%s: cannot open %s: %s\n"
msgstr "%s: %s を開けません: %s\n"
#, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "%s: '%s' はグループ ID として正しくありません\n"
@@ -1512,7 +1548,7 @@ msgstr ""
#, fuzzy
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr " -a, --all 全ユーザの faillog 記録を表示する\n"
@@ -1609,11 +1645,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr "%s: おそらく実効 root がないと動作できません\n"
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr ""
"utmp にエントリがありません。\"login\" を \"sh\" の最低レベルから行う必要があ"
"ります"
#, c-format
msgid ""
"\n"
@@ -1647,14 +1678,6 @@ msgstr "ログインが違います"
msgid "Cannot find user (%s)\n"
msgstr "ユーザが見つかりません (%s)\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s login: "
#, c-format
msgid "%s: failure forking: %s"
msgstr "%s: fork に失敗しました: %s"
@@ -1691,7 +1714,8 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
#, c-format
@@ -1717,20 +1741,15 @@ msgstr "%s: %s を削除できませんでした\n"
msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: %s がアンロックできませんでした\n"
#, fuzzy, c-format
#| msgid "%s: failed to find tcb directory for %s\n"
msgid "%s: Could not open proc directory for target %u\n"
msgstr "%s: %s の tcb ディレクトリが見付かりませんでした\n"
#, fuzzy, c-format
#| msgid "%s: Failed to create tcb directory for %s\n"
msgid "%s: Could not stat directory for target %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "%s: %s の tcb ディレクトリの作成に失敗しました\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
msgid "Usage: newgrp [-] [group]\n"
@@ -1763,14 +1782,14 @@ msgstr ""
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
#, fuzzy, c-format
#| msgid "%s: Failed to create tcb directory for %s\n"
msgid "%s: Could not stat directory for target process\n"
msgstr "%s: %s の tcb ディレクトリの作成に失敗しました\n"
#, fuzzy
#| msgid " -q, --quiet quiet mode\n"
@@ -1794,6 +1813,10 @@ msgstr "%s: '%s' はユ−ザ ID に使えません\n"
msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr "%s: '%s' はユーザ名に使えません\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr ""
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: %d 行: 不正な行です\n"
@@ -1816,6 +1839,11 @@ msgstr "%s: %d 行: グループを作成できません\n"
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: %d 行: ユーザ '%s' は %s に存在しません\n"
#, fuzzy, c-format
#| msgid "%s: unlink: %s: %s\n"
msgid "%s: line %d: %s\n"
msgstr "%s: アンリンク: %s: %s\n"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: %d 行: パスワードを更新できません\n"
@@ -1837,14 +1865,14 @@ msgstr "%s: %d 行: chown %s が失敗しました: %s\n"
msgid "%s: line %d: can't update entry\n"
msgstr "%s: %d 行: エントリを更新できません\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: %s の新しいエントリ '%s' を準備できませんでした。\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: ユーザを作成できません\n"
#, fuzzy, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: %s の新しいエントリ '%s' を準備できませんでした。\n"
#, fuzzy, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: グループを作成できません\n"
@@ -1916,6 +1944,11 @@ msgstr ""
" -x, --maxdays MAX_DAYS パスワードが変更できる期間の最長日数を\n"
" MAX_DAYS に変更する\n"
#, fuzzy
#| msgid " -l, --list show account aging information\n"
msgid " -s, --stdin read new token from stdin\n"
msgstr " -l, --list アカウントの経時情報を表示する\n"
msgid "Old password: "
msgstr "古いパスワード: "
@@ -1935,6 +1968,11 @@ msgstr ""
"新しいパスワードを入れてください (最低 %d 文字、最高 %d 文字)\n"
"大文字・小文字・数字を混ぜて使うようにしてください。\n"
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: 入力内容が長過ぎます\n"
msgid "New password: "
msgstr "新しいパスワード: "
@@ -1978,6 +2016,11 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr "%s: レポジトリ %s はサポートしていません\n"
#, fuzzy, c-format
#| msgid "%s: only root can use the -g/--group option\n"
msgid "%s: only root can use --stdin/-s option\n"
msgstr "%s: -g/--group オプションは root のみが指定できます\n"
#, fuzzy, c-format
#| msgid "%s: %s is not authorized to change the password of %s\n"
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
@@ -2130,11 +2173,9 @@ msgstr "%s: シグナルが異常です\n"
msgid "Session terminated, terminating shell..."
msgstr "セッションが終了しました。シェルを終了しています..."
#, c-format
msgid " ...killed.\n"
msgstr " ...kill されました。\n"
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr " ...子プロセスの終了を待ちます。\n"
@@ -2220,6 +2261,11 @@ msgstr "%s: あなたは現時点では su する権限がありません\n"
msgid "No passwd entry for user '%s'\n"
msgstr "ユーザ '%s' のパスワードエントリがありません\n"
#, fuzzy, c-format
#| msgid "invalid user name '%s'\n"
msgid "Overlong user name '%s'\n"
msgstr "ユーザ名 '%s' は不正です\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr "%s: 端末から実行してください\n"
@@ -2265,6 +2311,13 @@ msgstr "%s: %s を作成しましたが、削除できません\n"
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr "%1$s: %3$s 中の設定 %2$s は無視されます\n"
#, fuzzy, c-format
#| msgid "%s: the %s configuration in %s will be ignored\n"
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr "%1$s: %3$s 中の設定 %2$s は無視されます\n"
#, fuzzy, c-format
#| msgid "%s: cannot create new defaults file\n"
msgid "%s: cannot create new defaults file: %s\n"
@@ -2359,6 +2412,11 @@ msgid ""
"account\n"
msgstr " -f, --inactive INACTIVE 新アカウントのパスワード無効化日数\n"
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2420,6 +2478,17 @@ msgstr ""
" -Z, --selinux-user SEUSER SELinux のユーザマッピングに指定した\n"
" SEUSER を使う\n"
#, fuzzy
#| msgid ""
#| " -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux "
#| "user mapping\n"
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
" -Z, --selinux-user SEUSER SELinux のユーザマッピングに指定した\n"
" SEUSER を使う\n"
#, c-format
msgid "%s: invalid base directory '%s'\n"
msgstr "%s: ベースディレクトリ '%s' は不正です\n"
@@ -2562,6 +2631,16 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "メールボックスファイルの許可属性を設定します"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Synchronize mailbox file"
msgstr "メールボックスファイルを作成します"
#, fuzzy
#| msgid "Creating mailbox file"
msgid "Closing mailbox file"
msgstr "メールボックスファイルを作成します"
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2822,6 +2901,16 @@ msgstr ""
" -Z, --selinux-user このユーザアカウントへの新規 SELinux\n"
" ユーザマッピング\n"
#, fuzzy
#| msgid ""
#| " -Z, --selinux-user SEUSER new SELinux user mapping for the user "
#| "account\n"
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
" -Z, --selinux-user このユーザアカウントへの新規 SELinux\n"
" ユーザマッピング\n"
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2900,16 +2989,39 @@ msgstr "%s: 警告: 古いホームディレクトリ %s を完全削除でき
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: ディレクトリ %s の名前を %s に変更できません\n"
#, fuzzy, c-format
#| msgid ""
#| "%s: The previous home directory (%s) was not a directory. It is not "
#| "removed and no home directories are created.\n"
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
"%s: 以前のホームディレクトリ (%s) がディレクトリではありません。これは削除さ"
"れず、ホームディレクトリは作成しません。\n"
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
"%s: ユーザ %lu の lastlog エントリをユーザ %lu にコピーできませんでした: %s\n"
#, fuzzy, c-format
#| msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr ""
"%s: ユーザ %lu の lastlog エントリをユーザ %lu にコピーできませんでした: %s\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
"%s: ユーザ %lu の faillog エントリをユーザ %lu にコピーできませんでした: %s\n"
#, fuzzy, c-format
#| msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr ""
"%s: ユーザ %lu の faillog エントリをユーザ %lu にコピーできませんでした: %s\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: 警告: %s は %s の所有ではありません\n"
@@ -3008,8 +3120,8 @@ msgstr "スクラッチファイルを削除できませんでした"
msgid "failed to stat edited file"
msgstr "編集したファイルの状態を取得できませんでした"
msgid "failed to allocate memory"
msgstr "メモリ割当に失敗しました"
msgid "asprintf(3) failed"
msgstr ""
msgid "failed to create backup file"
msgstr "バックアップファイルを作成できませんでした"
@@ -3022,6 +3134,22 @@ msgstr "%s: %s を復旧できませんでした: %s (あなたの変更は %s
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: %s の tcb ディレクトリが見付かりませんでした\n"
#~ msgid "too simple"
#~ msgstr "単純すぎます"
#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
#~ msgstr ""
#~ "utmp にエントリがありません。\"login\" を \"sh\" の最低レベルから行う必要"
#~ "があります"
#, fuzzy, c-format
#~| msgid "%s: failed to find tcb directory for %s\n"
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "%s: %s の tcb ディレクトリが見付かりませんでした\n"
#~ msgid "failed to allocate memory"
#~ msgstr "メモリ割当に失敗しました"
#~ msgid "Usage: id\n"
#~ msgstr "使い方: id\n"
@@ -3037,10 +3165,6 @@ msgstr "%s: %s の tcb ディレクトリが見付かりませんでした\n"
#~ msgid "%s: password expiry information changed.\n"
#~ msgstr "%s: パスワード期限切れ情報を変更しました\n"
#, c-format
#~ msgid "invalid user name '%s'\n"
#~ msgstr "ユーザ名 '%s' は不正です\n"
#~ msgid "Username Port From Latest"
#~ msgstr "ユーザ名 ポート 場所 最近のログイン"

696
po/ka.po
View File

@@ -1,14 +1,14 @@
# Shadow-utils translation to Georgian.
# Copyright (C) YEAR Free Software Foundation, Inc.
# Copyright (C) 2024 Free Software Foundation, Inc.
# This file is distributed under the same license as the shadow-utils package.
# Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2022.
# Temuri Doghonadze <temuri.doghonadze@gmail.com>, 2022-2024.
#
msgid ""
msgstr ""
"Project-Id-Version: shadow-utils\n"
"Report-Msgid-Bugs-To: pkg-shadow-devel@lists.alioth.debian.org\n"
"POT-Creation-Date: 2022-07-27 22:49+0800\n"
"PO-Revision-Date: 2022-08-22 02:33+0200\n"
"POT-Creation-Date: 2024-03-14 18:23-0500\n"
"PO-Revision-Date: 2024-02-08 06:13+0100\n"
"Last-Translator: Temuri Doghonadze <temuri.doghonadze@gmail.com>\n"
"Language-Team: Georgian <(nothing)>\n"
"Language: ka\n"
@@ -16,226 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.1.1\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr "%s ბევრჯერაა ნახსენები %s-ში. ჩაასწორეთ pwck-ით ან grpck-ით.\n"
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "crypt-ის მეთოდი არაა მხარდაჭერილი libcrypt-ის მიერ? (%s)\n"
#, c-format
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
"კონფიგურაციის შეცდომა - %s-ის მნიშვნელობის დამუშავება შეუძლებელია: '%s'"
msgid "Could not allocate space for config info.\n"
msgstr "კონფიგურაციის ინფორმაციისთვის სივრცის გამოყოფა შეუძლებელია.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"კონფიგურაციის შეცდომა - უცნობი ჩანაწერი '%s' (შეატყობინეთ ადმინისტრატორს)\n"
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr "%s: nscd ნორმალურად არ დასრულებულა (სიგნალი %d)\n"
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr "%s: nscd გამოვიდა სტატუსით %d\n"
msgid "Password: "
msgstr "პაროლი: "
#, c-format
msgid "%s's Password: "
msgstr "%s-ის პაროლი: "
msgid "Cannot open audit interface.\n"
msgstr "აუდიტის ინტერფეისის გახსნის შეცდომა.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr "%s: SELinux-ის პროცესის წინა კონტექსტის მიღების შეცდომა: %s\n"
#, c-format
msgid "[libsemanage]: %s\n"
msgstr "[libsemanage]: %s\n"
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr "SELinux-ის მართვის დამმუშავებლის შექმნა შეუძლებელია\n"
#, c-format
msgid "SELinux policy not managed\n"
msgstr "SELinux-ის პოლიტიკა მართული არაა\n"
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr "SELinux-ის პოლიტიკის საცავის წაკითხვა შეუძლებელია\n"
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr "SELinux-ის მართვის შეერთების შექმნა შეუძლებელია\n"
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr "SELinux-ის ტრანზაქციის დაწყების შეცდომა\n"
#, c-format
msgid "Could not query seuser for %s\n"
msgstr "%s-ის გამოთხოვა seuser-დან შეუძლებელია\n"
#, c-format
msgid "Could not set serange for %s\n"
msgstr "%s-სთვის serange-ის დაყენება შეუძლებელია\n"
#, c-format
msgid "Could not set sename for %s\n"
msgstr "%s-სთვის sename-ის დაყენება შეუძლებელია\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr "მომხმარებლის სახელის ბმების ჩასწორება %s-სთვის შეუძლებელია\n"
#, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "%s-ზე SELinux-ის მომხმარებლის სახელის ბმის შექმნა შეუძლებელია\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr "%s-სთვის სახელის დაყენების შეცდომა\n"
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr "%s-სთვის SELinux-ის მომხმარებლის დაყენების შეცდომა\n"
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr "%s-სთვის მომხმარებლის სახელის ბმის შექმნის შეცდომა\n"
#, c-format
msgid "Cannot init SELinux management\n"
msgstr "SELinux-ის მართვის ინიციალიზაციის შეცდომა\n"
#, c-format
msgid "Cannot create SELinux user key\n"
msgstr "SELinux-ის მომხმარებლის გასაღების შექმნის შეცდომა\n"
#, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "SELinux-ის მომხმარებლის შემოწმების შეცდომა\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr "SELinux-ის მოხმარებლების ბმების შეცვლს შეცდომა\n"
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr "SELinux-ის მომხმარებლის ბმის დამატების შეცდომა\n"
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr "SELinux-ის ტრანზაქციის გადაცემის შეცდომა\n"
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
"მომხმარებლის სახელის ბმა %s-თვის განსაზღვრული არაა. OK, თუ ნაგულისხმები ბმა "
"იქნა გამოყენებული\n"
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr "მომხმარებლის სახელი %s პოლიტიკაშია გაწერილი. მისი წაშლა შეუძლებელია\n"
#, c-format
msgid "Could not delete login mapping for %s"
msgstr "მომხმარებლის სახელის ბმის წაშლა %s-სთვის შეუძლებელია"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: არასაკმარისი მეხსიერება\n"
#, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: %s-ის აღმოჩენის შეცდომა: %s\n"
#, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: %s არც საქაღალდეა, არც სიმბმული.\n"
#, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: სიმბმულის წაკითხვის შეცდომა %s: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr "%s: საეჭვოდ გრძელი სიმბმული %s\n"
#, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s საქაღალდის (%s) შექმნის შეცდომა: %s\n"
#, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: %s-ის მფლობელის შეცვლის შეცდომა: %s\n"
#, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: %s-ის რეჟიმის შეცვლის შეცდომა: %s\n"
#, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: წაშლა: %s: %s\n"
#, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: საქაღალდის (%s) წაშლის შეცდომა: %s\n"
#, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: %s-ის სახელის %s-მდე გადარქმევა შეუძლებელია: %s\n"
#, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: %s-ის წაშლა შეუძლებელია: %s\n"
#, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: სიმბმულის (%s) შექმნის შეცდომა: %s\n"
#, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: %s-ის მფლობელების შეცვლის შეცდომა: %s\n"
#, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: %s-ის lstat-ის შეცდომა: %s\n"
#, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: გაფრთხილება: მომხმარებელს (%s) tcb shadow ფაილი არ გააჩნია.\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
"%s: გადაუდებელი შემთხვევა: %s tcb ჩრდილი არ არის რეგულარული ფაილი st_nlink=1-"
"ით.\n"
"ანგარიში ჩაკეტილია.\n"
#, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: mkdir: %s: %s\n"
#, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: %s-ის გახსნის შეცდომა: %s\n"
"X-Generator: Poedit 3.3.2\n"
#, c-format
msgid "Warning: unknown group %s\n"
@@ -283,6 +64,11 @@ msgstr "TTY-იდან stdin-ის მფლობელისა და რ
msgid "%s: failed to unlock %s\n"
msgstr "%s: %s-ის განბლოკვის შეცდომა\n"
#, c-format
msgid ""
"Multiple entries named '%s' in %s. Please fix this with pwck or grpck.\n"
msgstr "%s ბევრჯერაა ნახსენები %s-ში. ჩაასწორეთ pwck-ით ან grpck-ით.\n"
#, c-format
msgid "%s: "
msgstr "%s: "
@@ -290,6 +76,10 @@ msgstr "%s: "
msgid ": "
msgstr ": "
#, c-format
msgid "crypt method not supported by libcrypt? (%s)\n"
msgstr "crypt-ის მეთოდი არაა მხარდაჭერილი libcrypt-ის მიერ? (%s)\n"
msgid "Environment overflow\n"
msgstr "გარემო გადავსებულია\n"
@@ -406,8 +196,17 @@ msgid "%s: Can't get unique UID (no more available UIDs)\n"
msgstr "%s: უნიკალური UID-ის მიღების შეცდომა (ხელმისაწვდომი UID-ების გარეშე)\n"
#, c-format
msgid "%s: Not enough arguments to form %u mappings\n"
msgstr "%s: არასაკმარისი არგუმენტები %u ბმის ჩამოსაყალიბებლად\n"
msgid "configuration error - cannot parse %s value: '%s'"
msgstr ""
"კონფიგურაციის შეცდომა - %s-ის მნიშვნელობის დამუშავება შეუძლებელია: '%s'"
msgid "Could not allocate space for config info.\n"
msgstr "კონფიგურაციის ინფორმაციისთვის სივრცის გამოყოფა შეუძლებელია.\n"
#, c-format
msgid "configuration error - unknown item '%s' (notify administrator)\n"
msgstr ""
"კონფიგურაციის შეცდომა - უცნობი ჩანაწერი '%s' (შეატყობინეთ ადმინისტრატორს)\n"
#, c-format
msgid "%s: Memory allocation failure\n"
@@ -434,8 +233,8 @@ msgid "%s: Could not set caps\n"
msgstr "%s: caps-ების დაყენების შედომა\n"
#, c-format
msgid "%s: snprintf failed!\n"
msgstr "%s: snprintf -ის შეცდომა!\n"
msgid "%s: stpeprintf failed!\n"
msgstr "%s: stpeprintf ჩავარდა!\n"
#, c-format
msgid "%s: open of %s failed: %s\n"
@@ -445,9 +244,21 @@ msgstr "%s: %s -ის გახსნის შეცდომა: %s\n"
msgid "%s: write to %s failed: %s\n"
msgstr "%s: %s-ში ჩაწერის შეცდომა: %s\n"
#, c-format
msgid "%s: closing %s failed: %s\n"
msgstr "%s: %s-ის დახურვა ჩავარდა: %s\n"
msgid "Too many logins.\n"
msgstr "მეტისმეტად ბევრი შესვლა.\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s მომხმარებლის სახელი: "
msgid "You have new mail."
msgstr "თქვენთვის წერილია."
@@ -457,6 +268,14 @@ msgstr "ახალი ელფოსტის გარეშე."
msgid "You have mail."
msgstr "თქვენ გაქვთ ფოსტა."
#, c-format
msgid "%s: nscd did not terminate normally (signal %d)\n"
msgstr "%s: nscd ნორმალურად არ დასრულებულა (სიგნალი %d)\n"
#, c-format
msgid "%s: nscd exited with status %d\n"
msgstr "%s: nscd გამოვიდა სტატუსით %d\n"
msgid "no change"
msgstr "ცვლილებების გარეშე"
@@ -469,9 +288,6 @@ msgstr "მხოლოდ სიმბოლოების ზომა"
msgid "too similar"
msgstr "ძალიან ჰგავს"
msgid "too simple"
msgstr "ძალიან მარტივია"
msgid "rotated"
msgstr "შემობრუნებული"
@@ -517,6 +333,13 @@ msgstr ""
"%s: (მომხმარებელი %s) pam_chauthtok() -ის შეცდომა:\n"
"%s\n"
msgid "Password: "
msgstr "პაროლი: "
#, c-format
msgid "%s's Password: "
msgstr "%s-ის პაროლი: "
#, c-format
msgid "Incorrect password for %s.\n"
msgstr "არასწორი პაროლი %s-სთვის.\n"
@@ -542,17 +365,13 @@ msgstr ""
msgid "%s: cannot access chroot directory %s: %s\n"
msgstr "%s: chroot საქაღალდის (%s) წვდომის შეცდომა: %s\n"
#, c-format
msgid "%s: cannot chdir to chroot directory %s: %s\n"
msgstr "%s: chroot საქაღალდეზე (%s) chdir-ის შეცდომა: %s\n"
#, c-format
msgid "%s: unable to chroot to directory %s: %s\n"
msgstr "%s: საქაღალდეზე (%s) chroot-ი შეუძლებელია: %s\n"
#, c-format
msgid "Unable to obtain random bytes.\n"
msgstr "შემთხვევითი ბაიტების მიღების შეცდომა.\n"
msgid "%s: cannot chdir in chroot directory %s: %s\n"
msgstr "%s: chroot საქაღალდეში (%s) chdir-ის შეცდომა: %s\n"
#, c-format
msgid ""
@@ -572,6 +391,107 @@ msgstr ""
"პარამეტრები ENCRYPT_METHOD-ში და შესაბამის კონფიგურაციაში თქვენს მიერ "
"არჩეული ჰეშის მეთოდისთვის.\n"
msgid "Cannot open audit interface.\n"
msgstr "აუდიტის ინტერფეისის გახსნის შეცდომა.\n"
#, c-format
msgid "%s: can not get previous SELinux process context: %s\n"
msgstr "%s: SELinux-ის პროცესის წინა კონტექსტის მიღების შეცდომა: %s\n"
#, c-format
msgid "[libsemanage]: %s\n"
msgstr "[libsemanage]: %s\n"
#, c-format
msgid "Cannot create SELinux management handle\n"
msgstr "SELinux-ის მართვის დამმუშავებლის შექმნა შეუძლებელია\n"
#, c-format
msgid "SELinux policy not managed\n"
msgstr "SELinux-ის პოლიტიკა მართული არაა\n"
#, c-format
msgid "Cannot read SELinux policy store\n"
msgstr "SELinux-ის პოლიტიკის საცავის წაკითხვა შეუძლებელია\n"
#, c-format
msgid "Cannot establish SELinux management connection\n"
msgstr "SELinux-ის მართვის შეერთების შექმნა შეუძლებელია\n"
#, c-format
msgid "Cannot begin SELinux transaction\n"
msgstr "SELinux-ის ტრანზაქციის დაწყების შეცდომა\n"
#, c-format
msgid "Could not query seuser for %s\n"
msgstr "%s-ის გამოთხოვა seuser-დან შეუძლებელია\n"
#, c-format
msgid "Could not set serange for %s to %s\n"
msgstr "%s-სთვის serange-ის %s-ზე დაყენება შეუძლებელია\n"
#, c-format
msgid "Could not set sename for %s\n"
msgstr "%s-სთვის sename-ის დაყენება შეუძლებელია\n"
#, c-format
msgid "Could not modify login mapping for %s\n"
msgstr "მომხმარებლის სახელის ბმების ჩასწორება %s-სთვის შეუძლებელია\n"
#, c-format
msgid "Cannot create SELinux login mapping for %s\n"
msgstr "%s-ზე SELinux-ის მომხმარებლის სახელის ბმის შექმნა შეუძლებელია\n"
#, c-format
msgid "Could not set name for %s\n"
msgstr "%s-სთვის სახელის დაყენების შეცდომა\n"
#, c-format
msgid "Could not set SELinux user for %s\n"
msgstr "%s-სთვის SELinux-ის მომხმარებლის დაყენების შეცდომა\n"
#, c-format
msgid "Could not add login mapping for %s\n"
msgstr "%s-სთვის მომხმარებლის სახელის ბმის შექმნის შეცდომა\n"
#, c-format
msgid "Cannot init SELinux management\n"
msgstr "SELinux-ის მართვის ინიციალიზაციის შეცდომა\n"
#, c-format
msgid "Cannot create SELinux user key\n"
msgstr "SELinux-ის მომხმარებლის გასაღების შექმნის შეცდომა\n"
#, c-format
msgid "Cannot verify the SELinux user\n"
msgstr "SELinux-ის მომხმარებლის შემოწმების შეცდომა\n"
#, c-format
msgid "Cannot modify SELinux user mapping\n"
msgstr "SELinux-ის მოხმარებლების ბმების შეცვლს შეცდომა\n"
#, c-format
msgid "Cannot add SELinux user mapping\n"
msgstr "SELinux-ის მომხმარებლის ბმის დამატების შეცდომა\n"
#, c-format
msgid "Cannot commit SELinux transaction\n"
msgstr "SELinux-ის ტრანზაქციის გადაცემის შეცდომა\n"
#, c-format
msgid "Login mapping for %s is not defined, OK if default mapping was used\n"
msgstr ""
"მომხმარებლის სახელის ბმა %s-თვის განსაზღვრული არაა. OK, თუ ნაგულისხმები ბმა "
"იქნა გამოყენებული\n"
#, c-format
msgid "Login mapping for %s is defined in policy, cannot be deleted\n"
msgstr "მომხმარებლის სახელი %s პოლიტიკაშია გაწერილი. მისი წაშლა შეუძლებელია\n"
#, c-format
msgid "Could not delete login mapping for %s"
msgstr "მომხმარებლის სახელის ბმის წაშლა %s-სთვის შეუძლებელია"
#, c-format
msgid "Unable to cd to '%s'\n"
msgstr "საქაღალდის %s-ზე შეცვლა შეუძლებელია\n"
@@ -583,6 +503,10 @@ msgstr "საქაღალდე არ არსებობს. შევ
msgid "Cannot execute %s"
msgstr "%s-ის შესრულების შეცდომა"
#, c-format
msgid "Maximum subsystem depth reached\n"
msgstr "მიღწეულია ქვესისტემის მაქსიმალური სიღრმე\n"
#, c-format
msgid "Invalid root directory '%s'\n"
msgstr "%s არასწორი root საქაღალდეა\n"
@@ -591,6 +515,87 @@ msgstr "%s არასწორი root საქაღალდეა\n"
msgid "Can't change root directory to '%s'\n"
msgstr "Root საქაღალდის %s-ზე შეცვლა შეუძლებელია\n"
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: არასაკმარისი მეხსიერება\n"
#, c-format
msgid "%s: Cannot stat %s: %s\n"
msgstr "%s: %s-ის აღმოჩენის შეცდომა: %s\n"
#, c-format
msgid "%s: %s is neither a directory, nor a symlink.\n"
msgstr "%s: %s არც საქაღალდეა, არც სიმბმული.\n"
#, c-format
msgid "%s: Cannot read symbolic link %s: %s\n"
msgstr "%s: სიმბმულის წაკითხვის შეცდომა %s: %s\n"
#, c-format
msgid "%s: Suspiciously long symlink: %s\n"
msgstr "%s: საეჭვოდ გრძელი სიმბმული %s\n"
#, c-format
msgid "%s: Cannot create directory %s: %s\n"
msgstr "%s საქაღალდის (%s) შექმნის შეცდომა: %s\n"
#, c-format
msgid "%s: Cannot change owner of %s: %s\n"
msgstr "%s: %s-ის მფლობელის შეცვლის შეცდომა: %s\n"
#, c-format
msgid "%s: Cannot change mode of %s: %s\n"
msgstr "%s: %s-ის რეჟიმის შეცვლის შეცდომა: %s\n"
#, c-format
msgid "%s: unlink: %s: %s\n"
msgstr "%s: წაშლა: %s: %s\n"
#, c-format
msgid "%s: Cannot remove directory %s: %s\n"
msgstr "%s: საქაღალდის (%s) წაშლის შეცდომა: %s\n"
#, c-format
msgid "%s: Cannot rename %s to %s: %s\n"
msgstr "%s: %s-ის სახელის %s-მდე გადარქმევა შეუძლებელია: %s\n"
#, c-format
msgid "%s: Cannot remove %s: %s\n"
msgstr "%s: %s-ის წაშლა შეუძლებელია: %s\n"
#, c-format
msgid "%s: Cannot create symbolic link %s: %s\n"
msgstr "%s: სიმბმულის (%s) შექმნის შეცდომა: %s\n"
#, c-format
msgid "%s: Cannot change owners of %s: %s\n"
msgstr "%s: %s-ის მფლობელების შეცვლის შეცდომა: %s\n"
#, c-format
msgid "%s: Cannot lstat %s: %s\n"
msgstr "%s: %s-ის lstat-ის შეცდომა: %s\n"
#, c-format
msgid "%s: Warning, user %s has no tcb shadow file.\n"
msgstr "%s: გაფრთხილება: მომხმარებელს (%s) tcb shadow ფაილი არ გააჩნია.\n"
#, c-format
msgid ""
"%s: Emergency: %s's tcb shadow is not a regular file with st_nlink=1.\n"
"The account is left locked.\n"
msgstr ""
"%s: გადაუდებელი შემთხვევა: %s tcb ჩრდილი არ არის რეგულარული ფაილი st_nlink=1-"
"ით.\n"
"ანგარიში ჩაკეტილია.\n"
#, c-format
msgid "%s: mkdir: %s: %s\n"
msgstr "%s: mkdir: %s: %s\n"
#, c-format
msgid "%s: Cannot open %s: %s\n"
msgstr "%s: %s-ის გახსნის შეცდომა: %s\n"
#, c-format
msgid "%s: user %s is currently logged in\n"
msgstr "%s: მომხმარებელი %s ამჟამად შემოსულია\n"
@@ -661,6 +666,9 @@ msgstr ""
msgid " -R, --root CHROOT_DIR directory to chroot into\n"
msgstr " -R, --root CHROOT_DIR საქაღალდე chroot-ისთვის\n"
msgid " -P, --prefix PREFIX_DIR directory prefix\n"
msgstr " -P, --prefix PREFIX_DIR პრეფიქსი საქაღალდე\n"
msgid ""
" -W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS\n"
msgstr ""
@@ -689,12 +697,15 @@ msgstr "პაროლი არააქტიურია"
msgid "Account Expiration Date (YYYY-MM-DD)"
msgstr "ანგარიშის ვადის თარიღი (წწწწ-თთ-დდ)"
msgid "Last password change\t\t\t\t\t: "
msgstr "პაროლის ბოლო ცვლილება\t\t\t\t\t: "
msgid "never"
msgstr "არასოდეს"
msgid "future"
msgstr ""
msgid "Last password change\t\t\t\t\t: "
msgstr "პაროლის ბოლო ცვლილება\t\t\t\t\t: "
msgid "password must be changed"
msgstr "საჭიროა პაროლის შეცვლა"
@@ -913,6 +924,10 @@ msgstr ""
" -s, --sha-rounds წრეების რიცხვი SHA, BCRYPT\n"
" და YESCRYPT დაშიფვრის ალგორითმებისთვის\n"
#, c-format
msgid "%s: no crypt method defined\n"
msgstr "%s: დაშიფვრის მეთოდი აღწერილი არაა\n"
#, c-format
msgid "%s: %s flag is only allowed with the %s flag\n"
msgstr "%s: ალამი %s მხოლოდ ალამ %s -სთან ერთადაა ნებადართული\n"
@@ -965,6 +980,14 @@ msgstr ""
msgid "Login Shell"
msgstr "შესვლს გარსი"
#, c-format
msgid "Cannot parse shell files: %s"
msgstr "ვერ დავამუშავე გარსის ფაილები: %s"
#, c-format
msgid "Cannot evaluate entries in shell files: %s"
msgstr "გარსის ფაილების ჩანაწერების შეფასება შეუძლებელია: %s"
#, c-format
msgid "You may not change the shell for '%s'.\n"
msgstr "%s-ის გარსის შეცვლა არ შეგიძლიათ.\n"
@@ -977,6 +1000,10 @@ msgstr "%s-ის გარსის შეცვლა\n"
msgid "%s: Invalid entry: %s\n"
msgstr "%s: არასწორი ჩანაწერი: %s\n"
#, c-format
msgid "%s: Warning: %s is an invalid shell\n"
msgstr "%s: გაფრთხილება: %s არასწორი გარსია\n"
#, c-format
msgid "%s: %s is an invalid shell\n"
msgstr "%s: %s არასწორი გარსია\n"
@@ -1222,9 +1249,6 @@ msgstr ""
msgid " -r, --system create a system account\n"
msgstr " -r, --system სისტემური ანგარიშის შექმნა\n"
msgid " -P, --prefix PREFIX_DI directory prefix\n"
msgstr " -P, --prefix PREFIX_DI პრეფიქსი საქაღალდე\n"
msgid " -U, --users USERS list of user members of this group\n"
msgstr " -U, --users USERS ამ ჯგუფის წევრების სია\n"
@@ -1236,6 +1260,10 @@ msgstr "წევრის არასწორი მომხმარებ
msgid "%s: '%s' is not a valid group name\n"
msgstr "%s: %s ჯგუფის სწორ სახელს არ წარმოადგენს\n"
#, c-format
msgid "%s: cannot open %s: %s\n"
msgstr "%s: %s-ის გახსნის შეცდომა: %s\n"
#, c-format
msgid "%s: invalid group ID '%s'\n"
msgstr "%s: ჯგუფის არასწორი ID '%s'\n"
@@ -1516,7 +1544,7 @@ msgstr ""
"ჩანაწერების ჩვენება\n"
msgid ""
" -C, --clear clear lastlog record of an user (usable only "
" -C, --clear clear lastlog record of a user (usable only "
"with -u)\n"
msgstr ""
" -C, --clear მომხმარებლის lastlog ჩანაწერის გასუფთავება "
@@ -1622,11 +1650,6 @@ msgstr ""
msgid "%s: Cannot possibly work without effective root\n"
msgstr "%s: root-ის უფლებებით ალბათ ვერ ვიმუშავებ\n"
msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
msgstr ""
"\"utmp\"-ის ჩანაწერი არ არსებობს. \"login\"-ი \"sh\"-ის უმდაბლესი დონიდან "
"უნდა გაუშვათ"
#, c-format
msgid ""
"\n"
@@ -1660,14 +1683,6 @@ msgstr "მომხმარებლის სახელი არასწ
msgid "Cannot find user (%s)\n"
msgstr "მომხმარებლის (%s) პოვნა შეუძლებელია\n"
#, c-format
msgid ""
"\n"
"%s login: "
msgstr ""
"\n"
"%s მომხმარებლის სახელი: "
#, c-format
msgid "%s: failure forking: %s"
msgstr "%s: განტოტვის შეცდომა: %s"
@@ -1704,10 +1719,11 @@ msgstr "%s: gid -ის დიაპაზონი [%lu-%lu) -> [%lu-%lu) დ
#, c-format
msgid ""
"usage: %s <pid> <gid> <lowergid> <count> [ <gid> <lowergid> <count> ] ... \n"
"usage: %s [<pid|fd:<pidfd>] <gid> <lowergid> <count> [ <gid> <lowergid> "
"<count> ] ... \n"
msgstr ""
"გამოყენება: %s <pid> <gid> <lowergid> <რაოდენობა> [ <gid> <lowergid> "
"<რაოდენობა> ] ... \n"
"გამოყენება: %s [<pid|fd:<pidfd>] <gid> <lowergid> <რაოდენობა> [ <gid> "
"<lowergid> <რაოდენობა> ] ... \n"
#, c-format
msgid "%s: kernel doesn't support setgroups restrictions\n"
@@ -1730,20 +1746,16 @@ msgid "%s: failed to setgroups %s policy: %s\n"
msgstr "%s: setgroups-ის შეცდომა %s პოლიტიკა: %s\n"
#, c-format
msgid "%s: Could not open proc directory for target %u\n"
msgstr "%s: proc საქაღალდის გახსნის შეცდომა სამიზნისთვის %u\n"
#, c-format
msgid "%s: Could not stat directory for target %u\n"
msgstr "%s: საქაღალდის აღმოჩენის შეცდომა სამიზნისთვის: %u\n"
msgid "%s: Could not stat directory for process\n"
msgstr "%s: საქაღალდის აღმოჩენის შეცდომა პროცესისთვის\n"
#, c-format
msgid ""
"%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:%lu, "
"gid:%lu pw_gid:%lu st_gid:%lu\n"
"%s: Target process is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
"%s: სამიზნე %u სხვა მომხმარებლისაა: uid:%lu pw_uid:%lu st_uid:%lu, gid:%lu "
"pw_gid:%lu st_gid:%lu\n"
"%s: სამიზნე პროცესის მფლობელი სხვა მომხმარებლია: uid:%lu pw_uid:%lu st_uid:"
"%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgid "Usage: newgrp [-] [group]\n"
msgstr "გამოყენება: newgrp [-] [ჯგუფი]\n"
@@ -1775,18 +1787,15 @@ msgstr "%s: uid -ის დიაპაზონი [%lu-%lu) -> [%lu-%lu) დ
#, c-format
msgid ""
"usage: %s <pid> <uid> <loweruid> <count> [ <uid> <loweruid> <count> ] ... \n"
"usage: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <count> [ <uid> <loweruid> "
"<count> ] ... \n"
msgstr ""
"გამოყენება: %s <pid> <uid> <loweruid> <რაოდენობა> [ <uid> <loweruid> "
"<რაოდენობა> ] ... \n"
"გამოყენება: %s [<pid>|fd:<pidfd>] <uid> <loweruid> <რაოდენობა> [ <uid> "
"<loweruid> <რაოდენობა> ] ... \n"
#, c-format
msgid ""
"%s: Target process %u is owned by a different user: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgstr ""
"%s: სამიზნე პროცესი %u სხვა მომხმარებლითაა გაშვებული: uid:%lu pw_uid:%lu "
"st_uid:%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
msgid "%s: Could not stat directory for target process\n"
msgstr "%s: საქაღალდის აღმოჩენის შეცდომა სამიზნე პროცესისთვის\n"
msgid " -b, --badname allow bad names\n"
msgstr " -b, --badname სახელების სისწორე არ შემოწმდება\n"
@@ -1807,6 +1816,10 @@ msgid "%s: invalid user name '%s': use --badname to ignore\n"
msgstr ""
"%s: მომხმარებლის არასწორი სახელი '%s': დასაიგნორებლად გამოიყენეთ --badname\n"
#, c-format
msgid "%s: Provide '--crypt-method' before number of rounds\n"
msgstr "%s: მიაწოდეთ '--crypt-method', წრეების რაოდენობამდე\n"
#, c-format
msgid "%s: line %d: invalid line\n"
msgstr "%s: ხაზი %d: არასწორი ხაზი\n"
@@ -1829,6 +1842,10 @@ msgstr "%s: ხაზი %d: ჯგუფის შექმნა შეუძ
msgid "%s: line %d: user '%s' does not exist in %s\n"
msgstr "%s: ხაზი %d: მომხმარებელი '%s' %s-ში არ არსებობს\n"
#, c-format
msgid "%s: line %d: %s\n"
msgstr "%s: ხაზი %d: %s\n"
#, c-format
msgid "%s: line %d: can't update password\n"
msgstr "%s: ხაზი %d: პაროლის განახლება შეუძლებელია\n"
@@ -1849,14 +1866,14 @@ msgstr "%s: ხაზი %d: chown %s -ის შეცდომა: %s\n"
msgid "%s: line %d: can't update entry\n"
msgstr "%s: ხაზი %d: ჩანაწერის განახლების შეცდომა\n"
#, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: ახალი %s ჩანაწერის მომზადების შეცდომა\n"
#, c-format
msgid "%s: can't find subordinate user range\n"
msgstr "%s: დაქვემდებარებული მომხმარებლის დიაპაზონის პოვნა შეუძლებელია\n"
#, c-format
msgid "%s: failed to prepare new %s entry\n"
msgstr "%s: ახალი %s ჩანაწერის მომზადების შეცდომა\n"
#, c-format
msgid "%s: can't find subordinate group range\n"
msgstr "%s: დაქვემდებარებული ჯგუფის დიაპაზონის პოვნა შეუძლებელია\n"
@@ -1934,6 +1951,9 @@ msgstr ""
"რაოდენობის \n"
" MAX_DAYS-ზე დაყენება\n"
msgid " -s, --stdin read new token from stdin\n"
msgstr " -s, --stdin ახალი კოდების stdin-დან წაკითხვა\n"
msgid "Old password: "
msgstr "ძველი პაროლი: "
@@ -1953,6 +1973,11 @@ msgstr ""
"შეიყვანეთ ახალი პაროლი (მინიმუმ %d, მაქსიმუმ %d სიმბოლო)\n"
"გამოიყენეთ დიდი და პატარა ასოებისა და რიცხვების კომბინაცია.\n"
#, fuzzy
#| msgid "%s: fields too long\n"
msgid "Password is too long.\n"
msgstr "%s: ველები ძალიან გრძელია\n"
msgid "New password: "
msgstr "ახალი პაროლი: "
@@ -1995,6 +2020,11 @@ msgstr ""
msgid "%s: repository %s not supported\n"
msgstr "%s: მხარდაუჭერელი რეპოზიტორია: %s\n"
#, c-format
msgid "%s: only root can use --stdin/-s option\n"
msgstr ""
"%s: --stdin/-s პარამეტრის გამოყენება, მხოლოდ, root მომხმარებელს შეუძლია\n"
#, c-format
msgid "%s: root is not authorized by SELinux to change the password of %s\n"
msgstr ""
@@ -2148,11 +2178,9 @@ msgstr "%s: სიგნალის გაუმართაობა\n"
msgid "Session terminated, terminating shell..."
msgstr "სესია გაწყდა. გარსის დასრულება...."
#, c-format
msgid " ...killed.\n"
msgstr " ...მოკლულია.\n"
#, c-format
msgid " ...waiting for child to terminate.\n"
msgstr " ... ველოდები შვილი პროცესების დასრულებას.\n"
@@ -2229,6 +2257,10 @@ msgstr "%s: su-ის ავტორიზაცია ამჟამად
msgid "No passwd entry for user '%s'\n"
msgstr "Passwd ფაილში მომხმარებლისთვის \"%s\" ჩანაწერი არ არსებობს\n"
#, c-format
msgid "Overlong user name '%s'\n"
msgstr "მეტისმეტად გრძელი მომხმარებლის სახელი '%s'\n"
#, c-format
msgid "%s: must be run from a terminal\n"
msgstr "%s: ტერმინალიდან გაშვება აუცილებელია\n"
@@ -2274,6 +2306,15 @@ msgstr "%s: %s შეიქმნა, მაგრამ ვერ ვშლი\
msgid "%s: the %s configuration in %s will be ignored\n"
msgstr "%s: %s-ის კონფიგურაცია %s-ში იგნორირებული იქნება\n"
#, c-format
msgid ""
"%s: the '%s' configuration in %s has an invalid group, ignoring the bad "
"group\n"
msgstr ""
"%s: '%s'-ის კონფიგურაციას %s-ში არასწორი ჯგუფი აქვს. არასწორი ჯგუფების "
"გამოტოვება\n"
"\n"
#, c-format
msgid "%s: cannot create new defaults file: %s\n"
msgstr "%s: ნაგულისხმები მნიშვნელობების შემცველი ფაილის შექმნის შეცდომა; %s\n"
@@ -2370,6 +2411,13 @@ msgstr ""
" -f, --inactive INACTIVE ახალი ანგარიშის პაროლის არააქტიურობის "
"პერიოდი\n"
msgid ""
" -F, --add-subids-for-system add entries to sub[ud]id even when adding a "
"system user\n"
msgstr ""
" -F, --add-subids-for-system ჩანაწერების დამატება sub[ud]id-ში სისტემური "
"მომხმარებლის დამატების დროსაც კი\n"
msgid ""
" -g, --gid GROUP name or ID of the primary group of the new\n"
" account\n"
@@ -2437,8 +2485,15 @@ msgid ""
" -Z, --selinux-user SEUSER use a specific SEUSER for the SELinux user "
"mapping\n"
msgstr ""
" -Z, --selinux-user SEUSER SELinux -ის მომხმარებელთან ბმისთვის "
"მითითებლი SEUSER -ის გამოყენება\n"
" -Z, --selinux-user SEUSER მითითებული SEUSER -ის გამოყენება SELinux-ის "
"მომხმარებლის ასახვისთვის\n"
msgid ""
" --selinux-range SERANGE use a specific MLS range for the SELinux "
"user mapping\n"
msgstr ""
" --selinux-user SERANGE მითითებული MLS შუალედის გამოყენება SELinux-ის "
"მომხმარებლის ასახვისთვის\n"
#, c-format
msgid "%s: invalid base directory '%s'\n"
@@ -2571,6 +2626,12 @@ msgstr ""
msgid "Setting mailbox file permissions"
msgstr "საფოსტო ყუთის ფაილის წვდომების დაყენება"
msgid "Synchronize mailbox file"
msgstr "საფოსტო ყუთის ფაილის სინქრონიზაცია"
msgid "Closing mailbox file"
msgstr "საფოსტო ყუთის ფაილის დახურვა"
#, c-format
msgid "%s warning: %s's uid %d is greater than SYS_UID_MAX %d\n"
msgstr ""
@@ -2836,6 +2897,12 @@ msgstr ""
" -Z, --selinux-user SEUSER ანგარიშის SELinux -ის მითითებულ "
"მომხმარებელზე მიბმა\n"
msgid ""
" --selinux-range SERANGE new SELinux MLS range for the user account\n"
msgstr ""
" --selinux-range SERANGE ახალი SELinux MLS შუალედი მომხმარებლის "
"ანგარიშისთვის\n"
#, c-format
msgid ""
"%s: unlocking the user's password would result in a passwordless account.\n"
@@ -2914,18 +2981,38 @@ msgstr "%s: ძველი საწყისი საქაღალდის
msgid "%s: cannot rename directory %s to %s\n"
msgstr "%s: საქაღალდის სახელის %s-დან %s-ზე გადარქმევის შეცდომა\n"
#, c-format
msgid ""
"%s: The previous home directory (%s) does not exist or is inaccessible. Move "
"cannot be completed.\n"
msgstr ""
"%s: წინა საწყისი საქაღალდე (%s) არ არსებობს ან ხელმისაწვდომი არაა. გადატანის "
"დასრულება შეუძლებელია.\n"
#, c-format
msgid "%s: failed to copy the lastlog entry of user %lu to user %lu: %s\n"
msgstr ""
"%s: lastlog-ის ჩანაწერის ერთი მომხმარებლიდან (%lu) მეორეზე (%lu) კოპირების "
"შეცდომა: %s\n"
#, c-format
msgid "%s: failed to copy the lastlog entry of user %ju to user %ju: %s\n"
msgstr ""
"%s: lastlog-ის ჩანაწერის ერთი მომხმარებლიდან (%ju) მეორეზე (%ju) კოპირების "
"შეცდომა: %s\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %lu to user %lu: %s\n"
msgstr ""
"%s: faillog -ის ჩანაწერის ერთი მომხმარებლიდან (%lu) მეორეზე (%lu) კოპირების "
"შეცდომა: %s\n"
#, c-format
msgid "%s: failed to copy the faillog entry of user %ju to user %ju: %s\n"
msgstr ""
"%s: faillog -ის ჩანაწერის ერთი მომხმარებლიდან (%ju) მეორეზე (%ju) კოპირების "
"შეცდომა: %s\n"
#, c-format
msgid "%s: warning: %s not owned by %s\n"
msgstr "%s: გაფრთხილება: %s-ის მფლობელი %s არაა\n"
@@ -3026,8 +3113,8 @@ msgstr "მონახაზის ფაილის წაშლის შე
msgid "failed to stat edited file"
msgstr "რედაქტირებული ფაილის აღმოჩენა შეუძლებელია"
msgid "failed to allocate memory"
msgstr "მეხსიერების გამოყოფის შეცდომა"
msgid "asprintf(3) failed"
msgstr "asprintf(3) ჩავარდა"
msgid "failed to create backup file"
msgstr "მარქაფის ფაილის შექმნის შეცდომა"
@@ -3039,3 +3126,34 @@ msgstr "%s: %s-ის აღდგენის შეცდომა: %s (თქ
#, c-format
msgid "%s: failed to find tcb directory for %s\n"
msgstr "%s: %s-სთვის tcb საქაღალდის პოვნის შეცდომა\n"
#, c-format
#~ msgid "%s: Not enough arguments to form %u mappings\n"
#~ msgstr "%s: არასაკმარისი არგუმენტები %u ბმის ჩამოსაყალიბებლად\n"
#~ msgid "too simple"
#~ msgstr "ძალიან მარტივია"
#, c-format
#~ msgid "Unable to obtain random bytes.\n"
#~ msgstr "შემთხვევითი ბაიტების მიღების შეცდომა.\n"
#~ msgid "No utmp entry. You must exec \"login\" from the lowest level \"sh\""
#~ msgstr ""
#~ "\"utmp\"-ის ჩანაწერი არ არსებობს. \"login\"-ი \"sh\"-ის უმდაბლესი "
#~ "დონიდან უნდა გაუშვათ"
#, c-format
#~ msgid "%s: Could not open proc directory for target %u\n"
#~ msgstr "%s: proc საქაღალდის გახსნის შეცდომა სამიზნისთვის %u\n"
#, c-format
#~ msgid ""
#~ "%s: Target %u is owned by a different user: uid:%lu pw_uid:%lu st_uid:"
#~ "%lu, gid:%lu pw_gid:%lu st_gid:%lu\n"
#~ msgstr ""
#~ "%s: სამიზნე %u სხვა მომხმარებლისაა: uid:%lu pw_uid:%lu st_uid:%lu, gid:"
#~ "%lu pw_gid:%lu st_gid:%lu\n"
#~ msgid "failed to allocate memory"
#~ msgstr "მეხსიერების გამოყოფის შეცდომა"

Some files were not shown because too many files have changed in this diff Show More