有关/etc/passwd,/etc/shadow,/etc/group,以及用户管理与查看用户信息的命令知识总结
/etc/passwd文件
passwd文件存放的是用户相关的信息,包含有用户名,密码,属主uid,属组gid,注释相关,家目录,用户所用的shellroot:x:0:0:root:/root:/bin/bash有7个字段,每个字段代表的是:1.用户名2.密码,用一个X表示,其以加密的形式存放在/etc/shadow下3.属主id4.属组id5.对用户进行的注释信息,以便日后查看6.用户家目录7.用户所用的shell,有一类用户是不登录的,也就是说,根本用不上shell daemon:x:2:2:daemon:/sbin:/sbin/nologin系统用户: mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash自定义用户: fedora:x:2003:2003:Fedora Community:/home/fedora:/bin/tcsh**系统的uid在500以下(1-499),用户自定义的账号的gid在500以上(500-6000)**添加用户:useradd -c:注释说明,相当于第五个字段 -d:指定家目录,若不指定,则会在/home目录下建立一个以当前用户名为名的家目录 -g:组名,必须事先存在 -G:附加组 -M:不建立家目录 -r:建立系统用户 -s shell:指定用户登录的shell -u uid :指定uid/etc/login.defs:这个有建立用户时,默认的设定 实例:添加一个用户名为test,uid为5500,附加组为testone#添加一个组#groupadd testone
#添加一个用户
#useradd test -u 5500 -G testone
删除用户:userdel
-r:连家目录一起删除 修改用户信息:usermod,这里的选项参数和useradd产不多组:用户组类别:1.私有组:创建用户时,如果没有为其指定组,系统自动为其创建一个与用户同名的组2.附加组/etc/group添加组:groupadd -r:建立系统组 -g gid:指定组idroot:x:0:test11:x:12366:test1221.组名2.组的管理密码3.组id4.附加组,附加组可以有多个删除组:groupdel只能删除使用groupadd添加的组,而不能删除当使用useradd创建用户时创建的组 -n group_name:更改组名 -g gid :更改组id 密码文件:/etc/shadowroot:$6$H7hZfcMAaOhsYXTo$i6iSH8ddgj.FmmCQxRQe2eKJS7kyEe8cIwmOXMbygB9uChYWiWs0uf0y3knDYyfKBVw2sufH2nbGd/QWb9g8g.:16449:0:99999:7:::ubuntu:!!:16682:0:99999:7:::
各个字段代表的意义:
1.登录名2.加密密码3.自1970.1.1起最后一次修改密码的时间(天数)4.密码持续的最小天数5.密码持续的最大天数6.密码将要过期的时间提醒(在要快到期时的警告)7.密码到期后的宽限天数(在密码到期后的提醒,如再不更改密码,则用户被锁定)8.密码的到期时间为用户设定密码:passwdpasswd username 如不指定用户名,则为当前用户更改密码 也可以使用如下方法改密 echo "redhat" | passwd --stdin username -l:锁定 -u:解锁 -d:删除用户密码 与用户账号有关的其他命令: pwck检查用户账号的完整性,传入的是passwd文件# pwck /etc/passwduser 'adm': directory '/var/adm' does not existuser 'uucp': directory '/var/spool/uucp' does not existuser 'gopher': directory '/var/gopher' does not existuser 'oprofile': directory '/home/oprofile' does not existuser 'avahi-autoipd': directory '/var/lib/avahi-autoipd' does not existuser 'saslauth': directory '/var/empty/saslauth' does not existuser 'pulse': directory '/var/run/pulse' does not exist
pwck:无改变id:查看用户账号的使用信息
-u:显示uid -g:显示gid -G:显示Gid# id ubuntuuid=12362(ubuntu) gid=12367(ubuntu) 组=12367(ubuntu)
chsh:更改用户的登录shell
-s:指定一个shell# tail /etc/passwd ubuntu:x:12362:12367::/home/ubuntu:/bin/bash# chsh -s /bin/tcsh ubuntuChanging shell for ubuntu.Shell changed.# tail /etc/passwd ubuntu:x:12362:12367::/home/ubuntu:/bin/tcsh