linux学习之adduser、usermod

关于linux增加用户和空间,请看:linux配置samba共享目录及权限_Rocket MAN的博客-CSDN博客_samba共享文件夹访问权限

adduser (推荐)和 useradd的说明文档

在系统中使用man useradd查看帮助:

>USERADD(8)                                                      System Management Commands                                                     USERADD(8)

NAME      

               useradd - create a new user or update default new user information

SYNOPSIS        

               useradd [options] LOGIN        

               useradd -D        

               useradd -D [options] DESCRIPTION      

 useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead.

#useradd是一个用于添加用户的低级实用程序。在Debian上,管理员通常应该改用adduser(8)

从文档中可以看出推荐在Debian系统上使用adduser,而不是useradd

使用man adduser查看文档

>ADDUSER(8)                                                       System Manager's Manual                                                       ADDUSER(8)

NAME        

                  adduser, addgroup - add a user or group to the system

SYNOPSIS        

                   adduser  [options]  [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID] [--firstuid ID] [--lastuid ID] [--ingroup GROUP | --gid ID] [--dis‐        abled-password] [--disabled-login] [--gecos GECOS] [--add_extra_groups] [--encrypt-home] user        

                   adduser --system [options] [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID] [--group | --ingroup GROUP | --gid ID] [--disabled-password]        [--disabled-login] [--gecos GECOS] user        

                   addgroup [options] [--gid ID] group        

                   addgroup --system [options] [--gid ID] group        

                  adduser [options] user group    

COMMON OPTIONS        

                  [--quiet] [--debug] [--force-badname] [--help|-h] [--version] [--conf FILE]

DESCRIPTION        

                  adduser  and  addgroup  add  users  and groups to the system according to command line options and configuration information in /etc/adduser.conf.        They are friendlier front ends to the low level tools like useradd, groupadd and usermod programs, by default choosing  Debian  policy  conformant  UID  and GID values, creating a home directory with skeletal configuration, running a custom script, and other features.  adduser and addgroup can   be run in one of five modes:

#添加用户 以及 添加组 添加 用户 并根据/etc/adduser.conf中的命令行选项和配置信息对系统进行分组。默认情况下,它们是useradd、groupadd和usermod程序等低级工具的友好前端 德比安 政策 符合的  UID编号 和GID值,创建具有骨架配置的主目录,运行自定义脚本和其他功能。 adduser和addgroup可以   以五种模式之一运行:

可以看出adduser的参数更全面,更好用。

顺便提一下,如果想为一个系统服务创建专门的用户,比如说为hadoop服务创建一个专门的hadoop用户用来运行相关程序,这时候可以使用如下命令:

adduser --system  hadoop

使用--system创建的是系统用户,系统用户默认的shell是/usr/sbin/nologin这个shell禁止登录,只能运行程序,所以非常安全。

本地用户想要切换到系统用户可以使用如下命令:

 su - hadoop -s /bin/bash

现在就切换到bash,可以正常运行了。

添加用户

使用adduser 添加用户

参数说明

-ingroup  指定已存在的用户组,在 linux - adduser: Specify only one name in this mode - Unix & Linux Stack Exchange中已经说明,使用ingroup可以创建成功

liuyan@ubuntu:~$ sudo adduser -ingroup mbb-sw3 hzq
Adding user `hzq' ...
Adding new user `hzq' (1039) with group `mbb-sw3' ...
Creating home directory `/home/hzq' ...
Copying files from `/etc/skel' ...
no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for hzq
Enter the new value, or press ENTER for the default
	Full Name []: 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 

Is the information correct? [Y/n] y
liuyan@ubuntu:~$ 

adduser与useradd的异同

adduser这种方式会同时创建/home/username。另一种方式useradd不会创建/home/username

删除用户

userdel -r username 

其中-r表示同时删除/home/username,否则,是无法删除/home/username的

修改用户

修改账号名称,修改该passwd中主目录,更新当前主目录目录名

sudo usermod -d /newHome/user -m user

-d 或 --home 选项用于更改用户的主目录

-m 参数表示移动用户当前主目录中的文件到新的主目录。

sudo usermod -l newuser olduser

-l 或 --login 选项用于更改或重命名现有用户的用户名  

修改用户组名

另外,还需要修改group组中的tester3位tester4

sudo groupmod -n newgroup oldgorup

修改用户密码

sudo passwd userName

samba配置(如需要)

samba主要用于其他服务器访问linux的共享目录

samba账号配置

删除老账户的samba账号

smbpasswd -x  老账号

添加新账号,并配置密码

sudo smbpasswd -a 新账号

查询新账号是否添加成功 

sudo pdbedit -L | grep 新账号

 smb.conf配置

删除老账户的samba.conf配置,替换成新用户的samba配置

vim /etc/samba/smb.conf

[新账号]
comment = 新账号 Shared Folder
path = /目录/新账号
public = no
writable = yes
valid users = 新账号
browseable = yes
create mask = 0777
directory mask = 0777

修改用户附属组

gpasswd删除某个用户的附属组

sudo gpasswd -d username groupname

gpasswd将某个用户添加到附属组

sudo gpasswd -a username groupname

设置用户组的成员列表

sudo gpasswd -M username1,username2  groupname

usermod修改附属组

【注意】

修改用户附属组命令是,要注意。

-a 以追加的方式添加

-G 附属组,默认会覆盖原附属组的内容

这里不可以少了-a参数,我有一次对sudo附属组使用该命令没加-a,导致用户没有了sudo权限,只能切换到root后添加,如果没有root密码呢?只能重启服务器重新配置root密码,特别重要的服务器不是你想重启就可以重启的。

usermod -a -G 附属组名 用户名
xxx@xxx:~$ tail -2 /etc/group
tester:x:1007:tester1,yjl
tester4:x:1008:

xxx@xxx:~$ sudo usermod -aG tester tester4
[sudo] password for yjl: 

xxx@xxx:~$ tail -2 /etc/group
tester:x:1007:tester1,yjl
tester4:x:1008:

参考资料:

添加用户useradd Linux useradd命令详解:添加新的系统用户

删除用户userdel Linux userdel命令详解:删除用户

adduser -group 组名 用户名报错adduser: Specify only one name in this mode.
的解决方法:linux - adduser: Specify only one name in this mode - Unix & Linux Stack Exchange

另外补充,linux使用useradd创建的用户没有目录的解决办法 linux使用useradd创建的用户没有目录的解决办法 - sogeisetsu - 博客园

LInux下设置账号有效时间 以及 修改用户名

Linux的useradd与adduser命令区别:Linux的useradd与adduser命令区别 — 浮云的博客

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值