关于linux用户的命令

用户相关命令

  • 创建用户
    useradd newuser

  • 查看用户
    cat /etc/passwd
    grep newuser /etc/passwd

  • 删除用户
    userdel newuser(不要删除系统自带的用户)

  • 关于useradd与adduser的区别
    在Ubuntu系统中:
    1、useradd在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个用户是不能登录的,需要使用passwd命令修改密码。

    2、adduser在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell版本,会在创建时会提示输入密码,更加友好。

    userdel 删除用户,
    userdel只能删除用户,并不会删除相关的目录文件。userdel -r 可以删除用户及相关目录。

组相关命令

  • 创建组
    groupadd newgroup

  • 查看组
    cat /etc/group
    grep newgroup /etc/group

  • 删除组
    groupdel newgroup

增加一个新用户到附加用户组

新增加一个用户并将其列入一个已有的用户组中需要用到 useradd 命令。如果还没有这个用户组,可以先创建该用户组。

命令参数如下:

useradd -G {group-name} username

例如,我们要创建一个新用户 cnzhx 并将其添加到用户组 developers 中。首先需要以 root 用户身份登录到系统中。先确认一下是否存在 developers 这个用户组,在命令行输入:

# grep developers /etc/group

输出类似于:

developers:x:1124:

如果看不到任何输出,那么就需要先创建这个用户组了,使用 groupadd 命令:

# groupadd developers

然后创建用户 cnzhx 并将其加入到 developers 用户组:

# useradd -G developers cnzhx

为用户 cnzhx 设置密码:

# passwd cnzhx

为确保已经将该用户正确的添加到 developers 用户组中,可以查看该用户的属性,使用 id 命令:

# id cnzhx

输出类似于:

uid=1122(cnzhx) gid=1125(cnzhx) groups=1125(cnzhx),1124(developers)

前面命令中用到的大写的 G (-G) 参数就是为了将用户添加到一个附加用户组中,而同时还会为此用户创建一个属于他自己的新组 cnzhx。如果要将该用户同时增加到多个附加用户组中,可以使用英文半角的逗号来分隔多个附加组名(不要加空格)。例如,同时将 cnzhx 增加到 admins, ftp, www, 和 developers 用户组中,可以输入以下命令:

# useradd -G admins,ftp,www,developers cnzhx

增加一个新用户到主要用户组

要增加用户 cnzhx 到组 developers,可以使用下面的指令:

# useradd -g developers cnzhx
# id cnzhx

输出类似于:

uid=1123(cnzhx) gid=1124(developers) groups=1124(developers)

请注意如前面的示例的区别,这里使用了小写字母 g (-g)作为参数,此时用户的主要用户组不再是 cnzhx 而直接就是 developers。

小写字母 g (-g)将新增加的用户初始化为指定为登录组(主要用户组)。此组名必须已经存在。组号(gid)即是此已有组的组号。

将一个已有用户增加到一个已有用户组中

将一个已有用户 cnzhx 增加到一个已有用户组 apache 中,使此用户组成为该用户的附加用户组,可以使用带 -a 参数的 usermod 指令。-a 代表 append, 也就是将用户添加到新用户组中而不必离开原有的其他用户组。不过需要与 -G 选项配合使用:

# usermod -a -G apache cnzhx

如果要同时将 cnzhx 的主要用户组改为 apache,则直接使用 -g 选项:

# usermod -g apache cnzhx

如果要将一个用户从某个组中删除,则

gpasswd -d user group

但是这个时候需要保证 group 不是 user 的主组。

附:管理用户(user)和用户组(group)的相关工具或命令

1)管理用户(user)的工具或命令

useradd 注:添加用户
adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov 注:同步用户从/etc/passwd 到/etc/shadow
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 注:查看用户信息工具
id 注:查看用户的UID、GID及所归属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 注:和sudo 功能差不多;

2)管理用户组(group)的工具或命令
groupadd 注:添加用户组;
groupdel 注:删除用户组;
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
grpck
grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;

将一个用户添加到某个组,即可让此用户拥有该组的权限。比如在配置 VPS 上的 LAMP 服务器的时候,运行网站的 apache 用户修改的文件,如果服务器管理用户 cnzhx(可以通过 ssh 登录到服务器)需要修改此文件的话,就可以将 cnzhx 加入到 apache 组中达到目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值