感谢支持
我们一直在努力

Linux认证学习:RHEL用户帐号管理

1、查看/etc/passwd
1 [root@linuxidc ~]# cat /etc/passwd
结果如下:

bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin
rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
saslauth:x:498:76:”Saslauthd user”:/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
Oracle:x:500:500:oracle:/home/oracle:/bin/bash
user1:x:501:501::/home/user1:/bin/bash

上面数据格式如下:

<login name>:<password>:<numerical UID>:<numerical GID>:<Real name/comments>:<home directory>:<user command interpreter>

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录使用的Shell
用户名:代表用户账号登陆的字符串。
口令:由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多 Linux 系统都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符“x”。/etc/passwd只能被超级用户才能有权读取。
用户标识号:UID是一个整数,系统内部用它来标识用户。通常用户标识号的取值范围是0~65 535。0是超级用户root的标识号;1~99由会保留给系统预设的帐号;100~499 则保留给一些服务来使用;500~65535给一般使用者用的。在Linux系统中,这个界限是500。
组标识号:GID用户所属的用户组。它对应着/etc/group文件中的一条记录。
注释性描述:可选的,可以不配置。记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux 系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。
主目录:用户的“home”目录所在位置,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录的访问权限则根据具体情况设置。
登录使用的Shell:用户使用Shell类型。常用的有sh(Bourne Shell), csh(C Shell),  ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。

更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-06/102989p2.htm

2、查看/etc/shadow文件
与/etc/passwd文件不同,/etc/shadow文件是只有系统管理员才有权利进行查看和修改的文件。
[root@linuxidc ~]# cat /etc/shadow
结果如下:
root:$6$r9KqCYwdsalPJD24$InYCR/TVtO5DhECMQ5XGHiWoZhaHJXTLC3WdsilyX/pifwRtmK2.X6pg3jdMHrZm3uEkeC.K99TwRa1BurQMP.:16065:0:99999:7:::
bin:*:15937:0:99999:7:::
daemon:*:15937:0:99999:7:::
adm:*:15937:0:99999:7:::
lp:*:15937:0:99999:7:::
sync:*:15937:0:99999:7:::
shutdown:*:15937:0:99999:7:::
halt:*:15937:0:99999:7:::
mail:*:15937:0:99999:7:::
uucp:*:15937:0:99999:7:::
operator:*:15937:0:99999:7:::
games:*:15937:0:99999:7:::
gopher:*:15937:0:99999:7:::
ftp:*:15937:0:99999:7:::
nobody:*:15937:0:99999:7:::
dbus:!!:16065::::::
usbmuxd:!!:16065::::::
vcsa:!!:16065::::::
rpc:!!:16065:0:99999:7:::
rtkit:!!:16065::::::
avahi-autoipd:!!:16065::::::
abrt:!!:16065::::::
rpcuser:!!:16065::::::
nfsnobody:!!:16065::::::
haldaemon:!!:16065::::::
gdm:!!:16065::::::
ntp:!!:16065::::::
apache:!!:16065::::::
saslauth:!!:16065::::::
postfix:!!:16065::::::
pulse:!!:16065::::::
sshd:!!:16065::::::
tcpdump:!!:16065::::::
Oracle:$6$ndxF22Tonu8QvQUI$Dt548sGvDak6QZMDHzGU6N0B2CA15W5ZFw9.3VUEZft0iNfv6f3vEmwNLEO5m3My/5s2EPt/OExR5FQFHeBHG1:16065:0:99999:7:::
user1:$6$byoRAVKy$lYJZwqywmJMu/tl1mVXCY0/ofyB.O.Pol6CcJdAkDq3SqPDwuN1OxJrW2DaJappV8gRpRkTECsOaYFpSC3/yb.:16196:0:99999:7:::
上面数据格式如下:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留字段

登录名:与/etc/passwd文件中的登录名相一致的用户账号。
加密口令:加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
最后一次修改时间:自1970-1-1起,到用户最后一次修改口令时的天数。
最小时间间隔:两次修改口令之间所需的最小天数(按天计算,0 = 无最短期限)。
最大时间间隔:口令保持有效的最大天数,即两次修改口令间隔最多的天数,默认由/etc/login.defs文件中PASS_MAX_DAYS值定义。
警告时间:从系统开始警告用户到用户密码正式失效之间的天数。默认由/etc/login.defs文件中PASS_WARN_AGE值定义。
不活动时间:用户过了警告期限没有重新输入密码,使得密码失效了。当密码失效后,你还可以用这个密码在 n 天内进行登入的意思。
用户过期日期:是一个绝对的天数(从1970-1-1开始计算),如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。若这个字段的值为空,则账户永久可用。
保留字段:目前为空。
备注:/etc/shadow优先级高于/etc/login.defs。

