首页 > 代码库 > Linux用户管理<一>
Linux用户管理<一>
一、在Linux中怎样理解用户?
1、用户就是系统中使用者的身份,在Linux系统中用户就是几个字符串+若干个系统配置文件。
二、存储用户信息的几个重要目录
1》/etc/passwd #用来存放用户信息
可以用命令man 5 /etc/passwd来查看每一列的意思,比如上面的图片
Loveyu:用户的名字
X:用户的密码,现在存放在/etc/shadow中
500:用户的ID
501:用户所属组的ID
User lovyu:用户的描述语言
/home/loveyu:用户的家目录
/bin/bash:用户执行命令是用到的shell
2》/etc/graoup #用来存放组的信息
3》/etc/shadow #用来存放用户密码信息的文件
mysql:用户的名称
!!:将用户的密码经过加密显示在这里,由于mysql用户没有密码,所以用两个!!代替
17307:代表用户的最后一次修改密码到现在的天数,默认是从1970-1-1日开始
0:代表修改密码间隔最短时间,修改一次密码后,下次修改就要等这个时间
99999:表示修改密码间隔的最长时间,到达这个时间就要修改密码。
7:代表警告时间
::
::密码的有效天数,就是17307-这个时间,就是用户的有效时间
4》/home/username #用户的家目录
5》/etc/
6》/etc/skel #用户的骨架文件,当在/etc/skel目录下创建的文件会在新创建用户的家目录下。
三、用户管理
1、id命令 id [OPTION]... [USERNAME]
1》id - printreal and effective user and group IDs
#解释:打印真实有效的用户组ID和用户ID。
2》参数(具体操作命令请看下文)
-u #用户的ID
-g #用户初始组的ID
-G #包含用户所有的组的ID
-n #显示名称,而不再是ID数字
-a #显示所有信息
2、useradd命令 useradd [options] LOGIN
1》useradd -create a new user or update default new user information
#解释:创建一个新用户或者更新新用户的默认信息
2》参数
-u #指定用户的UID
-g #指定用户初始组信息
-G #指定附加组(这个组必须存在),换句话说,就是一个用户可以属于两个以上的组
-c #用来指定/etc/passwd中用户的说明
根据上文中用户说明的位置,看到-c可以修改用户说明
-d #指定用户的家目录
默认家目录为/home/username
-s #指定用户所使用的shell,/etc/shells记录了用户能使用的shell名称
默认处理用户程序的shell为/bin/bash
3、userdel命令 userdel[options] LOGIN
1》userdel -delete a user account and related files
#解释:删除用户的账号和与用户有关的文件
2》参数
-r #删除和用户有关的所有文件
-f #强制删除
如果删除用户是不加参数r,则这个用户的家目录和邮件目录会已知保存在服务器上,必 须得要用户用rm删除
4、usermod命令 usermod [options] LOGIN
1》usermod -modify a user account
#解释:修改用户的账号
2》参数
love用户原来的信息
-l #更改用户的名称
将用户在/etc/passwd中的用户名和用户对应家目录所属的用户名称修改,但是家目录并没有过修改
-u #更改UID
修改用户的UID为888
-g #修改用户的GID
将用户的所属的组的GID修改为882,注意用户所属的组必须事先存在,不然系统会报错,没有这个组
-G #更改用户的附加组
注意:G参数知识修改用户附属的组,并不能添加,注意看执行usermod –G 801 linux的时候在/etc/group文件总的sa组中的ID后面多了一个linux,而在此执行下一条修改命令时:sa组ID后面的linux变到了ID为811的love后面
-aG #添加用户的附加组
这张图片可以看出在/etc/group中的ID为801和811的后面都有了linux,而ID为811的love组后面的linux并没有消失
-c #修改用户的说明,和useradd命令相同
-d #更改指定的用户家目录
注意只修改了/etc/paswd中记录的love用户的家目录,真实/home/love并没有修改
-md #更改家目录指定及家目录名称
注意:如果你在前面用-m 修改过/etc/passwd中记录的家目录,一定要修改成与之对应的家目录,如love的家目录必须改为/home/love,不然会提示你没有修改。如下图所示
-s #更改用户的shell
修改用户的shell,和useradd命令使用方法相同
-L #冻结账号
将用户的登录锁住,可以从图片上看到在/etc/shadow文件中的密码项出现了两个!,与passwd不同的是,passed –l会出现两个!
-U #解锁冻结账号
将用户的登录锁撤销,对应的/etc/shadow密码的那块的!会消失。
5、chage 命令 chage [options] [LOGIN]
1》chage -change user password expiry information
#解释:修改用户的密码到期信息
2》参数
-d #更改用户的最后一次修改密码的时间,如果修改成0,用户登录后必须修改自己的密码,默认是从1970-1-1日开始
-m #修改密码的最短有效期如果为1,则修改两次密码的时间间隔必须大于1天
-M #修改密码的最长有效期,到达这个时间后用户必须修改密码
-W #警告期
-I #用户的非活跃天数
-E #账号到期日期 (时间格式”YYYY-MM-DD”)
这个/etc/shdow中每一列可以用man 5 /etc/shadow 查看他的意思,注意看他的到期日期应该是从1970-1-1日开始算起
本文出自 “13122323” 博客,请务必保留此出处http://13132323.blog.51cto.com/13122323/1948728
Linux用户管理<一>