你好,游客 登录 注册 搜索
背景:
阅读新闻

Linux账号管理

[日期:2013-04-25] 来源:Linux社区  作者:zhang_ruihua [字体: ]

四、账号管理

1.新增用户useradd:

语法:useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-mM][-c 用户说明] [-d 用户主文件夹(绝对路径)] [-s shell] 用户账号

参数:

[-u]:后面接UID,是一组数字,直接指定一个待定的UID给这个账号

[-g]:后面接用户初始用户组名initialgroup

[-G]:后面接次要组名,即此账号还可以加入的组名

[-m]:强制!要创建用户主文件夹(普通账号默认)

[-M]:强制!不要创建用户主文件夹(系统账号默认)

[-c]:

[-d]:指定某个目录为用户的主文件夹,而不使用默认值,必需使用绝对路径

[-r]:创建一个系统账号,这个账号的UID会有限制(参考/etc/login.defs)

[-s]:后面接shell,若没有指定刚默认是/bin/bash

[-e]:后面接一个日期,设置此账号的失效日,格式为“YYYY-MM-DD”此项会写入shadow的第八个字段

[-f]:后面接shadow的第七个字段,指定密码是否会失效,0为立刻失效,-1为永远不失效

[-D]:查看useradd命令的默认值

 

查看useradd命令的默认值:

[root@hs-uf21 etc]# useradd -D

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

 

新用户user1(使用系统默认参数):

[root@hs-uf21 etc]# useradd user1

[root@hs-uf21 etc]# grep user1 passwd shadow groupgshadow

passwd:user1:x:502:503::/home/user1:/bin/bash

shadow:user1:!!:15817:0:99999:7:::

group:user1:x:503:

gshadow:user1:!::

给用户user1设置密码:

[root@hs-uf21 etc]# passwd user1

Changing password for user user1.

New UNIX password:

BAD PASSWORD: it is too short

Retype new UNIX password:

passwd: all authentication tokens updatedsuccessfully.

查看user1用户的主文件夹:默认权限是700

[root@hs-uf21 etc]# ll -d /home/user1

drwx------ 4user1 user1 4096 Apr 22 21:27 /home/user1

 

注意:使用root用户设置其它用户的密码

说明:创建普通用户时,UID默认是大于500的,并且会新建一个跟用户名相同的用户组做为此用户的初始用户组

 

 

新用户user2,并指定UID为114,指定初始用户组为users,强制不创建主文件夹:

[root@hs-uf21 etc]# useradd -u 114 -g users -M user2

[root@hs-uf21 etc]# ll -d /home/user2

ls: /home/user2: No such file or directory

[root@hs-uf21 etc]# grep user2 passwd shadow group

passwd:user2:x:114:100::/home/user2:/bin/bash

shadow:user2:!!:15817:0:99999:7:::

 

注意:指定初始用户组后,group文件中没有user2的相关信息

 

使用-r参数创建一个系统账号:

[root@hs-uf21 etc]# useradd -r user3

[root@hs-uf21 etc]# ll -d /home/user3

ls: /home/user3: No such file or directory

[root@hs-uf21 etc]# grep user3 passwd shadow group

passwd:user3:x:115:115::/home/user3:/bin/bash

shadow:user3:!!:15817::::::

group:user3:x:115:

 

注意:默认创建系统账号的UID是小于500的,并且没有创建用户主文件夹,同时新创建跟用户同名的用户组做为此用户的初始用户组

 

创建新用户涉及的文件:

用户账号与密码参数方面的文件:/etc/passwd、/etc/shadow

用户组相关方面的文件:/etc/group 、/etc/gshadow

用户主文件夹:/home/账号名称

 

useradd参考文件:/etc/default/useradd(也可以使用命令useradd -D查看)

[root@hs-uf21 etc]# cat /etc/default/useradd

# useradd defaults file

GROUP=100 <<==默认用户组

HOME=/home <<==默认主文件夹所有目录

INACTIVE=-1 <<==密码失效日

EXPIRE= <<==账号失效日

SHELL=/bin/bash <<==默认shell

SKEL=/etc/skel <<==指定用户主文件夹的参考基准目录

 

UID/GID及密码参数的参考文件:/etc/login.defs

[root@hs-uf21 etc]# cat /etc/login.defs

MAIL_DIR /var/spool/mail <<==用户默认邮件信箱放置目录

