Linux用户和用户操作 Linux教程



1,创建组

groupadd test

增加一个test组

2,修改组

groupmod -n test2 test

将test组的名子改成test2

3,删除组

groupdel test2

删除 组test2

4,查看组

a),查看当前登录用户所在的组 groups,查看apacheuser所在组groups apac

 一,组操作

1,创建组

 

groupadd test

 

增加一个test组

 

2,修改组

 

groupmod -n test2  test

 

将test组的名子改成test2

 

3,删除组

 

groupdel test2

 

删除 组test2

 

4,查看组

 

a),查看当前登录用户所在的组 groups,查看apacheuser所在组groups apacheuser

 

b),查看所有组 cat /etc/group

 

c),有的linux系统没有/etc/group文件的,这个时候看下面的这个方法

 

cat /etc/passwd |awk -F [:] ‘{print $4}’ |sort|uniq | getent group |awk -F [:] ‘{print $1}’

 

这里用到一个命令是getent,可以通过组ID来查找组信息,如果这个命令没有的话,那就很难查找,系统中所有的组了.

 

二,用户操作

 

1,增加用户

 

查看复制打印?

[root@krlcgcms01 mytest]# useradd –help

Usage: useradd [options] LOGIN

 

Options:

-b, –base-dir BASE_DIR       设置基本路径作为用户的登录目录

-c, –comment COMMENT         对用户的注释

-d, –home-dir HOME_DIR       设置用户的登录目录

-D, –defaults                改变设置

-e, –expiredate EXPIRE_DATE 设置用户的有效期

-f, –inactive INACTIVE       用户过期后,让密码无效

-g, –gid GROUP               使用户只属于某个组

-G, –groups GROUPS           使用户加入某个组

-h, –help                    帮助

-k, –skel SKEL_DIR           指定其他的skel目录

-K, –key KEY=VALUE           覆盖 /etc/login.defs 配置文件

-m, –create-home             自动创建登录目录

-l,                           不把用户加入到lastlog文件中

-M,                           不自动创建登录目录

-r,                           建立系统账号

-o, –non-unique              允许用户拥有相同的UID

-p, –password PASSWORD       为新用户使用加密密码

-s, –shell SHELL             登录时候的shell

-u, –uid UID                 为新用户指定一个UID

-Z, –selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

[root@krlcgcms01 mytest]# useradd --help

Usage: useradd [options] LOGIN

 

Options:

 -b, --base-dir BASE_DIR       设置基本路径作为用户的登录目录

 -c, --comment COMMENT         对用户的注释

 -d, --home-dir HOME_DIR       设置用户的登录目录

 -D, --defaults                改变设置

 -e, --expiredate EXPIRE_DATE 设置用户的有效期

 -f, --inactive INACTIVE       用户过期后,让密码无效

 -g, --gid GROUP               使用户只属于某个组

 -G, --groups GROUPS           使用户加入某个组

 -h, --help                    帮助

 -k, --skel SKEL_DIR           指定其他的skel目录

 -K, --key KEY=VALUE           覆盖 /etc/login.defs 配置文件

 -m, --create-home             自动创建登录目录

 -l,                           不把用户加入到lastlog文件中

 -M,                           不自动创建登录目录

 -r,                           建立系统账号

 -o, --non-unique              允许用户拥有相同的UID

 -p, --password PASSWORD       为新用户使用加密密码

 -s, --shell SHELL             登录时候的shell

 -u, --uid UID                 为新用户指定一个UID

 -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mappinguseradd test

 

passwd test

 

增加用户test,有一点要注意的,useradd增加一个用户后,不要忘了给他设置密码,不然不能登录的。

 

2,修改用户

 

usermod -d /home/test -G test2 test

 

将test用户的登录目录改成/home/test,并加入test2组,注意这里是大G。

 

gpasswd -a test test2 将用户test加入到test2组

gpasswd -d test test2 将用户test从test2组中移出

 

3,删除用户

 

userdel test

 

将test用户删除

 

4,查看用户

 

a),查看当前登录用户

 

[root@krlcgcms01 ~]# w

[root@krlcgcms01 ~]# who

 

b),查看自己的用户名

 

