您的位置:首页 > 运维架构 > Linux

Linux学习笔记——用户和组管理

2013-03-01 14:57 323 查看
新建/删除用户及组

useradd

passwd

userdel

groupadd

gpasswd

groupdel

useradd shrek 将建立名为shrek的用户,useradd程序将做以下步骤:

程序将向两个配置文件中创建用户的信息 /etc/passwd /etc/shadow

程序将向组配置文件中创建shrek组 /etc/group /etc/gshadow

程序将创建用户的主目录 /home/shrek 并将 /etc/skel中所有文件拷贝过来

但是该用户还是不能使用,还需要使用 passwd shrek将其密码改变

刚刚创建的用户默认是属于shrek组的

userdel shrek 将删除shrek用户,但是默认不会删除其主目录

userdel –r shrek 将删除用户的主目

/etc/login.defs 与用户相关的文件的默认值在此文件中

groupadd students 添加students 组

groupdel students 删除students组



将一个用户添加至多个组 usermod -G root,bin,todd

将一个组添加多个用户 gpasswd -M todd,ttt,root

user相关命令汇总

useradd 添加用户

usermod 更改用户信息

userdel 删除用户

passwd 更改用户密码

su 切换用户

exit 退出用户shell



useradd 添加用户,但用户不能直接来登录,需要用passed更改其密码。

useradd abc 添加了一个名字为abc的用户

passwd 更改密码时,普通用户更改密码必须符合复杂性要求:比如至少6位密码,密码不能是一个单词,不能与用户名一样等

passwd 改自己的密码

passwd abc 改abc的密码

usermod 可以用参数来修改用户的相关内容 , usermod的实质是对 /etc/passwd文件中内容进行修改

-d 改变用户的主目录 -e 设置用户密码的过期时间 -g 改变用户的gid

-G 将用户指定到多个组 -l 改变用户的登录用名 -s 改变用户的默认shell

-L 使帐号锁定 -U 为用户密码解锁

usermod –s /bin/tcsh shrek 让shrek用户使用tcsh 做为自己的shell



用户和组配置文件

/etc/passwd –用户账号信息文件

/etc/shadow –用户密码文件

/etc/group –用户组账号信息文件

/etc/gshadow –组密码文

/etc/passwd 文件用于定义系统的用户账号。所有用户对于passwd文件都有读取权限,为了安全考虑,该文件中默认没有用户的口令,用户的口令保存在/etc/shadow

中,但是使用authconfig命令可以将口令放回/etc/passwd文件中

cat /etc/passwd

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

…..

/etc/passwd文件用 “:”分割七个字段

account password UID GID GECOS directory Shell

root x 0 0 root /root /bin/bash

sync x 5 0 sync /sbin /bin/sync



Account :用户账号名称

Passwd 用户口令,安全性考虑用 “x”代替该字段,密码保存在shadow文件中

UID 用户号

GID 用户所属的组号

GECOS 可选的用户信息说明

Directory 用户的主目录

Shell 用户所使用的shell,如果该字段为空则使用“/bin/sh”

使用useradd添加的帐号时,选项将在/etc/login.defs文件中定义:

UID_MIN 500 自己添加用户的UID(用户编号)最小

UID_MAX 60000 自己添加的用户UID最大为

GID_MIN 500 自己添加组GID(组编号)最小为

GID_MAX 60000 自己添加组GID最大为

CREATE_HOME yes 是否为用户建立home目录



/etc/shadow 用于存放用户口令等重要信息,该文件只有root用户可以读取。

#ls –l /etc/shadow 其权限仅root用户可以访问

-r-------- 1 root root 1466 Jun 12 11:24 /etc/shadow

#cat /etc/shadow

root:$1$7v36vcBU$XeiisM2qY7ZYYhDm63xWX1:12924:0:99999:7:::



shadow文件中默认保存的是已经经过md5加密的用户口令

shadow文件的每一行中使用“:”分割成9段,每一项具体来说

1登录名 2经md5加密的用户密码 3密码上一次被更改的unix时间(从1970年1月1日起的天数)