PASS_MAX_DAYS 99999 <<==/etc/shadow内的第5列,设置多久需要更改密码的天数

PASS_MIN_DAYS 0 <<==/etc/shadow内的第4列,设置多久不可重新设置密码的天数

PASS_MIN_LEN 5 <<==密码最短的字符长度,已经被pam模式替代失去效用

PASS_WARN_AGE 7 <<==/etc/shadow内的第6列,设置密码过期前的警告天数

UID_MIN 500 <<==用户最小的UID,小于500的UID为系统保留

UID_MAX 60000 <<==用户最大的UID

GID_MIN 500 <<==用户自定义组的最小GID,小于500的为系统保留

GID_MAX 60000 <<==用户自定义组的最大GID

CREATE_HOME yes <<==在不加-M及-m时,是否主动创建用户主文件夹

 

2.用户设置密码:passwd/chage

passwd:

语法:passwd[--stdin][-l][-u][-S][-n 日数][-x 日数][-w日数][-i 日期] 账号

参数:

[--stdin]:

[-l]:Lock的意思,会将/etc/shadow第二列最前面加上“!”使用密码失效

[-u]:与-l是相对的,Unlock的意思

[-S]:列出密码的相关参数,即shadow文件内的大部分信息

[-n]:后面接天数,修改shadow文件的第4列,多久不可以修改密码的天数

[-x]:后面接天数,修改shadow文件的第5列,多久必需要改动密码的天数

[-w]:后面接天数,修改shadow文件的第6列,密码过期前的警告天数

[-i]:后面接日期,修改shadow文件的第7列,密码失效日期

 

修改Oracle用户的密码:

[root@hs-uf21 ~]# passwdoracle

Changing password for user oracle.

New UNIX password:

BAD PASSWORD: it is based on a dictionary word

Retype new UNIX password:

passwd: all authentication tokens updatedsuccessfully.

 

注意:要修改其它用户的密码,需要使用passwd 账号的格式,passwd后面不接用户表示修改自己的密码。但一般用户修改自己的密码时,需要先输入自己的原密码,而root用户不用。Linux使用pam模式来管理密码,这个管理的机制写在/etc/pam.d/passwd当中。

 

使用标准输入修改用户的密码:

[root@hs-uf21 ~]# echo "oracle" | passwd --stdin oracle

Changing password for user oracle.

passwd: all authentication tokens updated successfully.

 

注意:使用--stdin修改用户密码时,不需要再次输入密码。但是修改信息会被记录到history中。

 

chage:change user password expiry information

语法:chage [-ldEImMW] 账号

参数:

[-l]:列出该账号的详细密码参数。

[-d]:后面接日期,修改shadow文件的第3列(最近一次更改密码的日期),格式“YYYY-MM-DD”。

[-E]:后面接日期,修改shadow文件的第8列(账号失效日期),格式“YYYY-MM-DD”。

[-I]:后面接天数,修改shadow文件的第7列,密码失效日期

[-m]:后面接天数,修改shadow文件的第4列,多久不可以修改密码的天数

[-M]:后面接天数,修改shadow文件的第5列,多久必需要改动密码的天数

[-W]:后面接天数,修改shadow文件的第6列,密码过期前的警告天数

 

查看oracle用户的密码信息:

[root@hs-uf21 ~]# chage -l oracle

Minimum: 0

Maximum: 99999

Warning: 7

Inactive: -1

Last Change: Apr 24, 2013

Password Expires: Never

Password Inactive: Never

Account Expires: Never

 

3.usermod:

语法:usermod[-cdegGlsuLu] username

说明:usermod的参数基本要useradd相同。

 

4.userdel:

语法:userdel[-r] username

参数:

[-r]:连同用户的主文件夹也删除

 

删除user3用户及其主文件夹:

[root@hs-uf21 ~]# userdel -r user3

userdel: error removing directory /home/user3

[root@hs-uf21 ~]# ll -a /home/user3

ls: /home/user3: No such file or directory

 

5.id命令:查看用户的或者自己相关的UID/GID等信息

语法:id[username]

 

查看oracle用户的UID/GID等信息:

[root@hs-uf21 ~]# id oracle

uid=501(oracle) gid=502(oinstall)groups=502(oinstall),501(dba)

 

查看当前用户的UID/GID等信息:

[root@hs-uf21 ~]# id

uid=0(root) gid=0(root)groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

You have new mail in /var/spool/mail/root

linux
相关资讯       Linux账号 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款