3、查看/etc/login.defs文件
  当使用useradd建立用户账号时,若没有指定参数,useradd则根据/etc/login.defs与/etc/default/useradd中的定义作为新建账号的默认值。
[root@XjTest default]# cat /etc/login.defs
结果显示如下:
PASS_MAX_DAYS    99999    #登录密码有效期99999天
PASS_MIN_DAYS    0        #登陆密码最短修改时间
PASS_MIN_LEN    5        #登录密码最小长度
PASS_WARN_AGE    7        #登录密码过期提前7天提示修改

ID_MIN 500                  #最小UID为500 ,也就是说添加用户时,UID 是从500开始的;
UID_MAX 60000            #最大UID为60000;

GID_MIN 500              #GID 是从500开始;
GID_MAX 60000

CREATE_HOME yes          #是否创用户家目录,要求创建;

 

4、修改用户名
  在Linux中创建了一个用户,除了生成UID外还会有一个GID,当你对原用户名修改后,别忘了对GID也进行更新。
(1)修改用户名
# usermod -l NewUser -d /home/NewUser -m OldUser
-l 修改用户名
-d 修改登录后使用的路径
-m 修改登录名称的同时将目录名称一同修改
(2)修改组名称
# groupmod -n NewUser OldName
-n 修改组的名称

例如:讲user1用户修改成xju1用户
# usermod -l xju1 -d /home/xju1 -m user1
# groupmod -n xju1 user1
5、彻底***用户
#userdel 用户名,这个命令删过,但是仍存在关联文件。推荐使用如下方法***(***用户及用户所在的组):
# cd /usr/sbin
# ./userdel -r 用户名

备注(相关命令使用):
1、useradd命令
    用来建立用户帐号和创建用户的起始目录,使用权限是终极用户。
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
主要参数:
-c:加上备注文字,备注文字保存在passwd的备注栏中。 
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
样例:

# useradd test -u 500
–新创建一个Oracle用户,这初始属于oinstall组,且同时让他也属于dba组。
# useradd -g oinstall -G dba oracle

2、groupadd命令
    groupadd命令用于将新组加入系统。
groupadd [-g gid] [-o]] [-r] [-f] groupname
参数
-g gid:指定组ID号。
-o:允许组ID号,不必惟一。
-r:加入组ID号,低于499系统账号。
-f:加入已经有的组时,发展程序退出。
样例:
–建立一个新组,并设置组ID为500加入系统:
# groupadd -g 500 test

3、groupdel命令
    groupdel命令用于***群组。
groupdel [群组名称]
    说明:需要从系统上***群组时,可用groupdel指令来完成这项工作。倘若该群组中仍包括某些用户,则必须先***这些用户后,方能***群组。

4、userdel命令
    userdel命令用于***用户帐号。
userdel [-r][-f][用户帐号]
    说明:userdel可***用户帐号与相关的文件。若不加参数,则仅***用户帐号,而不***相关文件。
参数:
-r  ***用户的同时,***与用户相关的所有文件。
-f  强制***用户,即使用户当前已登录。

5、usermod命令
    usermod命令用于修改用户帐号。
usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]
参数:
-c<备注>  修改用户帐号的备注文字。
-d登入目录>  修改用户登入时的目录。
-e<有效期限>  修改帐号的有效期限。
-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
-g<群组>  修改用户所属的群组。
-G<群组>  修改用户所属的附加群组。
-l<帐号名称>  修改用户帐号名称。
-L  锁定用户密码,使密码无效。
-s<shell>  修改用户登入后所使用的shell。
-u<uid>  修改用户ID。
-U  解除密码锁定。

样例:
–将 newuser2 添加到组 staff 中
# usermod -G staff newuser2
–修改 newuser 的用户名为 newuser1
# usermod -l newuser1 newuser
–锁定账号 newuser1
# usermod -L newuser1
–解除对 newuser1 的锁定
# usermod -U newuser1

6、groupmod命令
    groupmod命令用于更改群组识别码或名称。
groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]
    说明:需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。
参数:
-g <群组识别码>  设置欲使用的群组识别码。
-o  重复使用群组识别码。
-n <新群组名称>  设置欲使用的群组名称。
样例:
–修改组名,将组名test修改成linux
# groupadd test
# tail -1 /etc/group
test:x:500:
# groupmod -n linux test
# tail -1 /etc/group
linux:x:500:

/etc/group文件格式:
group_name:passwd:GID:user_list
在/etc/group中的每条记录分四个字段:
第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID
第四字段:用户列表,表示该用户组所包含的用户,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-06/102989.htm

赞(0) 打赏
转载请注明出处:服务器评测 » Linux认证学习:RHEL用户帐号管理
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