linux 创建、修改、删除用户和用户组

添加用户:

useradd 用户名

adduser 用户名

CentOs下useradd与adduser是没有区别的
两者都会在home下自动创建目录,没有设置密码,需使用passwd修改密码。

不同之处主要体现在Ubuntu
在用useradd时,如果后面不添加任何选项,如:#useradd user1创建出来的用户将是默认的“三无”用户,且该用户无法登陆。

无家目录
无密码
无系统Shell

设置用户密码

passwd(选项)(参数)

选项:
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。

参数:
用户名:需要设置密码的用户名。

编辑用户:

usermod(选项)(参数)

选项:
-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s:修改用户登入后所使用的shell;
-u:修改用户ID;
-U:解除密码锁定。

参数:
用户名

删除用户:

(1)只删除用户:

sudo   userdel   用户名


(2)连同用户主目录一块删除:

sudo  userdel   -r   用户名

显示真实有效的用户ID(UID)和组ID(GID):

id [-gGnru][--help][--version][用户名称]

查看当前有效的用户名称

whoami

与用户、组账户信息相关的文件

/etc/passwd /etc/shadow
保存账号信息 保存账号密码等信息
所有用户都可读,root用户可编辑 其他用户不可读写,root可读写

 

 

 

 

/etc/passwd 

一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下: 
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

例如:user1:X:503:504:::/home/user1/:/bin/bash
user1  //用户名
X  //口令
503  //用户id(0代表root、普通新建用户从500开始)
504  //所在组
:  //描述
/home/user1/  //用户主目录
/bin/bash  //用户缺省Shell

用户名(login_name):是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(:),因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。

口令(passwd):一些系统中,存放着加密后的用户口令字。虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多Linux系统都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。

用户标识号(UID):是一个整数,系统内部用它来标识用户。取值范围是0-65535。0是超级用户root的标识号,1-99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。

组标识号(GID):字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。

注释性描述(users):字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。

主目录(home_directory):也就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。

登录Shell(Shell):用户登录后,要启动的shell

 

/etc/shadow

这里也是由[:]来进行分割,但是这里一共分出来九个栏目,每个栏目的解释如下:

root:!:15324:0:99999:7:::
daemon:*:15259:0:99999:7:::
bin:*:15259:0:99999:7:::

1、账户名称
2、加密后的密码,如果这一栏的第一个字符为!或者*的话,说明这是一个不能登录的账户,从上面可以看出,ubuntu默认的就不启用root账户。
3、最近改动密码的日期(不是日期吗,咋是一堆数字,别急,这个是从1970年1月1日算起的总的天数)。那怎么才能知道今天距1970年1月1日有多少天呢?很简单,你改下密码,然后看下这个栏目中的数字是多少就可以了!
4、密码不可被变更的天数:设置了这个值,则表示从变更密码的日期算起,多少天内无法再次修改密码,如果是0的话,则没有限制
5、密码需要重新变更的天数:密码经常更换才能保证安全,为了提醒某些经常不更换密码的用户,可以设置一个天数,强制让用户更换密码,也就是说该用户的密码会在多少天后过期,如果为99999则没有限制
6、密码过期预警天数:如果在5中设置了密码需要重新变更的天数,则会在密码过期的前多少天进行提醒,提示用户其密码将在多少天后过期
7、密码过期的宽恕时间:如果在5中设置的日期过后,用户仍然没有修改密码,则该用户还可以继续使用的天数
8、账号失效日期,过了这个日期账号就不能用了
9、保留的

 

 

你可能感兴趣的:(linux)