- Создать домашний каталог для существующего пользователя в Linux
- Igorkam
- Ярлыки
- пятница, 10 июня 2011 г.
- Linux домашняя директория
- Как скопировать файл /папку из домашнего каталога другого пользователя в Linux?
- 5 ответов
- Как поменять домашнюю директорию для пользователя linux командой usermod
- Помощь по команде usermod в linux
- Как с помощью опции -d команды usermod в линукс поменять домашнюю директорию пользователя
- Как узнать домашнюю директорию любого пользователя Linux
- Где хранится системная информация о домашних каталогах пользователей в Linux
- Команда pwd в Unix
- Оператор
Создать домашний каталог для существующего пользователя в 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).
Другой пользователь должен либо предоставить вам доступ для чтения (и выполнить доступ к каталогам).
Вы можете с большей вероятностью сделать это, создав группу и присоединив ее к себе, а затем предоставив соответствующий доступ к группе.
Вы также можете скопировать файл как 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 . Она имеет следующий вид:
Посмотрим содержимое этой домашней папки (она пустая):
И теперь сменим домашнюю папку этому пользователю:
- Командой usermod -d /var/www/newuser2 newuser прописали папку /var/www/newuser2 в качестве домашней для пользователя newuser
- Но директория при этом не была создана. Это видно при попытке её прочитать: ls -l /var/www/newuser2
- Однако, запись в файле /etc/passwd была изменена.
Можно конечно создать эту папку вручную командой mkdir (читать тут), а потом прописать ей владельца и группу командой chown (читать тут), но проще и безболезненнее воспользоваться дополнительной опцией -m команды usermod . Важно, чтобы папка пользователя содержала хоть что-нибудь в себе. Даже просто пустой файл. Тогда и только тогда, новая папка будет создана и в неё будет перенесено содержимое старой папки.
Поэтому для того, чтобы поменять домашнюю директорию для пользователя 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 . За нас всю эту работу делает операционная система! 😉
Источник