linux的用户管理,linux系统有哪些
大家好,感谢邀请,今天来为大家分享一下linux的用户管理的问题,以及和linux系统有哪些的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
linux的用户类型有哪几种
Linux用户简单的分为管理员和普通用户,普通用户又分为系统内建用户和自定义用户。可以查看/etc/passwd来查看。如下图所示:
1、系统管理员:即root帐户,UID号为0,拥有所有系统权限,它类似于Windows系统中的administrator帐户,是整个系统的所有者。
2、系统用户:linux为满足自身系统管理所内建的账号,通常在安装过程中自动创建,不能用于登录操作系统。UID在1-499之间。如上图中的的halt、mail等等用户即是此类用户。它类似于Windows中的system帐户,当然权限远没有system帐户高。
3、自定义用户:由root管理员创建供用户登录系统进行操作使用的账号,UID在500以上。它类似于Windows系统中users用户组中的帐户。
linux默认的系统管理员账号
Linux操作系统的管理员账号密码,Linux系统将管理账号分为管理用户账号跟管理组账号,作用本质一样,都是基于用户身份来控制对资源的访问,区别在于是单个用户还是多个用户组成的群组。
在 Linux系统中,根据系统管理的需要将用户账号分为不同的类型,同时也有不同的权限与不同的功能,主要分为超级用户、普通用户和程序用户。
1、超级用户:root用户是 Linux系统中默认的超级用户账号,对主机拥有最高的权限,类似于 Windows系统中的*****istrator用户。只有当进行系统管理、维护任务时,才建议使用root用户登录系统,日常事务处理建议只使用普通用户账号。
2、普通用户:普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,一般只在用户自己的宿主目录中拥有完整权限。
3、程序用户:在安装 Linux系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行,如bin、 daemon、ftp、mail等。
Linux系统中基本的用户管理方法
用户管理的配置文件
用户信息文件:/etc/passwd
密码文件:/etc/shadow
用户组文件:/etc/group
用户组密码文件:/etc/gshadow
用户配置文件:
/etc/login.defs
/etc/default/useradd
新用户信息文件:/etc/ske1
登陆信息:/etc/motd/etc/issue
/etc/passwd文件格式
用户类型
Linux用户分为三种:
超级用户(root UID=0)
普通用户(UID 500-60000)
伪用户(UID 1-499)
注意:root不一定是超级用户,但是UID=0的用户一定是超级用户。
伪用户
伪用户与系统和程序服务相关
bin daemon shutdown halt等,任何linux系统默认都有这些伪用户
mail news games apache ftp mysql及sshd等,与linux系统的进程相关
伪用户通常不需要或无法登陆系统
可以没有宿主目录
用户组
每个用户都至少属于一个用户组
每个用户组可以包括多个用户
同一个用户组的用户享有该组共有的权限
/etc/shadow文件格式
/etc/group文件格式
手工添加用户
分别在/etc/passwd、/etc/group和/etc/shadow文件中添加一笔记录
创建用户宿主目录
在用户宿主目录中设置默认的配置文件
设置用户初始密码
SetUID
思考:为什么普通用户可以更改密码?
SetUID的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。
范例:1.将touch命令授予SetUID权限
2.当vi命令呗授予SetUID权限
3.查找SetUID程序:
代码如下:
Find/-perm-4000–o–perm-2000
添加用户
useradd设置选项用户名-D查看缺省参数
u:UID
g:缺省所属用户组GID
G:指定用户所属多个组
d:宿主目录
s:命令解释器shell
c:描述信息
e:指定用户失效时间
代码如下:
#useradd ksharpdabu//添加ksharpdabu这个账号
p#passwd ksharpdabu/修改ksharpdabu的密码
或者熟悉系统文件的,可以直接手动添加用户
用户组管理命令
添加用户组groupadd
代码如下:
groupadd-g 888 webadmin
创建用户组webadmin,其GID为 888
删除用户组:groupdel组名
代码如下:
#groupdel webuser//删除webuser这个组
修改用户组星系:groupmod
代码如下:
#groupmod-n apache webadmin
修改webadmin组名为apache
用户组管理命令
Gpasswd设置组密码及管理组内成员
-a添加用户到用户组
-d从用户组中删除用户
-A设置用户组管理员
-r删除用户组密码
-R禁止用户切换为该组
修改用户信息
usermod
代码如下:
#usermod-G softgroup ksharpdabu
将用户ksharpdabu添加到softgroup用户组中
代码如下:
#usermod-l ksharpdabu-d/home/samlee–g webadmin Tom
将用户Tom的登陆用户名改为ksharpdabu,加入wenadmin组中,用户目录改为/home/ ksharpdabu
用户管理命令
pwk检测/etc/passwd文件(锁定文件)
vipw编辑/etc/passwd文件
id查看用户id和组信息
finger查看用户详细信息
su切换用户(su–环境变量切换)
passwd–S查看用户密码状态
who、w查看当前登录用户信息
用户组管理命令
groups查看用户隶属于哪些用户组
newgrp切换用户组
grpck用户组配置文件检测
chgrp修改文件所属组
vigr编辑/etc/group文件(锁定文件
用户组授权实例
授权用户jack和mary对目录/software有写权限
代码如下:
# groupadd softadm
p# usermod-G softadm jack
p# gpasswd-a mary softadm
p# chgrp softadm/software
p# chmod g+w/software
代码如下:
# ls-ld/software
pdrwxrwxr-x 2 root softadm 512 Jul 14 06:17/software
p# grep softadm/etc/group
psoftadm::100:jack,mary
禁用和恢复用户
禁用
代码如下:
# usermod-L username
p# passwd-l username
恢复
代码如下:
# usermod-U username
p# passwd-u username
删除用户
userdel–r用户名
-r:删除用户目录
手工删除:
使用find命令查找属于某个用户或者用户组的文件
Find选项-user、-uid、-group、-gid
对需要保留的文件进行移动和备份
对不需要的文件进行删除
清除用户文件中的相关表项
清除用户宿主目录
用户管理命令
change设定密码
-l查看用户密码设置
-m密码修改最小天数
-M密码修改最大天数
-d密码最后修改的日期
-l密码过期后,锁定账户的天数
-E设置密码的过期日期,如果为0,代表密码立即过期;如果为-1,代表密码永不过期
-W设置密码过期前,开始警告的天数
启动或停用shadow功能
pwconv/pwunconv
grpconv/grpunconv
system-config-users
authconfig/etc/sysconfig/authconfig
批量添加用户
newusers命令导入用户信息文件
pwunconv命令取消shadow password功能
chpasswd命令导入密码文件(密码文件格式:用户名:密码)
pwconv命令将密码写入shadow文件
实例:一次批量添加10个用户
限制用户su为root:
代码如下:
# groupadd sugroup
p# chmod 4550/bin/su
p# chgrp sugroup/bin/su
p# ls-l/bin/su
p-r-sr-x— 1 root sugroup 18360 Jan 15 2010/bin/su
设定后,只有sugroup组中的用户可以使用su切换为root
代码如下:
# useradd helen
p# passwd helen
p# usermod-G sugroup helen//为helen增加su的权限
用sudo替代su:
在执行sudo命令时,临时成为root
不会泄露root口令
仅向用户提供有限的命令使用权限
配置文件:/etc/sudoers,编辑配置文件命令visudo
普通用户使用命令sudo。
格式:用户名(组名)主机地址=命令(绝对路径)
系统弱密码测试工具John the ripper的使用方法;
代码如下:
# tar-xzvf john-1.7.6.tar.gz
p# cd john-1.7.6/run
p# make
破解用户ksharpdabu密码
代码如下:
# grep ksharpdabu/etc/passwd/test/ksharpdabu.passwd
p# grep ksharpdabu/etc/shadow/test/ksharpdabu.shadow
p#/test/john-1.6.6/run/unshadow/test/ksharpdabu.passwd
p/test/ksharpdabu.shadow/test/ksharpdabu.john
p#/test/john-1.6.6/run/john/test/ksharpdabu.john