一、常用命令:
(1)创建用户命令两条:
adduser
useradd
(2)用户的 增/删/改 命令:useradd、usermod、userdel
(3)组的 增/删/改 命令:groupadd、groupmod、groupdel
二、两个用户创建命令之间的区别
adduser: 会自动为创建的用户指定主目录、系统shell版本,会在创建时输入用户密码。
useradd:需要使用参数选项指定上述基本设置,如果不使用任何参数,则创建的用户无密码、无主目录、没有指定shell版本。
---------------------
三、使用adduser
例如:
$ adduser apple
输出显示:adduser:只有 root 才能将用户或组添加到系统。所以使用sudo
这样在创建用户名时,就创建了用户的主目录以及密码。
默认情况下:
adduser在创建用户时会主动调用 /etc/adduser.conf;
在创建用户主目录时默认在/home下,而且创建为 /home/用户名
如果主目录已经存在,就不再创建,但是此主目录虽然作为新用户的主目录,而且默认登录时会进入这个目录下,但是这个目录并不是属于新用户,当使用userdel删除新用户时,并不会删除这个主目录,因为这个主目录在创建前已经存在且并不属于这个用户。
为用户指定shell版本为:/bin/bash
四、使用useradd
注意: 在使用useradd命令创建新用户时,不会为用户创建主目录,不会为用户指定shell版本,不会为用户创建密码。
使用举例:
1、创建一个新用户 newuser,同时创建用户自家目录
# useradd newuser
2、创建一个新用户 tom,同时加入 staff 附加组中
# useradd -G staff tom
3、创建一个新用户 webmaster,不创建用户自家目录,指定登录目录 /www,同时加入 apache 附加组中
# useradd -d /www -M -G apache webmaster
---------------------
例如:
1、不使用任何参数选项创建用户:
例如创建新用户 tt
$ sudo useradd tt
(1)需要为用户指定登录密码:
(2)需要为用户指定shell版本和用户登录主目录
如上图所示,最后一行行首只出现:
$
查看shell版本,发现是/bin/sh:
说明这是没有指定shell版本
用户登录后的所在目录为根目录: /
虽然$HOME环境变量为/home/tt
2、为用户指定参数的useradd命令:
常用命令行选项:
(1) -d: 指定用户的主目录
(2) -m: 如果存在不再创建,但是此目录并不属于新创建用户;如果主目录不存在,则强制创建; -m和-d一块使用。
(3) -s: 指定用户登录时的shell版本
(4) -M: 不创建主目录
例如:
$ sudo useradd -d "/home/tt" -m -s "/bin/bash" tt
解释: -d “/home/tt" :就是指定/home/tt为主目录
-m 就是如果/home/tt不存在就强制创建
-s 就是指定shell版本
修改tt密码:
$ sudo passwd tt
五、删除用户命令
userdel
(1)只删除用户:
sudo userdel 用户名
(2)连同用户主目录一块删除:
sudo userdel -r 用户名
如果创建时主目录已经存在,即主目录不属于当前要删除的用户,则无法删除主目录,例如:
可以看出无法删除已有主目录/home/tt。
六、usermod
usermod 用于修改系统已存在的组账号。格式如下:usermod [options] LOGIN
其中:
LOGIN:为要修改的用户账号名
选项:-c、-d、-e、-f、-g、-G、-s、-u 的含义与 useradd 选项的含义相同
举例:
1、将 newuser2 添加到组 staff 中
# usermod -G staff newuser2
2、修改 newuser 的用户名为 newuser1
# usermod -l newuser1 newuser
3、锁定账号 newuser1
# usermod -L newuser1
4、解除对 newuser1 的锁定
# usermod -U newuser1
---------------------
1)groupadd
groupadd 用于添加组账号。格式如下:groupadd [-g GID] GROUP
其中:
GROUP:是要添加的组名
-g:用于指定 GID,默认为使用当前最大的 GID 加1
举例: 添加一个新组 leader
# groupadd leader
# grep leader /etc/group
leader:x:504:
# grep leader /etc/gshadow
leader:!::
2)groupmod
groupmod 用于修改系统已存在的组账号。格式如下:groupmod [options] GROUP
其中:
GROUP:为要修改的组账户名
常用选项:
-g GID:重新指派 GID
-n NEW_GROUP:更改组名为 NEW_GROUP
举例: 将 leader 组更名为 leaders
# groupmod -n leaders leader
# grep leader /etc/group
leaders:x:504:
将 leaders 组的 GID 改为 3000
# groupmod -g 3000 leaders
# grep leader /etc/group
leaders:x:3000:
3)groupdel
groupdel 用于删除系统已存在的组账号。格式如下:groupdel GROUP
其中:GROUP 为要删除的组账户名
例如:删除 leaders 组
# groupdel leaders
# grep leaders /etc/group
# grep leaders /etc/gshadow
---------------------
原文:https://blog.csdn.net/ithomer/article/details/9971003
passwd命令用来更改使用者的密码
实例
修改用户密码
# passwd runoob //设置runoob用户的密码
Enter new UNIX password: //输入新密码,输入的密码无回显
Retype new UNIX password: //确认密码
passwd: password updated successfully
#
显示账号密码信息
# passwd -S runoob
runoob P 05/13/2010 0 99999 7 -1
删除用户密码
# passwd -d lx138
passwd: password expiry information changed.
chage命令:
该命令用于密码时效管理。它可以修改账号和密码的有效期
1:查看mysql用户以及密码的有效期
[root@DB-Server ~]# chage -l mysql
Last password change : Mar 26, 2015
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : -1
Maximum number of days between password change : -1
Number of days of warning before password expires : -1
[root@DB-Server ~]#
2:设置mysql用户60天后密码过期,至少7天后才能修改密码,密码过期前7天开始收到告警信息。
[root@DB-Server ~]# chage -M 60 -m 7 -W 7 mysql
You have new mail in /var/spool/mail/root
[root@DB-Server ~]# chage -l mysql
Last password change : Mar 26, 2015
Password expires : May 25, 2015
Password inactive : never
Account expires : never
Minimum number of days between password change : 7
Maximum number of days between password change : 60
Number of days of warning before password expires : 7
[root@DB-Server ~]#
3:强制新建用户第一次登陆时修改密码
[root@DB-Server home]# useradd test
[root@DB-Server home]# passwd test
Changing password for user test.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@DB-Server home]# chage -d 0 test
You have new mail in /var/spool/mail/root
[root@DB-Server home]# chage -l test
Last password change : password must be changed
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
id 命令可以显示真实有效的用户 ID(UID) 和组 ID(GID)。UID 是对一个用户的单一身份标识。组 ID(GID)则对应多个UID。
打印用户名、UID 和该用户所属的所有组
$ id -a
输出所有不同的组ID (有效的,真实的和补充的)
$ id -G
只输出有效的组ID
$ id -g
输出特定用户信息
$ id leni #后面跟用户名