Linux的用户和用户组管理
Linux是个多用户多任务的分时操作系统,所有要使用系统资源的用户都必须先向系统管理员申请一个帐号,然后以这个帐号的身份进入系统。
1、useradd:创建用户
useradd NAME:增加用户
-u UID:指定用户所属主ID
-g GID:指定基本组ID或者组名(此组必须首先存在才能用)
-G GID:定额外组(附加组),可以指定多个,彼此之间用逗号隔开限可(此附加组必须首先存在才能用)
-c "COMMENT"指定注释信息
-d /path/to/somedirectory指定用户的家目录,不用的时候默认在home下面建立一个和用户同名的目录。
-s 指定shell,路径最后是etc/shells文件内规定的shell路径。
-M 不给用户创建家目录
-r 创建一个系统用户,共系统调用,并不建立家目录
userdel USERNAME:删除用户
(不加参数时,默认不删除用户的家目录)
-r : 删除用户的同时也删除家目录
例:
创建用户
#useradd duyong #默认 -d /home/duyong -s /bin/bash
此命令创建一个普通用户duyong,后台将用户名绑定到UID号上,UID的范围是0-65535,其中,UID是0的为超级管理员root。创建用户没有带任何参数时,系统会分配默认值,配置文件在/etc/default/useradd
# useradd defaults file
GROUP=100 注:gid=100,表示可创建普通组
HOME=/home 注:把用户的家目录建在/home中;用户家目录的默认创建地
INACTIVE=-1 注:是否启用帐号过期停权,-1表示不启用;宽限天数,0及以下数皆为无效数字
EXPIRE= 注:帐号终止日期,不设置表示不启用;帐号失效日期(如:20181212)
SHELL=/bin/bash 注:所用SHELL的类型;登录后执行的程序
SKEL=/etc/skel 注:用户家目录中的环境文件,默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;
例:
查看用户
# tail -1 /etc/passwd #查看/etc/passwd文件的最后一行 duyong:x:500:500::/home/duyong:/bin/bash #普通用户的UID是从500开始累加的
当创建的用户添加成功后会在/etc/passwd文件中追加一行用户信息,该文件用于用户登录时校验,文件中每行的一般格式为: login_name:password:UID:GID:comment:HOME DIR:SHELL
字段1、登录名(login_name):用于区分不同的用户。在同一系统中注册名是惟一的。
字段2、口令(password):系统用口令来验证用户的合法性。通常将passwd文件中的口令字段使用一个“x”来代替,将/etc/shadow作为真正的口令文件,用于保存包括个人口令在内的数据。当然shadow文件是不能被普通用户读取的,只有超级用户才有权限读取。
字段3、用户标识号(UID):UID是一个数值,是Linux系统中惟一的用户标识,用于区别不同的用户。
字段4、组标识号(GID):这是当前用户的缺省工作组标识。
字段5、用户注释(comment):包含有关用户的一些信息,如用户的真实姓名、办公室地址、联系电话等。
字段6、用户主目录(HOME DIR):该字段定义了个人用户的主目录,当用户登录后,他的Shell将把该目录作为用户的工作目录。
字段7、命令解释程序(SHELL):Shell是当用户登录系统时运行的程序名称,通常是一个Shell程序的全路径名,如/bin/bash.
/etc/shadow 文件的内容包括9个段位,每个段位之间用:号分割;
字段1、用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd 和shadow中用的用户记录联系在一起;这个字段是非空的;
字段2、密码(已被加密),这个字段是非空的;
字段3、上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来修改用户的密码,然后查看/etc/shadow中此字段的变化;
字段4、两次修改口令间隔最少的天数;如果这个字段的值为空,帐号永久可用;
字段5、两次修改口令间隔最多的天数;如果这个字段的值为空,帐号永久可用;
字段6、提前多少天警告用户口令将过期;如果这个字段的值为空,帐号永久可用;
字段7、在口令过期之后多少天禁用此用户;如果这个字段的值为空,帐号永久可用;
字段8、用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;
字段9、保留字段,目前为空,以备将来发展之用;
2、用户帐户属性管理
usermod:修改帐户的属性
usermod [option] USERNAME
-u:修改UID
-g:修改GID
-G:修改附加组
-a -G:增加附加组,不覆盖之前的附加组
-c:修改用户的注释信息
-d:为用户指定新的家目录
-d -m:指定新家目录并移动此前家目录的文件至新的家目录内
-s:修改用户的默认shell
-l:修改用户名
-L:锁定用户帐户
-U:解锁帐户
例3:
修改用户的家目录和shell
# usermod -d /tmp/duyong -s /bin/tcsh duyong # tail -1 /etc/passwd duyong:x:500:500::/tmp/duyong:/bin/tcsh
3、groupadd:创建组
groupadd [option] GROUPNAME
-g:GID 指定GID
-r: 添加为系统组
groupmod:组属性
groupmod [option] GROUPNAME
-g GID:修改gid
-n NAME:修改组名
gpasswd:修改组密码
gpasswd GROUPNAME
例4:
创建一个新组并将duyong用户加入到该组当中
# groupadd mygrp # usermod -a -G mygrp duyong # id duyong uid=500(duyong) gid=500(duyong) groups=500(duyong),501(mygrp)
4、id
id命令:查看当前用户的id信息
-g USERNAME:查看用户的gid
-u USERNAME:查看用户的uid
-G USERNAME:查看用户的所有组
-un:显示当前用户的用户名
-gn:显示当前用户的组名
5、用户密码管理
passwd USERNAME
-l:锁定帐户
-U:解锁帐户
-d:删除用户密码
-n:用户密码最短时间
-x:用户密码最长使用时间
pwck:检查用户帐户完整性
6、权限
权限:r、w、x
文件:
r:可读,可利用类似 cat等命令查看文件内容
w:可写,可以编辑或删除此文件
x:可执行,可以再命令提示符下当做命令提交给内核运行。
目录:
r:可以对此目录执行LS以列出内部的所有文件
w:可以在此目录中创建文件
x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息
本文出自 “啊杜” 博客,请务必保留此出处http://253737.blog.51cto.com/243737/1688545
原文地址:http://253737.blog.51cto.com/243737/1688545