Linux домашняя папка другого пользователя

Создать домашний каталог для существующего пользователя в Linux

В этом кратком руководстве объясняется, как создать домашний каталог для существующего пользователя в Linux и Unix-подобных операционных системах с помощью команды mkhomedir_helper .

Как вы уже знаете, мы можем создать нового пользователя в Linux и Unix-подобных системах с помощью команды adduser , верно? Да все верно! Когда мы добавляем нового пользователя, по умолчанию автоматически создается домашний каталог для соответствующего пользователя.

Есть еще одна команда для создания пользователей в Linux. Это так useradd . После того, как я создал несколько пользователей с помощью команды useradd в Alpine Linux, я заметил, что каталоги $HOME для пользователей не создаются. Я не знал этого раньше. Прочитав справочные страницы команды useradd , я понял, что мне следовало включить -m (или —create-home ) опцию для создания новых пользователей в каталоге $HOME , как показано ниже:

Но я забыл включить эту опцию и создал несколько новых пользователей. Если вы похожи на меня, не удаляйте существующих пользователей и создавайте их заново с помощью опции -m . Вы можете легко создать домашний каталог для существующего пользователя в Linux с помощью команды mkhomedir_helper , не удаляя и не воссоздавая пользователя.

mkhomedir_helper вспомогательная программа для модуля pam_mkhomedir . Модуль pam_mkhomedir PAM создаст домашний каталог пользователя, если он не существует в начале сеанса. Сначала этот модуль создает домашние каталоги, а затем заполняет их содержимым указанного каталога skel. Значение по умолчанию umask — это 0022, а значение по умолчанию для пути к skel — /etc/skel.

Позвольте мне показать вам пример, чтобы объяснить, как создать домашний каталог для существующего пользователя с помощью mkhomedir_helper.

Во-первых, давайте создадим нового пользователя с именем ostechnix, используя команду useradd :

Установите пароль для пользователя:

Теперь переключитесь на нового пользователя:

Вы увидите следующее сообщение об ошибке:

Как видно из вышеприведенного вывода, домашний каталог для пользователя ostechnix не существует, отсюда и эта ошибка.

Давайте проверим это, заглянув в /homeкаталог:

Что ж, это правда, что у пользователя ostechnix нет домашнего каталога.

Итак, давайте создадим домашний каталог для существующего пользователя (то есть ostechnix в нашем случае) с помощью команды mkhomedir_helper .

Для этого сначала выйдите из системы пользователя ostechnix, если вы уже вошли в систему:

И выполните следующую команду, чтобы создать домашний каталог для пользователя с именем ostechnix :

Обратите внимание, что вы должны выполнить указанную выше команду как root пользователь или другой sudo пользователь.

Читайте также:  Линукс для андроид как установить

Теперь переключитесь на пользователя ostechnix:

На этот раз вы не получите никакого предупреждающего сообщения, потому что домашний каталог для пользователя с именем ostechnix был создан с помощью команды mkhomedir_helper .

Для получения дополнительных сведений см. справочные страницы:

Теперь вы знаете, как создавать домашние каталоги после создания пользователей. Это может быть полезно, если вы забыли включить -m параметр при создании пользователей с помощью команды useradd.

Вместо использования useradd вы можете использовать adduser команду, которая автоматически создаст домашние каталоги пользователей без каких-либо параметров.

Источник

Igorkam

