在Linux中为现有用户创建主目录:useradd问题

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/
目录Linux为现有用户创建主目录useradd解决办法Linux用户、组管理及目录操作linux用户管理linux的组管理linux中的系统操作命令linux中的帮助命令linux中的文件目录命令总结

Linux为现有用户创建主目录useradd

本文方法也适用于其它的linux 。

我使用的是manjaro ,属于Arch linux 家族。为了配置samba,增加一个用户user1。

[me@manjaro ~]$ sudo useradd user1

但是之后发现/home下面并没有建立对应的主目录,例如 /home/user1 。

查找原因,原来是没有加上参数 -m :

[me@manjaro ~]$ sudo useradd -m user1

解决办法

网上的方法,要么是手工建立目录,指定属性;再从 /etc/skel/下复制文件 。 要么是重新建立一个用户。但是我找到一个简单的官方解决方法:

[me@manjaro ~]$ sudo mkhomedir_helper user1

就是利用了mkhomedir_helper 命令。它为已经存在的用户建立相应的主目录,并且自动复制一些文件如.bashrc、.profiles …

-rwxr-xr-x 1 root root 22704 2月 2 17:21 /usr/sbin/mkhomedir_helper

参考:

https://linuxhandbook.com/create-home-directory-existing-user/

补充:

上述 mkhomedir_helper 命令执行之后,ctrl-alt-F2 (键盘第一排F1….F8,都可以试。Manjaro F7 是切换到桌面)打开一个 终端界面:

以 user1 用户登录时,可以登录;但出现错误提示;

–user1:user1:Change directory failed:No such file or directory.Logining in  with home=”/” [user1@manjaro /]$

这里,查看,/etc/passwd文件:

[user1@manjaro /]$ sudo cat /etc/passwd  … user1:x:1001:1001::user1:/bin/bash …

对应user1一行应该是:

user1:x:1001:1001::/home/user1:/bin/bash

mkhomedir_helpe 命令,仅仅是创建了用户目录,却没有修改/etc/passwd 文件。

解决方法就是,更改用户user1的家目录位置信息:

sudo usermod  user1  –home  /home/user1

再检查passwd 文件内容:

user1:x:1001:1001::/home/user1:/bin/bash

用户user1 也能正常登录了。

Linux用户、组管理及目录操作

linux用户管理

1、任何使用linux的系统资源的用户

必须用一个合法的账号和密码,账号和密码一般像系统管理员申请,root是linux系统安装时默认创建的系统管理员账号

2、添加用户:useradd 用户名

在Linux中为现有用户创建主目录:useradd问题插图

linux中用户不会独立于组存在,创建用户时如果不指定组,会默认创建一个组,组名和用户名相同,并将用户添加到该组

3、给用户设置密码:passwd 用户名

在Linux中为现有用户创建主目录:useradd问题插图1

当我们设置过于简单的密码或者容易被破解的密码时,linux会给出相应的提示,但是其实也是可以设置上的,再输入一遍密码即可设置成功,如果是正式环境请设置复杂密码,因为我是做测试,所以设置比较简单。

4、删除用户:userdel 用户名

userdel user :仅删除用户userdel -r user :删除用户的同时级联删除它的主目录

5、查看用户信息:id 用户名

在Linux中为现有用户创建主目录:useradd问题插图2

6、切换用户 :su 用户名

在Linux中为现有用户创建主目录:useradd问题插图3

从权限高的用户切换到权限低的用户,不需要密码验证,反之需要密码验证

linux的组管理

1、linux中的组相当于角色的概念,可以对有共性的用户进行统一管理,如上:每个用户至少属于一个组,不能独立于组存在。

2、添加组:groupadd 组名

3、删除组:groupdel 组名

在Linux中为现有用户创建主目录:useradd问题插图4

 4、把用户添加到组中:gpasswd -a 用户名 组名

在Linux中为现有用户创建主目录:useradd问题插图5

 5、把用户从组中移除:gpasswd -d 用户名 组名

在Linux中为现有用户创建主目录:useradd问题插图6

