1、linux系统用户概述:
1、Linux是一个多用户,多任务的操作系统。Linux的用户种类:
超级用户:如 Root:具有管理系统的一切权限,Uid=0 最好就一个超级用户
普通用户:具有操作操作系统 有限的权限! Uid=500—60000
虚拟用户(伪) **:是为了方便系统管理,满足相应系统进程文件属主要求,不能登录。
Uid=1—-499之间 如:apache用户,ftp用户。这些用户就为为了运行apache或ftp软件的文件所产生的用户。伪用户通常不需要或无法登录系统,可以没有宿主目录。
2、与用户的相关文件:
/etc/passwd 用户账号文件:管理用户时使用
/etc /shadow 用户密码文件
/etc /skel / 用户环境目录 其作用为:可以在这个目录下创建一些文件。
然后当我们创建用户的时候 用户的家目录下就默认有/etc/skel下创建的文件。
/etc/login.defs 用户默认属性文件 其作用为:使用useradd命令时,如果不使用任何参数,则默认的配置文件由此文件中的内容指定 如:是否自动创建家目录,最小的UID、GID。
3、/etc/passwd 文件的说明:
该文件的内容共分为七列,每列用冒号格开,如下:
每列含义如下:
第1列 用户名: 即用户的登陆帐号,对应于用户的UID
第2列 用户的密码:用户的密码,为了保证安全,真实的密码保存在/etc/shadow文件中,此文件用x取代,此位置为空代表无密码
第3列 用户UID: Linux真正确认用户的标志,UID为0的为超级用户,1-499一般保留给系统用户使用 伪用户
第4列 用户GID: Linux真正确认组的标志,GID为0即代表在超级管理员组中,一个用户既可以只属于同一个组,也可以属于多个组
第5列 用户信息描述:对用户进行相关的说明和注释 一般就是用户全名,可用finger 命令查看
第6列 用户的家目录:用户登陆后默认所处的位置
第7列 登陆shell:用户成功登陆后执行的第一个程序
注:Shell:就是命令解释器,默认用的shell是b类shell 有多种shell 如:b 、c 、 s
3、/etc/shadow 影子密码文件的说明:
该文件用冒号格开,共分为九列,如下:
每列含义如下:
第1列 用户名:即用户的登陆帐号,对应与passwd第一 列
第2列 用户的密码:用户真实的加密密码,如果此栏为空代表无密码
第3列 最近一次修改密码的时间:时间是从1970/1/1号算起
第4列 修改密码的最大时间间隔:即多长时间之后才能修改密码 可以设置0
第5列 修改密码的最小时间间隔:即在此时间之内必须修改密码 99999
第6列 修改密码前的警告时间:提前多少天提示用户应该修改密码
第7列 密码暂时失效时间:如果密码到期后再经过此时间后还未使用帐号,则帐号失效
第8列 用户帐号失效时间:
第9列 备用
2、添加用户(命令:useradd):
用法:useradd [选项] 用户名
参数选项常用的有:
-u 直接指定用户的UID 不指定 默认+1
-g 加入初始组(创建用户时指定的组 该组必须存在)
注:不会创建该用户的私有组
-G 直接将用户添加到另外一个组 附属组
注:将用户添加到另外一个组中,同时创建该用户的私有组,并将用户
添加该私有组中
-d 将用户的家目录指定至目标路径
-s 直接指定登陆shell
示例:
注:1)、刚添加的用户没有密码;
2)、当在创建一个新用户时,若没有指定它所属于的组,linux就建立一个和该用户同名的私有组,若指定了就不会建立这个私有组。
3、修改用户的密码(命令:passwd):
用法1://**前面刚创建的新用户demo是没有密码的,是无法使用
passwd 帐号名
示例:
4、切换用户身份(命令:su):
不同的用户所拥有的权限不同,为了安全,应尽量以普通用户身份登陆,需要进行管理系统操作时才变成root身份。
用法:su 用户名
示例:
注:1)、从管理员切换到普通用户,不用密码。但如果是普通用户向其它的普通用户或管理员转化的时候必须给出密码;
2)、可以在/etc下建立一个名为nologin的文件即可。当其它用户登录的时候发现有这个文件就不能登录。当管理员要维护系统的时候,我们可以使用这洋的方法。
5、删除用户(命令:userdel):
用法1:// 删除用户账号,不删除主目录
userdel 用户名
示例:
用法2:// 删除用户名的同时删除主目录
userdel -r 用户名
示例:
6、修改用户的信息(命令:usermod):
用法1:// 将用户添加到某个用户组中
usermod -a -G 用户组名 用户名
示例:
[root@smartmail ~]# usermod -a -G AAA tst1
注:-a 代表 append,将tst1用户添加到用户组AAA中,而不必离开其他用户组
用法2:// 更改用户名
usermod -l 新用户名 原用户名
示例:
用法3://用户ID值的更改
usermod -u ID值 用户名
示例:
用法4://用户的锁定与解锁
usermod -L 用户名 // 锁定用户
usermod -U 用户名 // 解锁用户
示例:
7、linux系统用户概述:
1、用户组:管理多个用户的,如果对组赋予相应的权限,那么这个组里的用户就具有相应的权限!使用组的目的:就是成批管理同类权限用户。
用户组分类:私有组和标准组
私有组:当在创建一个新用户时,若没有指定它所属于的组,linux就建立一个和该用户同名的私有组。
标准组:可以容纳多个用户,若使用标准组在创建一个新用户时,就应该指定这个用户所属于的组。我们用建组命令建立的用户!
说明:1)、私有组:组(家)一个家里就你一个人。标准组:家里面有很多人
2)、每个用户都至少属于一个用户组,每个用户组可以包括多个用户,同一用户组的用户享有该组共有的权限。
2、用户组相关配置文件:
/etc/gshadow:记录组密码,该文件共分为四列, 用冒号格开,如下:
各项含义如下:
1:用户组名
2:用户组密码:如果为空或者是有!的,表示无组密码
3: 用户组管理者
4:组成员:多个组成员用逗号隔开
8、添加用户组(命令:groupadd):
用法1:// 直接添加用户组
groupadd 用户组名
示例:
用法2:// 添加用户组的同时指定组id(组的id默认大于500)
groupadd -g 组ID值 组名
示例:
9、更改用户组属性(命令:groupmod):
用法1:// 更改用户组名
groupmod -n 新组名 原组名
示例:
用法2:// 更改用户组ID
groupmod -g ID值 组名
示例:
10、删除用户组(命令:groupdel):
用法1:// 删除没有用户的空组(若用户组中有用户则先删除该组中的用户再删除该组)
groupdel 用户组名
示例:
11、查看用户隶属于哪些用户组(命令:groups):
用法1:groups 用户名
示例:
12、查询用户信息(命令:id):
用法1:// 查询当前已登录的用户信息
id
示例:
用法2:// 查询某个的用户信息
id [用户名]
示例:
13、查询当前登录用户信息:
1、w命令:
2、who命令:
3、users 命令: