对于用户管理工具平时大多用的是groupadd,useradd,usermod等等这些命令,平时linux的一些指令我都会做一些记录,本着好记性不如烂博客的精神,也把用户管理的命令做一点系统性的记录,参考资料基本是鸟哥还有网上的一些文章。
用户组的管理
linux可以对一个用户组中的所有用户进行集中的管理,用户组的管理包括用户组添加,删除修改,实际上这些操作就是对/etc/group文件作出修改。
groupadd 新增一个用户组
groupadd [-g gid [-o]] [-r] [-f] group
-g 其中gid是指定新用户组的标识号,除非配合使用-o参数,不然该值必须是唯一的
-o 标识新用户组gid可以和系统中原有的用户组的gid值相同
实例:
groupadd chenyuzhe1
groupadd -g 789 chenyuzhe2
groupdel 删除用户组
实例:
groupdel chenyuzhe1
groupmod 修改用户组
实例:
groupmod -g 1000 chenyuzhe2
groupmod -g 1000 -n chenyuzhe2 chenyuzhe3
其中 -n 将原来的用户组进行重命名
用户的管理
用户管理主要包括了用户账号的添加,修改和删除。
useradd 添加用户账号
添加用户账号的操作包括了给它创建用户名,用户组,主目录和登录shell资源等等。
adduser [-u uid][-g group][-G other_group][-d home][-s shell]
-u 指定用户userID
-g 指定指定用户所属的用户组
-d 直接将根目录建立在已经存在的目录上
-s 定义shell
-G 指定用户所属的附加组
实例:
useradd -d /home/chenyz chenyz
useradd -s /bin/bash -d /home/chenyz -g chenyuzhe3 -G root chenyz
添加用户实际上就是在/etc/passwd添加一条用户记录,如有指定其他的信息同时也在/etc/group,/etc/shadow文件中进行了相应的更新。
userdel 删除用户账号
实例:
userdel chenyz
userdel -r chenyz
-r 连同主目录一并删除
usermod 修改用户账号
操作项基本与useradd差不多
实例:
usermod -l chenyz chenyz1
相关的配置文件
/etc/paswd 用户账号的配置文件
/etc/shadow 用户口令文件
/etc/group 用户组的配置文件
/etc/gshadow 用户组的口令文件
有效用户和实际用户
在上面我们已经为系统创建了一个chenyz的账号,进行登录后我们执行以下2条指令
$ whoami
chenyz
$ who am i
chenyz pts/2 Jan 19 15:24 (218.107.55.254)
无论是whoami或是who am i用户名都是一致的,当我们使用su - 进行用户切换后再执行上面两条指令
gzhouse:~# whoami
root
gzhouse:~# who am i
chenyz pts/0 2011-01-19 12:16 (113.108.224.230)
可以说who am i 显示的是切换用户前的实际登陆的用户ID,whoami是切换后的有效的用户ID,此时此终端具有切换后用户的访问权限。