6、添加用户时,指定所属的组(主组):useradd -g 组名 用户名

在Linux中为现有用户创建主目录:useradd问题插图7

linux中的系统操作命令

关机:

shutdown now     立即关机shutdown -h xxx  定时关机shutdown -r now  立即重启

重启:reboot  立即重启

同步数据:sync

linux中的帮助命令

1、查看linux系统手册上的帮助信息:man 命令

分屏显示信息,按回车翻一行,按空格翻一页,按q退出查看

举例:man ls

在Linux中为现有用户创建主目录:useradd问题插图8

2、查看命令的内置帮助信息:help 命令

在Linux中为现有用户创建主目录:useradd问题插图9

linux中的文件目录命令

1、查看当前所在目录:pwd

在Linux中为现有用户创建主目录:useradd问题插图10

2、查看指定目录下所有的子目录或者文件列表:ls [指定目录]

[]表示参数可选ls

在Linux中为现有用户创建主目录:useradd问题插图11

ls -l [指定目录]:列表形式显示ls -a [指定目录]:显示包含虚拟目录/隐藏目录ls -al [指定目录]:多个选项可以组合使用

在Linux中为现有用户创建主目录:useradd问题插图12

3、 切换目录: cd 目录名

绝对目录:以盘符开始的目录cd /opt/testDir一个特殊的绝对目录 ~:当前用户的根目录 cd ~相对目录:以当前目录名开始的目录cd testDir

在Linux中为现有用户创建主目录:useradd问题插图13

特殊的相对目录 ..:当前目录的上一级目录 cd .. .:当前目录 cd .  一般执行shell文件时用到  ./xxx.sh

4、创建目录:mkdir 目录名(可用绝对/相对目录)

mkdir默认只创建一级目录

增加-p选项可以一次创建多级目录

在Linux中为现有用户创建主目录:useradd问题插图14

5、删除一个空目录:rmdir 目录名

6、创建文件:touch 文件名列表(文件名之间用空格隔开)

在Linux中为现有用户创建主目录:useradd问题插图15

7、复制文件/目录:cp  source(源)  dest(目标) 

在Linux中为现有用户创建主目录:useradd问题插图16

默认只复制当前一级

 增加-r选项可以递归复制当前级下的多级目录  cp -r test3 test

8、删除文件或目录:rm 文件名/目录名

-f:强制删除

在Linux中为现有用户创建主目录:useradd问题插图17

-r:递归删除目录

在Linux中为现有用户创建主目录:useradd问题插图18

-rf:递归强制删除目录

9、移动文件或目录:mv  source(源)  dest(目标)

在Linux中为现有用户创建主目录:useradd问题插图19

mv t3.txt t3_new.txt:文件重命名 

10、查看文件内容:cat 文件名

内容一次性显示出来-n:显示行号

在Linux中为现有用户创建主目录:useradd问题插图20

11、分页查看文本内容:more 文件名

空格键:翻一页回车键:翻一行q:离开more

12、分页查看文件内容:less 文件名 效率更高

空格键:翻一页回车键:翻一行/字串:向下搜寻字串?字串:向上搜寻字串

13、查看文件头10行内容:head 文件名

-n 5 :查看头5行内容

14、查看文件尾10行内容:tail 文件名

-n 5:查看文件尾5行内容-f:循环读取

15、echo指令:主要用于输出系统变量或者常量值到命令行终端

JAVA_HOME、PATH、CLASSPATH echo $JAVA_HOME

在Linux中为现有用户创建主目录:useradd问题插图21

 一般写在shell脚本中

16、>指令:向指定文件填写前一个命令的输出结果

查看命令(ls、cat、more、less、、、) > 文件名(如果文件不存在,则会新建一个)

如果目标文件已存在,则把文件以前的内容覆盖

在Linux中为现有用户创建主目录:useradd问题插图22

17、把前一个查看命令的结果追加输出到指定的文件中:查看命令 >> 文件名

如果文件不存在,则会新建一个

如果目标文件已存在,则把文件以前的内容覆盖

在Linux中为现有用户创建主目录:useradd问题插图23

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容