
(四)用户和组管理
用户账号文档----passwd
#ll /etc/passwd
用户口令文档----shadow
#ll /etc/shadow
用户组账号文档
#ll /etc/group
用户组口令文档
#ll /etc/gshadow
#vipw
用于直接对用户账号文档passwd进行编辑,功能等同于”vi /etc/passwd”但比直接用VI命令更安全
#vigr
用于直接对组文档 group进行编辑,功能等同于“vi /etc/group”,但比直接用VI命令更安全,临时编辑文档的存在起锁定作用,vipw或vigr每次只允许一个人编辑passwd或group文档,他防止用户在passwd文档被编辑的时候修改他们的口令,当文本编辑器结束时,vipw或vigr将用过的副本代替原始的passwd文档
#pwck
用于验证用户账号文档认证信息的完整性,该命令检测文档“/etc/passwd”和”/etc/shadow”的每行中字段的格式和值是否正确。
#grpck
用于验证用户组文档认证信息的完整性,该命令检测文档“/etc/group”和”/etc/gshadow”的每行中字段的格式和值是否正确。
#useradd user1
用于添加用户账号,只有使用passwd命令配置用户口令,才能够用此用户进行登录,否则此因为账号被禁止登录。没有指定用户所属的组,所以建立了同名的组。
#useradd ?g root user1
用于添加账号的同时指定用户私有组
#useradd ?D
用于显示或配置useradd命令使用的默认值,该文档保存在”/etc/default/useradd”
#useradd ?D ?s ?g ?b ?f ?e ?G ?u ?n ?d -l
n参数用于禁止系统建立和用户名同名的用户组
s参数配置用户的登录shell
g参数定义用户默认的组
G参数配置新用户到其他的组中去
u参数指定用户ID,不使用系统默认的配置方式
D参数用户登录的子目录
l参数配置用户名
指定适当的参数用于改变useradd命令所使用的默认值
#useradd ?D ?s /bin/csh
#usermod ?l user2(新) user1(旧)
此命令用于改变用户账号名,Usermod命令用于配置已有用户账号的属性,包括用户宿主目录,私有组,登录shell等内容,工作原理和useradd命令差不多,用于修改系统中现有的某个用户
#usermod ?L user1
锁定用户账号,通过在shadow文档中指定用户账号的口令字段前加入锁定符号”!”锁定该用户账号的.
#usermod ?U user1
解锁用户账号, ,通过在shadow文档中指定用户账号的口令字段前去除锁定符号”!”来解锁该用户账号的.
完整删除用户账号数据
Userdel [r] u s e r n a m
#userdel user1
删除用户账号,但用户宿主目录还在
#userdel ?r user1
删除用户的同时删除用户宿主目录
#rm /var/spool/mail/user
删除用户的电子邮件
# ps ?aux |grep “user”
#kill 进程ID号,可加 -9 强制删除
删除用户执行的后台程式
#rm /var/spool/cron/user
假如用户曾使用crontab来配置定时器,则在/var/spool/cron/目录中会存在一个和用户名称同名的文档.)
添加批量账号
1. 编辑用户信息文档
使用任何一种文字编辑器输入用户信息,这些用户信息字段必须符合/etc/passwd文档中字段的排列次序
#vi /root/account.txt
User1:x:601:601::/home/user1:/bin/bash
User2:x:602:602::/home/user2:/bin/bash
User1:x:603:603::/home/user3:/bin/bash
User1:x:604:604::/home/user1:/bin/bash
(注意,此处不可有任何空白行)
2. 执行/usr/sbin/newusers
nweusers的主要功能是经批处理文档来更新或建立用户账号
#newusers
假如没有错误,在/etc/passwd文档中就有账号的内容,在/home目录里也发现已建立好的账号的目录
3. 执行/usr/sbin/pwunconv
能够将/etc/shadow产生的shadow口令译码,然后写回到/etc/passwd中,同时也将/etc/shadow文档中的口令字段删除,以取消shadow passwd 的功能
#pwunconv
4. 建立口令文档
按照每个用户名称来建立对应口令表,他只是简单的文本文档
#vi /root/password.txt
User1:ww31
User2:rrwe44
User3:fudis22
User4:hjhu232
5. 执行/usr/sbin/chpasswd
使用shell script 将口令表中的口令读入到/etc/passwd文档中
#chpasswd
假如没有错误,就在/etc/passwd文档中发现先前在口令青史指定的用户账号口令了,但是口令都是明文的
6. 执行/usr/sbin/pwconv
将口令编码为shadow password ,并且写入/etc/shadow文档中,这样原来的明文口令会为加密过的X记号所取代
改变用户组群的属性并不会自动改变用户的属性,如删除GID为100的组群,而属于这个组的用户中所属的GID仍然为100,反映不出这个组群已被删除
#groupadd mygroup
添加组账号,组ID>500
#groupadd ?g 600 test
建立组的同时指定组的ID
#groupadd ?r sysgroup
用于建立系统组账号,GID
#groupmod ?g 502 mygroup
用于改变组ID,组账号名不变
#groupmod ?n newgroup mygroup
用于改变组名,组ID不变
#groupdel mygroup
删除组账号,只有当组账号中没有用户账号时才能删除.
#passwd user1
配置指定用户的口令,只有root用户能够指定用户账号配置口令
#passwd
配置用户自己的口令
#passwd ?S user1
查询指定用户的口令状态,该命令只有root用户能够使用
#passwd ?l user1
锁定用户账号,只有root用户能够使用
#passwd ?u user1
解锁用户账号,只有root用户能够使用,假如账号没有配置口令或已删除口令,则此步骤会失败,这是出于系统安全的考虑.
#passwd ?u ?f user1
基于上面的问题,能够用-f参数来强制打开此账号
#passwd ?d user1
删除用户口令,只有root用户能够使用,账号登录时系统不需要输入口令,就能够登录.也能够利用/etc/passwd和/etc/shadow文档删除用户口令,只需将口令字段中的”X”或”!!”清除即可.
#gpasswd ?a user1 bin
添加用户到组
#gpasswd ?d user1 bin
从组中删除用户
#gpasswd ?A user1 users
配置用户为组管理员
#chfn user1
Chfn命令用于改变指定用户的finger信息。
#finger ?l user1
查询用户user1信息,-l显示周详的信息
#chsh ?l
用于显示当前系统能够使用的shell
#chsh ?s /bin/csh user1
配置用户的登录shell
#w
显示现在登录的任何用户的信息,其中包含的信息有很多,例如用户名称,登录时间,登录位置,系统启动至今的时间,连同过去1,5,10分钟内系统的平均负载程度.
#who
用来显示现在登录的任何用户的信息但是只能显示四种信息:用户名称,使用的终端,登录时间连同登录地址
#wriet user1
Have a nice dinner!
传送信息到其他登录用户
#id
用于显示用户当前的UID GID和用户所属的组列表。
#whoami
#id -un
显示当前用户的名称
#su user1
转换当前用户到指定的用户,root转换为其他用户时不要密码,普通用户转换为其他用户时需要输入用户口令。
#su ?user1
转换当前用户到指定的用户,并改变相应的环境变量
#su
转换为root
#groups user1
显示指定用户所属的组,如未指定用户则显示当前用户所属的组
#newgrp bin
转换用户的当前组到指定的组,如未指定用户组时转换为用户私有组
本文来自ChinaUnix博客,假如查看原文请点:http://blog.chinaunix.net/u/31547/showart_473040.html
|