当前位置 主页 > 服务器问题 > Linux/apache问题 >
本文针对Linux系统单个用户管理操作以及群组的管理操作做了详细的分析以及需要注意的地方,一起学习下。
一、用户管理
1. 用户账号管理文件
要对Linux中的用户账号进行管理,首先当然应该了解用户账号在Linux系统中是怎么保存的,这涉及到两个文件——/etc/passwd与/etc/shadow,前者保存用户的UID和GID等基本信息,后者则主要保存与账号密码相关的一些信息。
先来看看/etc/passwd这个文件存的是啥(这里只取前三行):
在此文件中,每个用户账号信息存为一行,每一行有7个栏位,从左到右存放的信息分别为:
(1)账号名称。
(2)密码:早期Unix系统的密码是放在这里的,但由于/etc/passwd这个文件能被很多程序读取,不安全,后来密码资料已经放到文件/etc/shadow中,所以这里第二个栏位都是“x”。
(3)UID:0代表账号为系统管理员,1-999代表系统账号,1000-6000则是一般使用者。
(4)GID:用户初始群组的GID。
(5)用户名全称或账号意义说明。
(6)家目录:默认为/home/账号名称。
(7)Shell:该账号登入系统之后取得的shell。
再来看看/etc/shadow这个文件存的又是啥(这里只取前三行):
同样的,在这个文件中也是每个账号存为一行,共有9个栏位,从左到右存放的信息分别为:
(1)账号名称。
(2)密码:加密之后的密码。若以“!”开头则表示密码失效,账号封锁,暂时无法登录。
(3)最近修改密码的日期:这个栏位上的数字表示的是最近修改密码的日期是在1970年1月1日的多少天之后。
(4)密码不可修改的天数:表示上一次修改密码之后,几天之后才能再次修改密码。
(5)密码需要再次修改的天数(密码过期日):表示上一次修改密码之后,几天之内需要再次修改密码。
(6)在密码过期日前几天开始发出警告。
(7)密码过期之后的账号宽限天数(密码失效日):密码过期后几天之内账号密码还是可以使用,但是登入系统之后,系统会强制让用户修改密码。若这几天还是没修改密码,则过了这个时间密码就失效了,无法再使用该账号密码登入系统。
(8)账号失效日期:1970年1月1日的多少天之后账号失效,无论密码是否过期,账号都无法再使用。
(9)暂时没存信息,保留给新功能使用。
2. 用户账号管理操作
了解了Linux账号和密码在系统中的保存方式之后,我们还需要知道怎么去添加账号、修改账号信息,以及如何修改密码等用户管理操作,以下便一一作出说明。
(1)用户账号添加:
useradd [-u UID] [-g 初始群組] [-G 次要群組] [-m/M] [-c 账号意义说明] [-d 家目绝对路径] [-s shell] [-r] [-e 账号失效日期,格式为YYYY-MM-DD] [-f 密码是否会失效,0立刻失效,-1永不失效] 账号名称
这里列出useradd命令常用的一些选项,可根据需要添加,其中-M表示强制不建立家目录,-m表示强制建立家目录,-r表示创建系统账号,更多选项需要自己使用man命令在系统中查看了。不过一般来说,我们创建用户账号的时候只要指定账号名称即可:useradd账号名称,这样账号的其他信息都会使用系统为我们设置的默认值。在CentOS中,系统默认会帮我们做的事情如下:
<1>在/etc/passwd建立一行与账号相关的资料。
<2>在/etc/shadow建立一行与此账号密码相关的数据,但是尚未有密码。
<3>在/etc/group建立一行此账号的初始群组信息,群组名称与账号名称一致。
<4>在/etc/gshadow建立一行此账号初始群组的密码信息,但是没有密码。