Ярлыки

  • С++ (3)
  • Стихи (1)
  • тонировка (1)
  • Цитаты (2)
  • ALTlinux (1)
  • Apache (2)
  • big-endian (1)
  • Blogger (1)
  • books (3)
  • books links (1)
  • Buisness (10)
  • C (1)
  • C# (5)
  • c++ (27)
  • car (8)
  • Cheat (1)
  • CSS (1)
  • DLL (1)
  • Draw (1)
  • Eclipse (2)
  • Films (1)
  • Firefox (4)
  • Flash (1)
  • GTK (2)
  • GUI (1)
  • Home server (1)
  • Hotels (1)
  • HTML (6)
  • IE (1)
  • Internet (2)
  • Java (1)
  • JavaScript (6)
  • jQuery (1)
  • KDE (1)
  • KeeTouch (1)
  • Linux (34)
  • little-endian (1)
  • Makefile (1)
  • MFC (6)
  • multi-thread (2)
  • Music (1)
  • ODBC (2)
  • OpenBox (2)
  • photo (4)
  • PHP (38)
  • programing (2)
  • proxy (1)
  • QML (37)
  • Qt (41)
  • QtCreator (2)
  • RegExp (3)
  • Shopping (12)
  • shutdown (1)
  • Soft (1)
  • Sound Card (1)
  • SQL (1)
  • SQL Server (14)
  • Subversion (1)
  • SVN (1)
  • teach (4)
  • text-editor (1)
  • Travels (1)
  • Ubuntu (38)
  • Upstart (1)
  • Vi (2)
  • VirtualBox (2)
  • Virtualization (1)
  • vkontakte.ru (1)
  • Web (2)
  • Web-Kit (5)
  • WinAPI (7)
  • Windows (4)

пятница, 10 июня 2011 г.

Linux домашняя директория

cd и домашняя директория

Если бы мы хотели переместиться в нашу домашнюю директорию, то могли бы набрать:

Без каких либо аргументов cd переместит в вашу домашнюю директорию, которая будет /root для суперпользователя, или обычно /home/username (где username — имя пользователя в системе — прим.пер.) для любого другого пользователя. Но, что если мы хотим указать файл в нашей домашней директории? Может быть мы хотим передать путь к файлу в качестве аргумента нашей программе myprog. Если файл расположен в нашей домашней директории, мы можем набрать:

Однако, использования абсолютного пути вроде этого, не всегда удобно. К счастью, мы можем использовать символ

Источник

Как скопировать файл /папку из домашнего каталога другого пользователя в Linux?

Я хочу скопировать файл /папку из домашнего каталога другого пользователя в мой домашний каталог в Linux.

Я не могу получить доступ к его каталогу, потому что он говорит, что разрешение отклонено. Я на 100% уверен, что файл можно скопировать из домашнего каталога другого пользователя, потому что кто-то показал мне, как, но я забыл.

Это то, что я сейчас делаю:

Как я могу это сделать?

5 ответов

Если у вас нет разрешения, вы не можете скопировать файл.

Единственное, что можно сделать, — это увеличить свои права доступа, например, став root или другим пользователем. Вы можете попробовать «scp»:

или скопируйте файл как пользователь root (но тогда имейте в виду, что файл назначения принадлежит root).

Читайте также:  Linux variable refresh rate

Другой пользователь должен либо предоставить вам доступ для чтения (и выполнить доступ к каталогам).

Вы можете с большей вероятностью сделать это, создав группу и присоединив ее к себе, а затем предоставив соответствующий доступ к группе.

Вы также можете скопировать файл как root, если он разом, а затем используйте chown /chgrp, чтобы сбросить разрешения для вашего пользователя.

(Также может быть проще попросить другого пользователя скопировать файл в папку, которую вы создали.)

, пожалуйста, проверьте свой доступ с помощью

и опубликуйте результат.

Кстати, у вас есть папка для пользователей? обычно путь для пользовательских профилей /home /username , или используйте специальный синтаксис пути

имя пользователя /файл

Есть ли у вас root-доступ к машине? то вы можете скопировать файл, игнорирующий права доступа.

Если у вас есть корневой вход,

Чтобы убедиться, что пользователь имеет полный доступ к файлу с правами root,

Используйте этот общий синтаксис:

Например: у меня есть один каталог под названием «DATA» на моем рабочем столе, то есть /home/DINESH/Deskop/DATA . Вы хотите скопировать его на рабочий стол в /home/SURESH/Desktop/ . Вы должны использовать эту команду:

Источник

Как поменять домашнюю директорию для пользователя linux командой usermod

У каждого пользователя в Unix есть своя домашняя папка, предназначенная для хранения данных пользователя в месте, доступном только для него. О том, как узнать домашнюю директорию любого пользователя можно прочитать по → этой ссылке. О том, где и как создаются записи о домашнем каталоге пользователя написано в → этой статье. О том, как поменять домашнюю папку пользователя по умолчанию в Linux → по этой ссылке. Все перечисленные сведения полезны и могут помочь ручками поправить путь до домашнего каталога пользователя, однако для его смены есть удобная команда linux — usermod . То, как с её помощью быстро поменять домашнюю директорию для пользователя и рассмотрим ниже.