[root@krlcgcms01 ~]# whoami

 

c),查看单个用户信息

 

[root@krlcgcms01 ~]# finger apacheuser

[root@krlcgcms01 ~]# id apacheuser

 

d),查看用户登录记录

 

[root@krlcgcms01 ~]# last 查看登录成功的用户记录

[root@krlcgcms01 ~]# lastb 查看登录不成功的用户记录

 

e),查看所有用户

 

[root@krlcgcms01 ~]# cut -d : -f 1 /etc/passwd

[root@krlcgcms01 ~]# cat /etc/passwd |awk -F \: ‘{print $1}’

 

 

whois

功能说明:查找并显示用户信息。

语  法:whois [帐号名称]

补充说明:whois指令会去查找并显示指定帐号的用户相关信息,因为它是到Network Solutions 的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。

---------------------------------------------------------

whoami

功能说明:先似乎用户名称。

语  法:whoami [--help][--version]

补充说明:显示自身的用户名称,本指令相当于执行"id -un"指令。

参  数:

--help  在线帮助。

--version  显示版本信息。

---------------------------------------------------

who

功能说明:显示目前登入系统的用户信息。

语  法:who [-Himqsw][--help][--version][am i][记录文件]

补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的    终端机,登入时间以及从何处登入或正在使用哪个X显示器。

参  数:

-H或--heading  显示各栏位的标题信息列。

-i或-u或--idle  显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串。

-m  此参数的效果和指定"am i"字符串相同。

-q或--count  只显示登入系统的帐号名称和总人数。

-s  此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题。

-w或-T或--mesg或--message或--writable  显示用户的信息状态栏。

--help  在线帮助。

--version  显示版本信息。

----------------------------------------------------

w

功能说明:显示目前登入系统的用户信息。

语  法:w [-fhlsuV][用户名称]

补充说明:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w

指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

参  数:

-f  开启或关闭显示用户从何处登入系统。

-h  不显示各栏位的标题信息列。

-l  使用详细格式列表,此为预设值。

-s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。

-u  忽略执行程序的名称,以及该程序耗费CPU时间的信息。

-V  显示版本信息。

-----------------------------------------------------

finger命令

finger命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。

该命令的一般格式为:

finger [选项] [使用者] [用户@主机]

命令中各选项的含义如下:

-s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。

-l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。

-p 除了不显示.plan文件和.project文件以外,与-l选项相同。 

[例]在本地机上使用finger命令。

$ finger xxq

Login: xxq Name:

Directory: /home/xxq Shell: /bin/bash

Last login Thu Jan 1 21:43 (CST) on tty1

No mail.

No Plan. 

$ finger

Login Name Tty Idle Login Time Office Office Phone

root root *1 28 Nov 25 09:17

……

------------------------------------------------------------------

/etc/group文件包含所有组

/etc/shadow和/etc/passwd系统存在的所有用户名

修改当前用户所属组的方法

usermod 或者可以直接修改 /etc/paaawd文件即可

----------------------------------------------------------------

vlock(virtual console lock)

功能说明:锁住虚拟终端。

语  法:vlock [-achv]

补充说明:执行vlock指令可锁住虚拟终端,避免他人使用。

参  数:

-a或--all  锁住所有的终端阶段作业,如果您在全屏幕的终端中使用本参数,则会将用键盘

切换终端机的功能一并关闭。

-c或--current  锁住目前的终端阶段作业,此为预设值。

-h或--help  在线帮助。

-v或--version  显示版本信息。

--------------------------------------------------------

usermod

功能说明:修改用户帐号。

语  法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号]

补充说明:usermod可用来修改用户帐号的各项设定。

参  数:

-c<备注>  修改用户帐号的备注文字。

-d登入目录>  修改用户登入时的目录。

-e<有效期限>  修改帐号的有效期限。

-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。

-g<群组>  修改用户所属的群组。

-G<群组>  修改用户所属的附加群组。

-l<帐号名称>  修改用户帐号名称。

-L  锁定用户密码,使密码无效。

-s  修改用户登入后所使用的shell。

-u  修改用户ID。

-U  解除密码锁定。

-------------------------------------------------------

userdel

功能说明:删除用户帐号。

