如何创建Linux用户账号 useradd参数配置详解

哎,Linux系统里的useradd命令,那可真是神器啊,创建用户账号,设置属性,一应俱全。
咱们先说基础语法,useradd[选项]用户名,这玩意儿简单不简单?创建用户之后,得设置个密码,不然怎么登录呢,对吧?
然后咱们来看看常用参数,第一个是-m,这玩意儿的作用是创建用户主目录,默认情况下,像CentOS这种发行版,它不会自动创建主目录,所以咱们得用-m强制创建,然后从/etc/skel复制默认配置文件,比如.bashrc、.profile,这事儿得注意,不加-m,用户可能登录不了。

再说说-d,这参数是干什么的呢?指定自定义主目录路径,你想把主目录放在非/home路径下,就得用它,然后配合-m自动创建目录,如果路径不存在的话。

-s参数是设置登录Shell的,你想改默认Shell,比如把/bin/bash换成/bin/zsh,或者想禁止登录,比如/sbin/nologin或者/bin/false,这都可以用-s来设置。

-c参数是添加用户描述信息的,记录一下用户的全名、联系方式啥的,用finger或者getent passwd查看信息。

-g和-G参数是指定主组和附加组的,-g指定主组,-G指定附加组,这俩可以赋予用户额外权限,比如sudo组。

-u参数是手动分配UID的,你想手动分配UID,比如迁移用户或者避免冲突,这玩意儿很有用。

-e参数是设置账号过期时间的,格式是YYYY-MM-DD,适用于临时用户或者试用账号,过期了用户就登录不了了。

-f参数是设置密码过期后禁用天数的,0表示立即禁用,-1 表示永不失效。

useradd的行为受几个文件控制,比如/etc/default/useradd,定义默认Shell、主目录模板路径啥的,还有/etc/login.defs,定义UID/GID范围、密码策略啥的。

咱们举个例子,创建个开发用户,useradd -m -d /home/dev_john -s /bin/bash -c "John Developer, DevTeam" -g developers -G docker,sudo -u 1 01 0 -e 2 02 6 -01 -01 john,然后设置密码,验证用户信息。

最后,给点补充建议,密码设置得设置,属性修改用usermod,批量操作结合脚本,安全控制要谨慎分配sudo权限,通过/etc/sudoers精细控制。
掌握了useradd的参数配置,管理Linux用户账户就轻松多了,适用于日常运维和自动化部署场景。
这useradd命令,真是太强大了!

如何在 Linux 中创建用户

对,Linux里创建用户俩法子:adduser和useradd。

adduser简单,自动弄个主目录啥的,直接sudo adduser <用户名>就成。

useradd高级,能设置ID、目录,比如sudo useradd -d /home/jane -u 1 001 jane。

设置密码用passwd,sudo passwd <用户名>。

创建后,检查/etc/passwd看有没名字,再用id命令确认权限组。

加用户到组?sudo useradd -G sudo,ftp <用户名>。

想删用户?sudo userdel <用户名>,要删目录?加-r。

搞管理?密码复杂,定期换,权限分好,监控登录。

你自己看,这些操作得实践一下。

步骤:在Linux系统中添加新用户

哎哟,这事儿吧,我得跟你唠唠。
我前几年在老家那个机房,搞服务器,老是得加用户。
那时候Linux系统是天天见,这个操作我熟得很。

想当年,我加个用户,肯定是先得用root登录。
为啥?你得有权限啊!你那个普通用户,哪能随便加人。
我一般都直接su,输入root密码。
密码这事儿,千万不能让别人知道,我那会儿密码都是我自己记在小本本上,藏得贼深。

然后呢,创建用户。
我那时候老用adduser,这玩意儿方便啊,它自己会提示你设置密码,还有那些啥全名、电话的,反正我都是瞎填几个,没啥用。
命令就是sudo adduser newuser,newuser你就改成你想加的用户名。
它一提示,你直接回车就行,它会自己带过去。

有时候我也用useradd,这个就得麻烦点,得手动给设置密码。
比如我要加个叫test的用户,我先用useradd -m test,这个-m是啥意思?就是自动给你建个家目录。
然后还得用passwd test,单独给这个用户设置个密码。
这俩命令一起用,挺好。

然后啊,分组。
adduser那个自带分组挺好的,它自己就建个跟用户名一样的组,还把你加进去。
有时候啊,我得给用户加个sudo组,让他能跑sudo命令。
这个就得用usermod了,命令是sudo usermod -aG sudo testuser,这个-aG是啥意思?就是加到sudo组里,不会跟你原来的组冲突。

加完之后,我得验证一下。
我先用su testuser,然后输入密码,如果能进去,提示符是testuser@xxx:~$,那就说明加好了。
然后我再试试sudo whoami,这个得输入密码,如果它回我root,那就说明我给这个用户配sudo权限成功了。
最后,我还得用id testuser看看他属于哪些组,顺便cat /etc/passwd | grep testuser确认一下他在系统里没。

要说删除用户,也很简单。
就用sudo deluser --remove-home testuser,这个--remove-home是啥?就是连家目录一起删了,干净利落。
这个我得小心点,删错了没法恢复。

密码这事儿,得强密码。
我那时候都是用那种很复杂的,还得定期换。
有时候还得用chage,比如sudo chage -M 9 0 testuser,这个啥意思?就是密码9 0天就得换一次。
我这人记性不好,用这个强制换,省心。

还有啊,那些配置文件,/etc/passwd、/etc/shadow、/etc/group,这些得懂,虽然我一般不乱动。
安全这块,我得提醒你,别啥组都让用户加,容易出事。
比如sudo组,那可是权利很大的。
还得定期看看,哪些用户不用了,赶紧删了,别留后患。
用sudo代替直接root登录,这个好,不容易出错。

总之啊,加用户这事儿,看似简单,但得小心。
我踩过的坑啊,就是有一次忘了给用户加sudo组,结果那个用户没法管理服务器,急得我满头大汗。
所以啊,每一步都得看仔细了。