涉及到的文档:
/etc/passwd
1.每一行都代表一个帐号, 有几行就代表有几个帐号在你的系统
中
2.信息主要有:帐号名称,密码,UID,GID,使用者资讯说明
栏,家目录,Shell
/etc/shadow
1.真正的密码存放位置,为了安全起见。
2.信息主要有:帐号名称,密码,最近更动密码的日期,密码不
可被更动的天数,密码需要重新变更的天数,密码需要变更期
限前的警告期限,帐号失效日期,保留
/etc/group
1.这个档案就是在记录 GID 与群组名称的对应。
2.信息主要有:群组名称,群组密码,GID,支持的帐号名称
/etc/gshadow
1.newgrp设定有效群组参考的文件
2.信息主要有:群组名称,密码栏,群组管理员的帐号,该群组的所
属帐号
/etc/default/useradd
1.useradd命令创建新用户时参考的文件
/etc/skel/*
1.家目录创建就是复制这个文件夹里面的内容
/etc/login.defs
1.密码还有UID及GID设定的限制,都写在这个文档里面
创建一个帐号的流程:
1.在命令行输入useradd test1
2.这时系统会主动的去修改 /etc/passwd 与 /etc/shadow,以及/etc/
group 与 /etc/gshadow
3.而写入的默认设置是在/etc/default/useradd,如shell的选择等。
设置的一些限制在/etc/login.defs,如密码要在六位以上等,而新用
户的家目录的设置是复制/etc/skel/* 。
几个重要概念:
1.UID 与 GID:
UID就是用户名的数字表示,GID就是用户所在群组的数字表示,电脑
还是对数字亲切。 可以直接查看/etc/passwd 与 /etc/shadow查
看。
2.有效群组(effective group)与初始群组(initial group):
初始群组 ( initial group ) 就是/etc/passwd 里面的第四栏有所
谓的 GID。也就是说,当使用者一登入系统,立刻就拥有这个群组的
相关权限的意思。但是一个帐号可能属于不止一个群组,针对已经存
在的文件,该用户拥有所属所有群组的权限。但是如果我要创立一个
文件将使用那个群组的权限呢?这时有效群组的概念就出来了。通过
groups可以查看当前用户所属的所有群组,第一个即为有效群组。
通过newgrp+群组名 可以更改有效群组。
如何增加用户:
1.useradd cedar
可以通过-g 选项指定该新用户属于哪个群组,如useradd -g group1 user1。如果没有-g选项,RedHat/Fedora Linux 会、
自动建立一个和你所添加的用户名字一样的群组;也就是用户私有组方案。而SuSE在新建使用者时,
预设不会建立新群组,而以 /etc/default/useradd 内的 GROUP 设定值作为使用者的 initial group 。
2.查看/home
ls -l /home
会显示如下内容: drwx------. 23 cedar cedar 4096 Aug 21 13:21 cedar
说明你已经新增了一个用户,并在/home下面创建了一个家目录,当然
也可以选择不创建useradd -M cedar。具体参见man useradd.
3.查看密码文件
[root@FromDOA DOA]# grep cedar /etc/passwd /etc/shadow /etc/group
/etc/passwd:cedar:x:502:502::/home/vbird1:/bin/bash
/etc/shadow:cedar:!!:13025:0:99999:7:::
/etc/group:cedar:x:502:
你会发现/etc/shadow 中密码那一栏是!!,说明该账户暂时被取消了登录资格。新建
用户时,默认是没有密码的,而且没有密码还不准你登录。解决方法就是用passwd命令
设置一个密码呗。
4.设置密码:
[root@FromDOA DOA]# passwd cedar
Changing password for user cedar.
New password:
BAD PASSWORD: it is based on a dictionary word <======说我密码太简单,不予通过
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully. <======我输入的还是那个简单的密码,但是这次通过了,。
此时返回第三步,发现!!没有了哈。
5.通过 groups cedar 可以查看用户cedar属于哪些群组,第一个是有效群组。通过newgrp group2可以设定有效群组。
6.其他命令
usermod 修改一些基本信息
userdel 删除用户,如 userdel cedar
7.一般用户命令
useradd/usermod/userdel这些都是root用户才能使用的命令。而作为一般用户不可以,但有以下命令供使用。chfn, chsh
#列出目前系统上面所以的 shell ,并且指定 csh 为自己的 shell
chsh -l
chsh -s /bin/csh
#更改相关讯息,如:密码 昵称 办公室号码 办公室电话 家里电话。
chfn
#查阅相关讯息
finger cedar
#查询某人或自己的相关 UID/GID 等等的资讯
id cedar
如何增加群组:
1.groupadd group1
groupadd -r group2 <====设置系统群组,就是GID在500以内的
2. groupmod -g 103 -n group2new group2 <====将刚刚上个指令建立的 group2 名称改为 group2new , GID 为 103
3.gpasswd -A cedar -M user1 group2 <==== 设定组密码哈,而且组长是cedar,同时增加新组员user1
4.groupdel group2new <==== 删除组