一、命令学习
1.作用
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。
2.格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
3.主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
linux useradd 命令详解 useradd 添加用户或更新新创建用户的默认信息
1、创建用户的同时指定家目录 # useradd –d /benet/hq hq
3、在建立用户时指定用户组 # adduser -g class1 st03
4、更改用户的组帐号 # usermod -g class1 st01
二、案例说明
#添加一个weblogic 组 [root@eccs_web /]# groupadd weblogic #添加一个用户weblogic放到weblogic组中,weblogic用户所在的目录为/app/weblogic [root@eccs_web app]# useradd -g weblogic -d /app/weblogic weblogic #修改用户weblogic的密码 [root@eccs_web /]# passwd weblogic #将/app目录下的所有文件和文件夹全部改为属于weblogic用户组,属于weblogic用户 [root@eccs_web app]# chown -R weblogic:weblogic /app #切换weblogic用户 [root@eccs_web /]# su weblogic
备注:这样就可以使用weblogic安装软件了,那么这个软件的所有者是weblogic用户。
三、常用命令
1、添加用户
useradd huangbiao #添加用户到指定的组 模式: useradd -g 组名 用户名 [root@hbredhat64 Packages]# useradd -g root huangbiao
查看用户信息
cat /etc/passwd
2、删除用户
userdel huangbiao
3、修改/添加用户密码
#修改当前用户密码 passwd #给huangbiao用户添加或者修改密码 passwd huangbiao
4、切换用户
su huangbiao //切换为用户huangbiao,如果用户为root,则前面命令分隔符为#,否则为$
例如:
[root@hbredhat64 Packages]# su huangbiao [huangbiao@hbredhat64 Packages]$
5、创建一个组
模式:groupadd 组名
groupadd tempgroup
6、查看现有的所有组(需要root命令)
cat /etc/group
例如:
[root@hbredhat64 Packages]# cat /etc/group root:x:0: bin:x:1:bin,daemon daemon:x:2:bin,daemon sys:x:3:bin,adm
备注:第三列数字表示组ID号。
7、用户分配到指定组
//单独给用户分配到某个组,会离开其他的组
[root@hbredhat64 Packages]# usermod -G huangbiao huangbiao
[root@hbredhat64 Packages]# groups huangbiao
huangbiao : huangbiao
//保证用户所在当前组,再额外追加组
[root@hbredhat64 Packages]# usermod -a -G root huangbiao
[root@hbredhat64 Packages]# groups huangbiao
huangbiao : huangbiao root
-g, --gid GROUP force use GROUP as new primary group
-G, --groups GROUPS new list of supplementary GROUPS
-a, --append append the user to the supplemental GROUPS mentioned by the -G option without removing him/her from other groups
8、查看用户属于哪(几)个用户组
[root@hbredhat64 Packages]# groups huangbiao
huangbiao : huangbiao root
9、更改文件的所有者
[huangbiao@hbredhat64 tmp]$ ll
-rw-rw-r--. 1 huangbiao huangbiao 0 10月 3 20:04 huangbiao.txt
[root@hbredhat64 tmp]# chown root huangbiao.txt
[root@hbredhat64 tmp]# ll
-rw-rw-r--. 1 root huangbiao 0 10月 3 20:04 huangbiao.txt
10、更改文件所属组
[root@hbredhat64 tmp]# chgrp root huangbiao.txt
[root@hbredhat64 tmp]# ll
-rw-rw-r--. 1 root root 0 10月 3 20:04 huangbiao.txt
权限对应的数值
r w x
4 2 1
四、说明/etc/passwd文件
成功创建一个新用户以后,在/etc/passwd文档中就会增加一行该用户的信息,其格式如下:
〔用户名〕:〔密码〕:〔UID〕:〔GID〕:〔身份描述〕:〔主目录〕:〔登陆Shell〕
第一字段:用户名(也被称为登录名);在上面的例子中,我们看到这两个用户的用户名分别是 beinan 和linuxsir;
第二字段:口令;在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow 文件中;
第三字段:UID ;请参看本文的UID的解说;
第四字段:GID;请参看本文的GID的解说;
第五字段:用户名全称,这是可选的,可以不设置,在beinan这个用户中,用户的全称是beinan sun ;而linuxsir 这个用户是没有设置全称;
第六字段:用户的家目录所在位置;beinan 这个用户是/home/beinan ,而linuxsir 这个用户是/home/linuxsir ;
第七字段:用户所用SHELL 的类型,beinan和linuxsir 都用的是 bash ;所以设置为/bin/bash ;
mysql:x:497:497:MySQL server:/var/lib/mysql:/bin/bash
weblogic:x:500:500::/app/weblogic:/bin/bash
lm:x:501:501::/home/lm:/bin/bash
五、/etc/group 内容具体分析
/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:
group_name:passwd:GID:user_list
在/etc/group 中的每条记录分四个字段:
第一字段:用户组名称;
第二字段:用户组密码;
第三字段:GID
第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;
我们举个例子:
root:x:0:root,linuxsir 注:用户组root,x是密码段,表示没有设置密码,GID是0,root用户组下包括root、linuxsir以及GID为0的其它用户(可以通过/etc/passwd查看);;
beinan:x:500:linuxsir 注:用户组beinan,x是密码段,表示没有设置密码,GID是500,beinan用户组下包括linuxsir用户及GID为500的用户(可以通过/etc/passwd查看);
linuxsir:x:502:linuxsir 注:用户组linuxsir,x是密码段,表示没有设置密码,GID是502,linuxsir用户组下包用户linuxsir及GID为502的用户(可以通过/etc/passwd查看);
helloer:x:503: 注:用户组helloer,x是密码段,表示没有设置密码,GID是503,helloer用户组下包括GID为503的用户,可以通过/etc/passwd查看;