语  法:userdel [-r][用户帐号]

补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。

参  数:

-f  删除用户登入目录以及目录中所有文件。

----------------------------------------------------------

userconf

功能说明:用户帐号设置程序。

语  法:userconf [--addgroup <群组>][--adduser <用户ID><群组><用户名称>][--delgroup <群组>][--deluser <用户ID>][--help]

补充说明:userconf实际上为linuxconf的符号连接,提供图形界面的操作方式,供管理员建立与管理各类帐号。若不加任何参数,即进入图形界面。

参  数:

--addgroup<群组>  新增群组。

--adduser<用户ID><群组><用户名称>  新增用户帐号。

--delgroup<群组>  删除群组。

--deluser<用户ID>  删除用户帐号。

--help  显示帮助。

------------------------------------------------------

useradd

功能说明:建立用户帐号。

语  法:useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][用户帐号] 或 useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ]

补充说明:useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

参  数:

-c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。 

-d<登入目录>  指定用户登入时的启始目录。

-D  变更预设值.

-e<有效期限>  指定帐号的有效期限。

-f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。

-g<群组>  指定用户所属的群组。

-G<群组>  指定用户所属的附加群组。

-m  自动建立用户的登入目录。

-M  不要自动建立用户的登入目录。

-n  取消建立以用户名称为名的群组.

-r  建立系统帐号。

-s   指定用户登入后所使用的shell。

-u  指定用户ID。

 

 

 

who 看当前登陆用户信息 

cat /etc/passwd 看所有系统用户信息

查看linux下用户组是哪个命令!

察看 /etc/group文件

用cat /etc/passwd |cut -f 1 -d :

1、Linux里查看所有用户

 

  linux里,并没有像windows的net user,net localgroup这些方便的命令来管理用户。

 

  Xwindows界面的就不说了。

 

  (1)在终端里。其实只需要查看 /etc/passwd文件就行了。

 

  (2)看第三个参数:500以上的,就是后面建的用户了。其它则为系统的用户。

 

  或者用cat /etc/passwd |cut -f 1 -d :

 

  2、用户管理命令

 

  useradd 注:添加用户

 

  adduser 注:添加用户

 

  passwd 注:为用户设置密码

 

  usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;

 

  pwcov 注:同步用户从/etc/passwd 到/etc/shadow

 

  pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;

 

  pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;

 

  finger 注:查看用户信息工具

 

  id 注:查看用户的UID、GID及所归属的用户组

 

  chfn 注:更改用户信息工具

 

  su 注:用户切换工具

 

  sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;

 

  visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;

 

  sudoedit 注:和sudo 功能差不多;

 

  3、管理用户组(group)的工具或命令;

 

  groupadd 注:添加用户组;

 

  groupdel 注:删除用户组;

 

  groupmod 注:修改用户组信息

 

  groups 注:显示用户所属的用户组

 

  grpck

 

  grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;

 

  grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件

 

 

groups 查看当前登录用户的组内成员

groups gliethttp 查看gliethttp用户所在的组,以及组内成员

whoami 查看当前登录用户名

/etc/group文件包含所有组

/etc/shadow和/etc/passwd系统存在的所有用户名

1、/etc/group 解说;

/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用 户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件 的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;

用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去,

2、/etc/group 内容具体分析

/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:

group_name:passwd:GID:user_list

在/etc/group 中的每条记录分四个字段:

第一字段:用户组名称;

第二字段:用户组密码;

第三字段:GID

第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;



linux新建用户、用户组 以及为新用户分配权限

最近项目中使用jxgd  一开始在linux下的root用户上做试验 现在转到jxgd用户下 所以要新建jxgd用户了 直接入主题:

实现用户账号的管理,要完成的工作主要有如下几个方面:

· 用户账号的添加、删除与修改。

· 用户口令的管理。

· 用户组的管理。

一、Linux系统用户账号的管理 

用户账号的管理工作主要涉及到用户账号的添加、修改和删除。

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。

刚添加的账号是被锁定的,无法使用。

1、添加新的用户账号使用 useradd命令,其语法如下: 

代码: useradd 选项 用户名 其中各选项含义如下:

