您的位置:首页 > 其它

有关/etc/passwd,/etc/shadow,/etc/group,以及用户管理与查看用户信息的命令知识总结

2015-11-09 22:01 676 查看
有关/etc/passwd,/etc/shadow,/etc/group,以及用户管理与查看用户信息的命令知识总结

/etc/passwd文件

passwd文件存放的是用户相关的信息,包含有用户名,密码,属主uid,属组gid,注释相关,家目录,用户所用的shell

root:x:0:0:root:/root:/bin/bash

有7个字段,每个字段代表的是:
1.用户名
2.密码,用一个X表示,其以加密的形式存放在/etc/shadow下
3.属主id
4.属组id
5.对用户进行的注释信息,以便日后查看
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:指定组id

root:x:0:
test11:x:12366:test122

1.组名
2.组的管理密码
3.组id
4.附加组,附加组可以有多个

删除组:
groupdel
只能删除使用groupadd添加的组,而不能删除当使用useradd创建用户时创建的组
-n group_name:更改组名
-g gid :更改组id

密码文件:/etc/shadow

root:$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.密码的到期时间

为用户设定密码:passwd

passwd username
如不指定用户名,则为当前用户更改密码

也可以使用如下方法改密
echo "redhat" | passwd --stdin username

-l:锁定
-u:解锁
-d:删除用户密码

与用户账号有关的其他命令:

pwck检查用户账号的完整性,传入的是passwd文件

# pwck /etc/passwd
user 'adm': directory '/var/adm' does not exist
user 'uucp': directory '/var/spool/uucp' does not exist
user 'gopher': directory '/var/gopher' does not exist
user 'oprofile': directory '/home/oprofile' does not exist
user 'avahi-autoipd': directory '/var/lib/avahi-autoipd' does not exist
user 'saslauth': directory '/var/empty/saslauth' does not exist
user 'pulse': directory '/var/run/pulse' does not exist
pwck:无改变id:查看用户账号的使用信息
-u:显示uid
-g:显示gid
-G:显示Gid

# id ubuntu
uid=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 ubuntu
Changing shell for ubuntu.
Shell changed.
# tail /etc/passwd
ubuntu:x:12362:12367::/home/ubuntu:/bin/tcsh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息