认识/etc/passwd和/etc/shadow
这两个目录在Linux中的重要性不言而喻,和你的登录有关。
先看看/etc/passwd,示例代码如下:
‘/etc/passwd’ 由 ‘:’ 分割成7个字段,每个字段的具体含义是:
(1)用户名(如第一行中的root就是用户名),代表用户账号的字符串。用户名字符可以是大小写字母、数字、减号(不能出现在首位)、点以及下划线,其他字符不合法。
(2)存放的就是该账号的口令。
(3)这个数字代表用户标识号,也叫做uid。系统识别用户身份就是通过这个数字来的,0就是root。通常uid的取值范围是0~65535,0是超级用户(root)的标识号,1~499由系统保留,作为管理账号,普通用户的标识号从500开始。
(4)表示组标识号,也叫做gid。这个字段对应着/etc/group 中的一条记录,其实/etc/group和/etc/passwd基本上类似。
(5)注释说明,该字段没有实际意义,通常记录该用户的一些属性。
(6)用户的家目录,当用户登录时就处在这个目录下。root的家目录是/root,普通用户的家目录则为/home/username,这个字段是可以自定义的。
(7)shell,用户登录后要启动一个进程,用来将用户下达的指令传给内核,这就是shell。
然后是/etc/shadow这个文件,和/etc/passwd类似,用 ‘:’ 分割成9个字段。
(1)用户名,跟/etc/passwd对应。
(2)用户密码,这个才是该账号的真正的密码,已经加密过。
(3)上次更改密码的日期,计算得来的,距离1970年1月1日到上次更改密码的日期。
(4)要过多少天才可以更改密码,默认是0,即不限制。
(5)密码多少天后到期。即在多少天内必须更改密码,默认是99999,可以理解为永远不需要改。
(6)密码到期前的警告期限。
(7)账号失效期限。
(8)账号的生命周期,跟第三段一样,是按距离1970年1月1日多少天算的。它表示的含义是,账号在这个日期前可以使用,到期后账号作废。
(9)作为保留用的,没有什么意义。
新增/删除用户和用户组
新增一个组
语法 : groupadd [-g GID] groupname
不加 “-g” 选项则按照系统默认的gid创建组,跟用户一样,gid也是从500开始的。
“-g” 选项可以自定义gid.
删除组
命令 : groupdel
有一种情况不能删除组,这是因为miraclewong组中包含miraclewong账户,只有删除miraclewong账户后才可以删除该组。
增加账户
语法 : useradd [-u UID] [-g GID] [-d HOME] [-M] [-s]
‘-u’ 自定义UID
‘-g’ 使其属于已经存在的某个组,后面可以跟组id, 也可以跟组名
‘-d’ 自定义用户的家目录
‘-M’ 不建立家目录
‘-s’ 自定义shell
‘useradd’ 不加任何选项直接跟用户名,则会创建一个跟用户名同样名字的组。
‘-g’ 选项后面跟一个不存在的gid会报错,提示该组不存在。刚刚上面说过 ‘-M’ 选项加上后则不建立用户家目录,但是在/etc/passwd文件中仍然有这个字段。但是您使用 ls /home/user11 查看一下会提示该目录不存在。所以 ‘-M’ 选项的作用只是不创建那个目录。
删除账户的命令
语法 : userdel [-r] username
‘-r’ 选项的作用只有一个,就是删除账户的时候连带账户的家目录一起删除。
其他的命令:
passwd:修改密码
mkpasswd:生成密码
chfn:更改用户的finger
su:用于切换用户,切换到root用户。
参考资料:
1.李世明《跟阿铭学Linux》
2.《Ubuntu Linux从入门到精通》
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。