4密码最短历史(密码再过几天可以被更改) 5密码最长历史(密码再过几天必须改) 6密码过期前多少天提醒用户

7密码过期几天后帐号会被取消 8帐号失效的unix时间 9最后一段保留

/etc/group存放用户的组账号信息。文件中的每一行都定义一个用户组的信息。

#cat /etc/group

root : x : 0 : root

bin : x 1 : root , bin , daemon



group文件的各个字段

Group name password GID User list

Root x 0 Root

Bin x 1 Root,bin,daemon

Gourp name 用户组名称

Password 用户组口令

GID 用户组标识号

User list 属于该组的成员列表



/etc/gshadow用于定义用户组口令,组管理员信息。只有root用户可以读取。

group相关命令

groupadd 添加一个组

groupmod 更改组的信息

groupdel 删除一个已存在的组

gpasswd 修改组密码或添加用户到组

groups 显示当前用户所属组

id 显示当前用户信息及所属组

groupadd 组账号名称

#groupadd students 在系统中添加组账号,该组账号的GID大于500。

#groupadd –r admins 建立组账号(GID)小于500的组。

groupmod –g 新的GID 用户组账号名 用于更改指定用户组的GID,组账号名不变。

#groupmod –g 503 mygroup

groupmod –n 新的组名 原用户组名 改变用户组的名称,其GID保持不变

#groupmod –n newgroup oldgroup

如果希望将用户添加到组,可以直接更改/etc/group文件,也可以使用gpasswd命令

#cat /etc/group

… …

sys:x:3:root,bin,adm

将用户添加在组名后,用“,”格开,如上,root bin adm三个用户属于sys组



gpasswd –a 用户账号名 组账号名 将一个用户添加入一个组。

#groups user1

user1:user1

#gpasswd –a user1 bin

#groups user1

user1:user1 bin

从组中删除用户

gpasswd –d 用户账号名 组账号名 将用户账号从指定用户组中删除。组管理员有执行该命令的权限。

#gpasswd –d user1 bin

#groups user1

user1:user1

提示:一个用户当前只可以属于一个组,这个组叫用户当前组。当用户建立文件时,文件的所属组就是用户当前组。

groups

直接键入groups:可以查询当前用户属于哪些组。

groups 用户名 可以查询某一指定用户属于哪些组。

例如:

#groups root

root : root

id 显示用户的系统标志,报告用户名、用户号(ID)、组名和组号(GID)。

id [参数]

-g只显示组号。

-G只显示次要组。

-u只显示用户号。

例如:

# id

uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(whell)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023





当前系统中登陆的用户

users 显示当前系统登陆的用户

who 当前登陆在本机的用户及来源

w 当前登陆本机的用户及运行的程序

write 给当前联机的用户发消息

wall 给所有登陆在本机的用户广播消息

last 查看用户的登陆日志

lastlog 查看每个用户最后登陆的情况

finger 查看用户信息

users

shrek root root 当前登陆的用户有 shrek root root



who

root tty1 Jun 13 12:26

shrek tty5 Jun 13 15:39

root pts/0 Jun 13 12:35 (192.168.1.224)

w

15:41:50 up 3:16, 3 users, load average: 0.00, 0.00, 0.00

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root tty1 - 12:26pm 2:08 0.05s 0.05s -bash

shrek tty5 - 3:39pm 2:02 0.00s 0.00s -bash

root pts/0 192.168.1.224 2:35pm 0.00s 0.52s 0.01s w



write

(mesg y 允许发消息)

write root tty1

ctrl+d 终止输入

给登陆在tty1第一个控制台上的用户发信息



finger (centos貌似没有此命令)

finger可以用来显示系统某一用户的详细信息,并且支持用户编辑说明档。finger还可以作为一个网络服务,支持远端查询。

[root@uplooking root]# finger root

Login: root Name: root

Directory: /root Shell: /bin/bash

On since Tue Jun 14 18:03 (CST) on pts/0 from 192.168.1.224

No mail.

No Plan.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: