在Linux中为现有用户创建主目录:useradd问题 |
||||||||||||||||
+ 目录
Linux为现有用户创建主目录useradd本文方法也适用于的linux 。 我使用的是manjaro ,属于Arch linux 家族。为了配置samba,增加一个用户user1。
?
但是之后发现/home下面并没有建立对应的主目录,例如 /home/user1 。 查找原因,原来是没有加上参数 -m :
?
解决办法网上的方法,要么是手工建立目录,指定属性;再从 /etc/skel/下复制文件 。 要么是重新建立一个用户。但是我找到一个简单的官方解决方法:
?
就是利用了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 用户登录时,可以登录;但出现错误提示;
?
这里,查看,/etc/passwd文件:
?
对应user1一行应该是:
?
mkhomedir_helpe 命令,仅仅是创建了用户目录www.lu0.com,却没有修改/etc/passwd 文件。 解决方法就是,更改用户user1的家目录位置信息:
?
再检查passwd 文件内容:
?
用户user1 也能正常登录了。
Linux用户、组管理及目录操作
linux用户管理1、任何使用linux的系统资源的用户 必须用一个合法的账号和密码,账号和密码一般像系统管理员申请,root是linux系统安装时默认创建的系统管理员账号 2、添加用户:useradd 用户名
linux中用户不会独立于组存在,创建用户时如果不指定组,会默认创建一个组,组名和用户名相同,并将用户添加到该组 3、给用户设置密码:passwd 用户名
当我们设置过于简单的密码或者容易被破解的密码时,linux会给出相应的提示,但是其实也是可以设置上的,再输入一遍密码即可设置成功,如果是正式环境请设置复杂密码,因为我是做测试,所以设置比较简单。 4、删除用户:userdel 用户名
5、查看用户信息:id 用户名
6、切换用户 :su 用户名
从权限高的用户切换到权限低的用户,不需要密码验证,反之需要密码验证
linux的组管理1、linux中的组相当于角色的概念,可以对有共性的用户进行统一管理,如上:每个用户至少属于一个组,不能独立于组存在。 2、添加组:groupadd 组名 3、删除组:groupdel 组名
4、把用户添加到组中:gpasswd -a 用户名 组名
5、把用户从组中移除:gpasswd -d用户名 组名
6、添加用户时,指定所属的组(主组):useradd -g 组名 用户名
linux中的系统操作命令关机:
重启:reboot 立即重启 同步数据:sync
linux中的帮助命令1、查看linux系统手册上的帮助信息:man 命令 分屏显示信息,按回车翻一行,按空格翻一页,按q退出查看 举例:man ls
2、查看命令的内置帮助信息:help 命令
linux中的文件目录命令1、查看当前所在目录:pwd
2、查看指定目录下所有的子目录或者文件列表:ls [指定目录]
3、 切换目录: cd 目录名
4、创建目录:mkdir 目录名(可用绝对/相对目录) mkdir默认只创建一级目录 增加-p选项可以一次创建多级目录
5、删除一个空目录:rmdir 目录名 6、创建文件:touch 文件名列表(文件名之间用空格隔开)
7、复制文件/目录:cp source(源) dest(目标)
默认只复制当前一级 增加-r选项可以递归复制当前级下的多级目录 cp -r test3 test 8、删除文件或目录:rm 文件名/目录名
9、移动文件或目录:mv source(源) dest(目标)
10、查看文件内容:cat 文件名
11、分页查看文本内容:more 文件名
12、分页查看文件内容:less 文件名 效率更高
13、查看文件头10行内容:head 文件名
14、查看文件尾10行内容:tail 文件名
15、echo指令:主要用于输出系统变量或者常量值到命令行终端
|