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

< p>drwxrwxr-x 2 root softadm 512 Jul 14 06:17 /software

< p># grep softadm /etc/group

< p>softadm::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

(0)

相关推荐

  • linux系统中一次用户态进程死循环案例的分析过程以及解决办法

    linux系统中一次用户态进程死循环案例的分析过程以及解决办法

  • 在Linux系统中使用logrotate来管理日志文件的方法

    日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处理一个单个的庞大日 ...

  • Linux系统中使用屏幕键盘的方法

    屏幕键盘可以作为实体键盘输入的替代方案。在某些时候,屏幕键盘显得非常需要。 比如, 你的键盘刚好坏了;你的机器太多,没有足够的键盘;你的机器没有多余的接口来连接键盘;你是个残疾人,打字有困难;或者你正 ...

  • Linux系统中SVN安装.权限管理

    SVN安装 SVN服务器有2种运行方式:独立服务器和借助apache运行。 svnserve和apache相比是轻量级的,也比较简单,svnserve包含在subversion里面,所以只要安装了su ...

  • 详解Linux系统中配置静态路由的方法

    主机只有一块网卡的时候,不会涉及到默认路由和静态路由的问题.两块网卡时,也可以一块配置有网关(默认路由走这个网卡),另外一块只配置IP和掩码确认(该主机同网络的可以互通).不过在稍大型的.有多网段的环 ...

  • Linux系统中rename命令的使用方法

    Dos/Windows下,对文件改名用rename.而书上说,Linux下对文件或目录改名该用mv.我一直也是这样做的,却忽略了Linux下也有个叫rename的命令.都是rename,但功能上就有点 ...

  • Linux系统中的切换用户命令宝典

    #1:runuser命令 runuser命令使用一个替代的用户或者组ID运行一个Shell.这个命令仅在root用户时有用. 仅以会话PAM钩子运行,并且没有密码提示.如果用一个非root用户,并且该 ...

  • Fedora Linux系统中挂载NTFS分区的方法

    去下载安装包。根据我的机器情况,我是从"i386"文件夹下载的三个文件 fuse-2.7.0-6.fc6.i386.rpm, fuse-libs-2.7.0-6.fc6.i386.rpm, ntfs- ...

  • Linux系统中重复执行命令的方法小结

    普通的重复执行命令 实际操操作过程中,经常会遇到重复执行同一命令,以观察其结果变化的情况,以前经常是上下键加回车,或是Ctr+p然后回车的方式. 现在告诉大家一个好用的命令--watch,它可以全屏执 ...