Помощь по команде usermod в linux

Зная название команды, лично я лезу в подсказки операционной системе по ней. Чего и всем советую. =) Данный случай не является исключением. Сперва посмотрим на те опции, которые описаны в хэлпе:

Как видно, опций у команды usermod более, чем достаточно, но для текущей цели (смены домашнего каталога пользователя) понадобится опция -d . Её и рассмотрим более подробно.

Как с помощью опции -d команды usermod в линукс поменять домашнюю директорию пользователя

Рассмотрим на живом примере. Создадим нового пользователя (как это сделать → подробно тут):

Посмотрим на запись об этом пользователе в файле /etc/passwd . Она имеет следующий вид:

Посмотрим содержимое этой домашней папки (она пустая):

И теперь сменим домашнюю папку этому пользователю:

  1. Командой usermod -d /var/www/newuser2 newuser прописали папку /var/www/newuser2 в качестве домашней для пользователя newuser
  2. Но директория при этом не была создана. Это видно при попытке её прочитать: ls -l /var/www/newuser2
  3. Однако, запись в файле /etc/passwd была изменена.

Можно конечно создать эту папку вручную командой mkdir (читать тут), а потом прописать ей владельца и группу командой chown (читать тут), но проще и безболезненнее воспользоваться дополнительной опцией -m команды usermod . Важно, чтобы папка пользователя содержала хоть что-нибудь в себе. Даже просто пустой файл. Тогда и только тогда, новая папка будет создана и в неё будет перенесено содержимое старой папки.

Читайте также:  Wsus для windows 10 1909

Поэтому для того, чтобы поменять домашнюю директорию для пользователя linux, нужно воспользоваться командой usermod с опцией -md. При этом в папке пользователя должны храниться какие-нибудь данные.

Источник

Как узнать домашнюю директорию любого пользователя Linux

Для того, чтобы правильно и безопасно хранить данные на сервере, (особенно, если на этом сервере несколько пользователей), следует точно знать, где располагаются их домашние папки, до которых у пользователей есть доступ (у каждого в свою, но нет доступа в чужие папки с чужими данными). Например, для того, чтобы дать пользователю доступ по ftp только к его данным или подсказать полный путь до его www-директории. В этой статье рассмотрим то, как узнать домашнюю директорию любого пользователя Linux несколькими способами.

Где хранится системная информация о домашних каталогах пользователей в Linux

При создании нового пользователя в Unix-системах, каждому пользователю обязательно домашний каталог. О том, где и как располагается запись о домашней директории пользователя в файле /etc/passwd , подробно описано в → этой статье. Для понимания вопроса сейчас требуется знать, что это предпоследнее (шестое) поле home в строке записи пользователя в этом файле:

login : password : UID : GID : GECOS : home : shell

Поэтому, можно в цикле обходить этот файл в поиске записи нужного пользователя, разбивать строку на подстроки и брать значение 6-го поля. Но это слишком длинный способ. Есть короче и проще. 😉

Команда pwd в Unix

Команда pwd выводит текущий путь к директории, в которой находится пользователь. Выполнив команду pwd , получим этот путь:

У пользователя root в Unix по умолчанию домашней директорией является /root .

Оператор

(тильда) в Debian

Другой способ того, как определить домашнюю директорию текущего пользователя. Достаточно посмотреть значение оператора

Результат не сильно отличается от предыдущего, но к

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

Ещё одним полезным свойством

является то, что с помощью этого оператора можно получить путь до домашней директории любого пользователя в системе (если конечно пользователь есть в системе, то есть прописан в файле /etc/passwd , например посмотреть содержимое домашнего каталога пользователя ftp можно так, поставив перед ним тильду

А теперь посмотреть содержимое этого файла:

Ну и то, к чему мы стремились: посмотреть путь к домашней директории пользователя:

Так гораздо удобнее, чем парсить и разбирать файл /etc/passwd . За нас всю эту работу делает операционная система! 😉

Источник

Оцените статью