代码: -c comment 指定一段注释性描述。

    -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。

    -g 用户组 指定用户所属的用户组。

        -G 用户组,用户组 指定用户所属的附加组。

        -s Shell文件 指定用户的登录Shell。

    -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

用户名 指定新账号的登录名。

例1: 代码: # useradd –d  /home/jxgd -m  jxgd

此命令创建了一个用户sam, 其中-d和-m选项用来为登录名sam产生一个主目录/home/jxgd(/usr为默认的用户主目录所在的父目录)。

例2: 代码: # useradd -s /bin/sh -g jxgd –G adm,root  jxgd

此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。

这里可能新建组:#groupadd  jxgd及groupadd adm

增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。

Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。

2、删除帐号 

如果一个用户的账号不再使用,可以从系统中删除。

删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。

删除一个已有的用户账号使用userdel命令,其格式如下:

代码: userdel 选项 用户名

常用的选项是-r,它的作用是把用户的主目录一起删除。 例如:

代码: # userdel  jxgd

此命令删除用户jxgd在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

3、修改帐号 

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

修改已有用户的信息使用usermod命令,其格式如下:

代码: usermod 选项 用户名

常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

另外,有些系统可以使用如下选项:

代码: -l 新用户名

这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

例如: 代码: # usermod -s /bin/ksh -d /home/z –g developer  jxgd

此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

4、用户口令的管理

用户管理的一项重要内容是用户口令的管理。

用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

指定和修改用户口令的Shell命令是passwd。

超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。

命令的格式为: 代码:

passwd 选项 用户名 可使用的选项:

代码: -l 锁定口令,即禁用账号。

       -u 口令解锁。

       -d 使账号无口令。

       -f 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令。

例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:

代码: $ passwd Old password:******

           New password:*******

           Re-enter new password:*******

如果是超级用户,可以用下列形式指定任何用户的口令:

代码: # passwd sam New password:*******    

           Re-enter new password:*******

普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。

为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。

为用户指定空口令时,执行下列形式的命令:

代码: # passwd -d  jxgd

此命令将用户sam的口令删除,这样用户jxgd下一次登录时,系统就不再询问口令。

passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:

代码: # passwd -l jxgd

 

 

  新建用户异常: useradd -d /usr/hadoop -u 586 -m jxgd -g  jxgd  1 

Creating mailbox file: 文件已存在     

删除即可 rm -rf /var/spool/mail/用户名 2

useradd: invalid numeric argument 'jxgd'   

这是由于hadoop组不存在 请先建hadoop组

通过cat /etc/passwd 可以查看用户的pass

cat /etc/shadow  可以查看用户名

cat /etc/group  可以查看 组

linux下创建用户(二)

二、Linux系统用户组的管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。

不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。

用户组的管理涉及用户组的添加、删除和修改。

组的增加、删除和修改实际上就是对/etc/group文件的更新。

1、增加一个新的用户组使用groupadd命令。

其格式如下:

代码: groupadd 选项 用户组

可以使用的选项有:

代码: -g GID 指定新用户组的组标识号(GID)。

    -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。

例1:

代码: # groupadd group1

此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。

例2:

代码: #groupadd -g 101 group2

此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

2、如果要删除一个已有的用户组,使用groupdel命令, 其格式如下:

代码: groupdel 用户组

例如:

代码: #groupdel group1

此命令从系统中删除组group1。

3、修改用户组的属性使用groupmod命令。 其语法如下:

代码: groupmod 选项 用户组

常用的选项有:

代码: -g GID 为用户组指定新的组标识号。     

    -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。

    -n 新用户组 将用户组的名字改为新名字

例1:

代码: # groupmod -g 102 group2

此命令将组group2的组标识号修改为102。

例2:

代码: # groupmod –g 10000 -n group3 group2

此命令将组group2的标识号改为10000,组名修改为group3。

4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。

例如:

代码: $ newgrp root

这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。

权限分配 分配权限 chown -R jxgd:jxgd /usr/hadoop/

让普通用户拥有root的权限 1.root登录

2.adduser 用户名

3.passwd 用户名

确定密码

4.修改/etc/passwd即可,把用户名的ID和ID组修改成0。


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回