场景:我在学习git克隆的时候,想自己实操一下,发现本身的机器ssh的配置已经很好了。不想再删了,然后就想新建一个用户
我们可以了解到的命令:useradd、userdel、adduser、deluser、usermod、vipw、vipw-s、vigr我们可以了解到的文件:/etc/default/useradd、/etc/login.defs、/etc/passwd、/etc/shadow、/etc/adduser.conf、/etc/deluser.conf、/etc/passwd、/etc/shadow、/etc/skel
创建用户
sudouseraddtestcd/home/ll
怎么没有我刚开始创建的用户目录呀。先不管了,切换到test用户上!!
sudosu-test
怎么跟我预想的不一样呀。查找了一下useradd命令的帮助吧
manuseradd
我们简单列出几个比较常用的吧,详细的可以自己查看
-b,--base-dirBASE_DIR如果没有使用-dHOME_DIR,则使用默认的基目录。BASE_DIR加上账户名就是主目录。选项没有指定,useradd将使用/etc/default/useradd中的HOME变量,或者默认的/home。-d,--home-dirHOME_DIR将创建新用户,并使用HOME_DIR作为用户登陆目录的值。默认值是将LOGIN名附加到BASE_DIR后面,并使用这作为登陆目录。目录不一定必须已经存在HOME_DIR,但是会在需要时创建-m,--create-home如果不存在,则创建用户主目录。骨架目录中的文件和目录(可以使用-k选项指定),将会复制到主目录。-M,--no-create-home不创建用户主目录,即使系统在/etc/login.defs中的设置(CREATE_HOME)为yes-s,--shellSHELL用户的登录shell名。默认为留空,让系统根据/etc/default/useradd中的SHELL变量选择默认的登录shell,默认为空字符串。-g,--gidGROUP用户初始登陆组的组名或号码。组名必须已经存在。组号码必须指代已经存在的组。
这其中涉及到两个文件,一个是/etc/default/useradd和/etc/login.defs
/etc/default/useradd存放了一些默认值/etc/login.defs存放了创建用户的一些默认配置
看到这里,我们能看出来。我们创建用户用的是无参数的。导致我们创建的用户有很多配置没有。那我们删除用户test,重新加参数创建
userdeltest//删除用户,后面会说到useradd-mtestcd/home/llsudosu-test
这样创建出来的用户是在/home/有用户目录
我们可以看到,shell命令行,跟我们原来的不一样。这是因为,默认创建的用户使用的是登录shell是/bin/sh,而我们平常用的是/bin/bash(默认值在/etc/default/useradd下)
这样我们就要更改一下test用户的登录shell版本,
sudousermod-s'/bin/bash'test
这样一来,跟我们原来的一样了。完美~~这时我们会发现登录用户test还没有设置密码,我们再执行下面命令。输入密码,可以给test用户设置密码
exit//先退出test用户sudopasswdtestsu-test//sudosu-test好像怎么样都不需要密码
关于创建用户目录,理解一下-m、-b、-d三个参数。-b指定基目录-b指定用户命令,-m其实是一个复制命令,会将/etc/skel得文件骨架结构,复制到你创建用户里面(文件不存在,就会创建)。一切都是默认值的话,用户的目录就是/home/test/
至此,我们一个用户就创建完成了。
删除用户
sudouseraddtestcd/home/ll0
用户就会被删除,但是我们可以发现,在home底下,对应的test文件没有删除,我们执行删除文件夹的命令就可以
sudouseraddtestcd/home/ll1
其实呢,我们可以在删除用户的时候,添加一个`-r`的参数,可以直接在删除用户的时候,把用户目录也一起删除了
删除命令的详细参数,可以用manuserdel来查看。
其余命令
在这学习中,我还发现了一个命令adduser和deluser,其实这两个命令跟useradd和deluser命令都是创建用户的命令。
adduser他是一个perl脚本,利用交互式的方式,来创建用户,适合初学者。他默认登录shell就是'/bin/bash',能创建用户目录,还能直接设置密码。但是最终还是用的useradd命令。deluser也是一样的道理。有兴趣的可以取看一下,很简单的。
sudouseraddtestcd/home/ll2
centos
ubuntu
总结:
sudouseraddtestcd/home/ll3
vipw也是一中vi,不过仅是修改用户信息文件的,打开就是/etc/passwd,它会给文件上锁,如果已经被打开了,你就不可再打开了。除此之外,还有vipg,修改用户组文件