linux用户管理
来源:互联网 发布:king网址软件 编辑:程序博客网 时间:2024/06/03 15:14
1/etc/passwd
2/etc/shadow
3/etc/group
4/etc/gshadow
5/etc/login.defs
6/etc/default/useradd
在/etc/passwd中,每一行都表示的是一个用户的信息。每一行有7个段位,每个段位用:号分割。
第一字段:用户名(也被称为登录名)
第二字段:口令,具体内容是一个字母x,其密码已被映射到/etc/shadow文件中。
第三字段:UID。
第四字段:GID。
第五字段:用户名全称,这是可选的,可以不设置。
第六字段:用户个人目录所在位置。
第七字段:用户所用SHELL 的类型。
2/etc/shadow
/etc/shadow文件是/etc/passwd的影子文件,这个文件不是由/etc/passwd产生的。/etc/shadow和/etc/passwd是对应互补的。
/etc/shadow文件内容包括了用户名及被加密的密码以及其它在/etc/passwd中没有包括的用户信息。比如用户的有效期限、密码过期时间等。/etc/shadow文件的读取和修改需要root权限。
/etc/shadow 文件的内容包括9个段位,每个段位之间用:号分割。
第一字段:用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd和shadow中用的用户记录联系在一起,这个 字段是非空的。
第二字段:密码(已被加密),如果是有些用户在这段是x,表示这个用户不能登录到系统,这个字段是非空的。
第三字段:上次修改口令的时间。这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数)。
第四字段:两次修改口令间隔最少的天数,如果设置为0,则表示禁用此功能。此项功能对于提高系统的安全性有重要的意义。其默认值是通过/etc/login.defs文件的PASS_MIN_DAYS选项进行定义。
第五字段:两次修改口令间隔最多的天数,也就是所谓的口令有效期。此功能增强了操作系统用户管理口令的时效性,对于提高系统的安全性有重要的意义。其默认值是通过/etc/login.defs文件的PASS_MAX_DAYS选项进行定义。
第六字段:提前多少天警告用户口令将过期。当用户登录系统后,系统登录程序提醒用户口令将要在多少天内作废。其默认值是通过/etc/login.defs文件的PASS_WARN_AGE选项进行定义。
第七字段:在口令过期之后多少天禁用此用户。此字段表示用户口令作废多少天后,系统会禁用此用户。用户禁用后,将无法登陆系统且无法进行口令修改。
第八字段:用户过期日期。此字段指定了用户过期的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永远不过期;
第九字段:保留字段,目前为空,以备将来Linux发展之用。
可以使用man shadow命令来查看帮助,从而获得更为详尽的资料。
3/etc/group
/etc/group内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录。
第一字段:用户组名称。
第二字段:用户组密码。
第三字段:GID。
第四字段:用户列表,每个用户之间用,号分割。该字段可以为空,如果字段为空表示用户组为GID的用户名。
4/etc/gshadow
5/etc/login.defs/etc/gshado是/etc/group的加密文件,用户组(Group)管理的密码就是存放在这个文件中。/etc/gshadow和/etc/group是互补的两个文件。
第一字段:用户组。
第二字段:用户组密码。这个段可以是空的或!,如果是空的或有!,表示没有密码。
第三字段:用户组管理者。这个字段也可为空,如果有多个用户组管理者,用,号分割。
第四字段:组成员。如果有多个成员,用,号分割。
/etc/login.defs文件是当创建用户时的一些默认规划。对此文件的修改需要root权限。
6/etc/default/useradd
/etc/default/useradd定义了通过useradd命令添加用户时的规则。
查看系统/etc/default/useradd文件的内容,具体如下。
# useradd defaults file
GROUP=100
HOME=/home 注:把用户的家目录建在/home中。
INACTIVE=-1 注:是否启用帐号过期停权,-1表示不启用。
EXPIRE= 注:帐号终止日期,不设置表示不启用。
SHELL=/bin/bash 注:所用SHELL的类型。
SKEL=/etc/skel注:默认添加用户的目录默认文件存放位置。当用adduser添加用户时,用户个人目录下的文件,都是从这个目录中复制过去。
用户管理命令一览表
序号
命令
说明
1
useradd
添加用户。
2
adduser
添加用户。
3
passwd
设置用户的密码。
4
usermod
修改用户的配置参数。例如登录名、用户的个人目录等。
5
pwconv
可以开启用户的投影密码。将用户密码从/etc/passwd同步到/etc/shadow。
6
pwck
校验用户配置文件/etc/passwd和/etc/shadow文件内容是否合法或完整。
7
pwunconv
执行pwunconv指令可以关闭用户投影密码,它会把密码从shadow文件内,重回存到passwd文件里。
8
finger
查看用户信息工具。
9
id
查看用户的UID、GID及所归属的用户组。
10
chfn
更改用户信息。
11
su
用户切换工具。
12
sudo
sudo是通过另一个用户来执行命令(execute a command as another user),su用来切换用户,然后通过切换到的用户来完成相应的任务。
13
visudo
visodo是编辑/etc/sudoers的命令,相当于直接编辑/etc/sudoers。
14
sudoedit
命令:
shell>id [参数] [用户名]
命令参数:
-g或--group 显示用户所属群组的ID。
-G或--groups 显示用户所属附加群组的ID。
-n或--name 显示用户,所属群组或附加群组的名称。
-r或--real 显示实际ID。
-u或--user 显示用户ID。
--help 显示帮助。
--version 显示版本信息
命令说明:
(1)id命令用于查看用户信息和用户组信息。
(2)指定用户名时查看指定用户的信息,不指定用户名时查看当前用户的信息。不指定参数时,显示所有信息。
命令:
shell>w
shell>who
shell>users
命令说明:
(1)w、who和users命令可以查询已登录当前主机的用户。
(2)w、who和users命令的作用相同,展示数据的方式不同。
useradd添加用户命令:
shell>useradd[-u uid [-o]] [-g group] [-G group,...]
[-d home] [-s shell] [-c comment] [-m [-k template]]
[-f inactive] [-e expire ] [-p passwd] name
shell>useradd-D [-g group] [-b base] [-s shell]
[-f inactive] [-e expire ]
命令参数:
-c:加上备注文字,备注文字保存在password的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
命令说明:
(1)useradd 后面直接跟用户名,不加任何参数,表示添加用户时按事先/etc/default/adduser 和/etc/login.defs 添加新用户的配置文件的规则来添加用户。
useradd不加参数选项,后面直接跟所添加的用户名进行执行时的过程是:
第一步:读取添加用户配置文件/etc/login.defs和/etc/default/useradd中所定义的规则。
第二步:依据规则添加用户。
第三步:向/etc/passwd和/etc/groups文件添加用户和用户组记录。
第四步:在/etc/shadow和/etc/gshadow加密资讯文件中同步生成记录。
第四步:在/etc/default/useradd中所指定的用户默认文件存储的目录中建立用户个人目录。
第五步:复制/etc/skel中的文件所有文件(包括隐藏文件)到新创建的用户个人目录。
(2)useradd加-D参数,可以修改配置文件中的默认参数。后面不添加任何内容直接执行useradd -D命令,显示配置文件信息。
(3)useradd命令在创建用户时,没有指定用户密码,在用户创建完成后,使用passwd命令设置用户密码。
使用passwd修改密码命令:
shell>passwd [-dklS][-u <-f>][用户名称]
命令参数:
-k, --keep-tokens:保留即将过期的用户在期满后能仍能使用。
-d, --delete:删除用户密码,仅能以root权限操作。
-l, --lock:锁住用户无权更改其密码,仅能通过root权限操作。
-u, --unlock:解除锁定。
-f, --force:强制操作;仅root权限才能操作。
-x, --maximum=DAYS:两次密码修正的最大天数,后面接数字;仅能root权限操作。
-n, --minimum=DAYS:两次密码修改的最小天数,后面接数字,仅能root权限操作。
-w, --warning=DAYS:在距多少天提醒用户修改密码;仅能root权限操作。
-i, --inactive=DAYS:在密码过期后多少天,用户被禁掉,仅能以root操作。
-S, --status:查询用户的密码状态,仅能root用户操作。
命令说明:
(1)passwd的执行权限为普通用户和超级权限用户。普通用户只能更改自己的用户密码,但前提是没有被root用户锁定。root用户可以设置或修改任何用户的密码。
(2)passwd命令后面不接任何参数或用户名,则表示修改当前用户的密码。
(3)使用useradd命令创建新用户后,新创建的用户是没有密码的,需要及时通过passwd命令为其创建密码。
(4)如果需要指定某个用户不能修改密码,passwd -l锁定用户的密码修改权限。
命令:
shell>usermod [-u uid [-o]] [-g group] [-G group,...]
[-d 主目录 [-m]] [-s shell] [-c 注释] [-l 新名称]
[-f 失效日] [-e 过期日] [-p 密码] [-L|-U] 用户名
命令参数:
-c comment:更新用户password档中的注解内容。
-d home_dir:更新用户的登入目录。如果给定-m选项,用户旧目录会搬到新的目录去,如旧目录不存在则建新的目录。
-e expire_date:设置用户帐号过期的日期,日期格式为MM/DD/YY。
-f inactive_days:帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1。
-g initial_group:更新用户新的起始登入用户组。用户组名须已存在。用户组ID必须参照既有的的用户组。用户组ID预设值为1。
-G group[...]:定义用户为多个用户组成员。每个用户组使用","隔开,不可以夹杂空白内容。用户组名同-g选项的限制。如果用户已经所属的用户组不在此列,则将用户从不在此列的用户组中移除。
-l login_name:变更用户login时的名称为login_name。用户目录名也会同步更动为新的登入名。
-s shell:指定用户使用的shell。如此栏留白,将选用系统预设shell。
-u uid:修改用户ID值。为用户指定的ID值必须为唯一ID值,除非用-o选项。数字不可为负值。UID值不得小于/etc/login.defs中定义的UID_MIN值。用户目录树下所有的档案目录其userID会自动改变。放在用户目录外的档案则要不会自动更新,需要手动更新。
命令说明:
(1)usermod能够修改用户的各种信息与配置,例如修改用户的SHELL类型、所归属用户组、用户密码有效期以及登录名等信息。
(2)usermod不允许修改当前活动用户的信息。当usermod修改用户信息时,首先确认被修改用户的UID没有执行任何程序。
(3)usermod和useradd名的参数信息基本一致,useradd用于创建用户,而usermod用于修改用户信息。
userdel删除用户命令:
shell>userdel [-r][用户帐号]
命令说明:
(1)userdel删除指定用户信息。
(2)使用-r参数,可以在删除用户信息的同时,删除用户的个人目录的全部数据。
用户组在Linux操作系统中,提供了一系列用于用户组管理的命令,具体如下表所示。
用户组管理命令一览表
序号
命令
说明
1
groupadd
添加用户组。
2
groupdel
删除用户组。
3
groupmod
修改用户组信息。
4
groups
显示用户所属的用户组信息。
5
grpck
检查用户组及密码文件的完整性(etc/group和/etc/gshadow)
6
grpconv
开启用户组的投影密码。将用户组密码从/etc/group同步到/etc/gshadow。如果/etc/gshadow不存在则创建。
7
grpunconv
执行grpunconv指令可以关闭用户组投影密码,它会把密码从gshadow文件内,重回存到group文件里,并删除gshadow文件。
命令:
shell>groupadd [-g gid [-o]] [-r] [-f] 用户组名
命令参数:
-g gid:除非使用-o参数,否则该值必须是唯一的。数值不可为负。
-o:允许设置相同组id的群组。
-r:建立系统组。
-f:强制执行,默认是不允许创建相同id的组的,使用此参数就可以,而且不用-o选项。
命令说明:
(1)groupadd可指定用户组名称来建立新的用户组帐号,需要时可从系统中取得新用户组值。
(2)建议创建用户组是尽量简单,直接指定用户组名称就可以。
命令:
shell>groupdel用户组名称
命令说明:
(1)groupdel用于删除指定的用户组。
(2)删除用户组时,用户组必须存在,如果被删除用户组中的任一用户在使用,则不能删除该用户组。
命令:
shell>groupmod [-g gid [-o]] [-n NewGroupName] 用户组名
命令参数:
-g gid:指定GID。
-o:与groupadd命令中相同的作用。
-n NewGroupName:修改用户组名为NewGroupName。
命令说明:
(1)groupmod命令用于修改用户组的基本信息。
(2)指定的GID必须在系统中唯一,指定的NewGroupName必须在系统中唯一。
命令:
shell>groups [用户名]
命令说明:
(1)groups用于查询指定用户所归属的用户组信息。
(2)如果不指定用户名,groups查询当前用户的用户组信息。
- 【Linux管理】用户管理
- linux用户管理常用命令
- linux 用户管理
- Linux用户管理
- linux用户管理常用命令
- Linux 用户管理命令
- linux 用户管理
- Linux上传用户管理
- Linux管理用户日志
- Linux用户管理
- linux用户管理常用命令
- Linux之管理用户
- linux用户管理
- Linux用户管理
- LInux 用户管理
- Linux用户管理
- linux用户管理
- Linux用户管理
- 在CentOS 6.4中编译安装gcc 4.8.1
- 获取当前路径
- C 语言之运算符
- iphone开发前传
- MySQL中的视图及性能问题
- linux用户管理
- 工作收获
- intel 64 和 IA-32 的manual
- Tomcat解析系列
- Swing —— 扩展PlainDocument限制JTextField只能输入字母与数字
- GCC特性之__init修饰解析
- 类和抽象数据(学习笔记)
- 剑指Offer之和为S的两个数字
- onWindowFocusChanged重要作用