`
天梯梦
  • 浏览: 13621899 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

Ubuntu用户及用户组管理命令

 
阅读更多

参考:Linux 账号管理与 ACL 权限配置

 

Linux是一个用户权限管理得很严格的系统,Ubuntu作为最受欢迎的桌面发行版,提供了简单易用的图形界面工具来管理用户,但是命令行工具往往更强大,用得熟练的话效率会更高。用户管理命令常用的有如下几个:


useradd 这个命令用于添加用户,相比图形界面工具,它可以指定用户文件夹,所属群组等。如果执行useradd -D不加任何其它参数,bash将返回当前创建用户的默认选项,如果附加其他参数,那么这个命令就会把新建用户的默认配置更新到当前值。-p选项可以设置 密码,-s选项可以设定shell,-u选项可以设定UID。

 

userdel 这个命令用于删除用户,如果不加附加参数,则默认只删除用户,如果加上-r参数,则同时删除用户目录和用户帐户。

 

passwd 这个命令用于修改用户密码,也可以修改群组密码。常用附加参数如下:
-l 效果相当于usermod -L,会禁用用户账户,需要root权限。
-u 效果相当于usermod -U,用于回复被禁用的账户,需要root权限。
-g 修改组密码。
-d 关闭用户的密码认证功能,使其在登录时不需要输入密码,需要root权限。

usermod 这个命令用于更改用户属性,-s可以更改用户shell,-u可以更改UID,如果用户已登录,就不可以更改用户属性。

 

chsh 这个命令用于更改用户的shell。

 

w 这个如此简单的命令可以返回系统当前登录用户的详细状态,如果w username就可以返回特定用户的状态。

 

ac 这个命令可以返回用户总的连接时间,它从/var/log/wtmp文件中获取信息,这个命令貌似Ubuntu没有自带,需要安装acct软件包。

 

last 这个命令从/var/log/wtmp中获取信息,可以列出从该文件创建起所有用户的登录记录。

 

lastb 这个命令可以列出所有登录失败的记录,在系统安全方面有一定作用。

 

Ubuntu下用户管理命令基本就是这么多,熟练掌握会比图形界面效率高很多。

 

来源:http://www.shunix.com/ubuntu-users-admin-681/

 

UBUNTU 用户及用户组管理

 

创建组:

$sudo addgroup ccache

 

创建用户:

$sudo useradd ccache -g ccache -M

 

创新wfz用户并创建HOME目录,指定用户组为ccache

$sudo useradd wfz -g ccache -m

 

增加已存在用户到指定组

$sudo adduser $USER ccache
$sudo adduser dbh ccache
$sudo adduser paul ccache
$sudo adduser wfz ccache

 

显示用户ID及组信息:

~$ id
uid=1001(dbh) gid=1001(dbh) groups=115(admin),1001(dbh)
$ cat /etc/group
ccache:x:1002:dbh,paul,wfz

 

1. 用户和用户组的管理:

 

Linux的多用户概念是指多个用户同时可以使用这个系统。

 

(1)用户帐号文件——passwd

Passwd 是一个文本文件(每一行标识1个用户),定义了系统的用户帐号,该文件位于“/etc”目录下。文件中包含了一个系统帐户列表,存放了每个账户一些有用的 信息,如用户ID,组ID,主目录,shell等等(用“:”分隔开来)。只定义了用户帐号,而不保存口令(用“x”表示,如果没有 sun::则表示没有密码)。真正的密码存放在Shadow文件中,普通用户根本不能读,加密后的密文无法读到就可以提高用户帐号的安全性。

例如:

[root@sun root]# head /etc/passwd

 

root:x:0:0:root:/root:/bin/bash 表示有7个字段:登录名:有无口令:用户ID:组ID:账户备注信息:用户Home目录:登录时用户shell的名称(超级用户有权限修改)

 

(2)用户口令文件——shadow

每行定义了一个用户信息,行中各字段用:分开,为进一步提高安全性,口令文件存放用户已经加密的口令:*,特殊符号

[root@sun root]# head /etc/shadow

 

登录名:加密的口令(用*或其他特殊字符表示):上次更改口令距离1970.1.1的天数:口令更改后不可更改的天数:口令更改后必须再更改的天数(有效期):口令失效前警告用户的天数:口令失效后距帐号被查封的天数:帐号被封时距1970.1.1的天数:保留未用。

 

(3)用户组帐号文件——group

用户组:逻辑的组织用户帐号的集合的方式,用户允许在其组内共享文件,系统每个文件都有一个用户和附属的用户组。使用“ls -l”命令可以查看每个文件的属性和组。

[root@sun root]# head /etc/group

 

root:x:0:root,tom,mary (组名:组加密口令:GID:组成员列表(用,隔开的每个组用户名))

 

(4)用户组口令文件——gshadow

用于定义用户组口令,用户组管理员信息。该文件只有超级用户root才可以读取

每行记录信息:

[root@sun root]# head /etc/gshadow

 

用户组:用户组加密口令:组管理员帐号(管理员有权进行增删帐号):组成员列表

 

2. 用户和用户组账户维护的命令:

 

(1)增加用户账户:useradd 用户名

useradd –g 组名 用户名 指定该用户所使用的私有组名,默认是与用户帐号同名的私有组。

useradd –D [-g group][-b base][-s shell][-f inactive][-e expire] 用于显示和设置useradd该命令所使用的默认值。

例如:#useradd sun //建立用户帐号

#tail -l /etc/passwd //查询passwd中添加的用户账户的信息

#tail –l /etc/shadow

#ls /home //查看所建立帐号的主目录

 

(2)修改用户帐号属性:usermod [-LU][-c ][-d ][-e ][-f ][-g ][-G][-l][-s][-u][用户帐号]

 

(3)删除用户帐号:userdel [-r][用户帐号] //如果不加参数则只删除用户帐号,不删除文件,否则两者都删除。

userdel [-r][用户帐号] //-r用来删除帐号登入目录和目录中所有文件

 

举例:#grep sun /etc/passwd //查询用户帐号sun是否存在

#userdel sun //删除用户帐号sun

#grep sun /etc/passwd //再次查询用户帐号sun是否存在

#ll –d /home //查询用户sun主目录是否存在

#userdel –r sun //删除用户的同时,删除其工作主目录

 

(4) 增加用户组帐号:groupadd [-r][组帐号]

【注意】帐号ID唯一,数值不可为负,预设最小值不得小于500,且每增加一个,组帐号ID逐次自增1。其中-r参数是用来建立系统帐号的。0~499是给系统帐号准备的。

 

举例:#groupadd magicSun //建立组账户magicSun

#grep magicSun /etc/group //查询group文件中magicSun组账户是否建立

#groupadd –r sysWang //建立系统组账户sysWang

#grep sysWang /etc/group //查询group文件中sysWang系统组账户是否建立

 

(5)修改组帐号:groupmod [-g ][-n][群组名称]

其中-o表示重复使用群组识别码

 

(6)删除组帐号:groupdel [群组名称]

【注意】必须先删除组中的用户才能删除该组

 

(7) 口令维护:passwd [-s][-l][-u][-d][用户名] 超级用户可以为每一位新增的用户设置口令,普通用户只能用不带参数的passwd命令来修改自己的口令。其中参数-s表示用于查询指定用户帐号的状 态,-l用户锁定帐号的口令,-u解锁帐号口令,-d删除指定帐号的口令。

 

(8)组用户成员维护:将一个账户添加到组、或将一个账户从组中删除、将一个账户设为组管理员。

添加用户到组:gpasswd –a 用户帐号名 组帐号名

从组中删除用户:gpasswd –d用户帐号名 组帐号名

设置用户为组管理员:gpasswd –A 组管理员用户列表 用户组

 

(9)用户和组的状态命令:

id [选项] [用户名称] 用于显示用户当前UID,gid以及所属群组的组列表

[选项]参数有:

-g :显示用户所属群组的id

-G:显示用户所属附加群组的id

-n:显示用户所属群组或附加群组的名称

-r:显示实际ID

-u:显示用户ID

whoami 用于显示登录者自身的名称(=id -un)

su [-flmp] [-][-c ][-s][用户帐号] //用来将当前用户转换为其他用户身份,暂时变更自己的登录身份,用其他人的身份来登录系统。前提是必须知道对方的口令。其中参数-c表示执行完指定的指 令后恢复原来的身份。-f适用于csh和tsch,使shell不用去读取启动文件。-表示改变身份时也同时变更工作目录,以及 HOME,SHELL,USER,LOGNAME,此外也会变更PATH环境变量。-m,-p 变更身份时不变更环境变量。-s 指定要执行的shell。若不指定要变更的用户账户,那么预设为root超级用户。

 

groups [用户名称] 用于显示指定用户所属的组,若未指定用户则显示当前用户所属组

来源:http://my.oschina.net/zhangqingcai/blog/32094

更多: https://help.ubuntu.com/13.04/serverguide/user-management.html

 

runlevel

查看当前的运行级别,Ubuntu 桌面默认是2。

runlevel

 

Ubuntu 的系统运行级别:

0        系统停机状态
1        单用户或系统维护状态
2~5      多用户状态
6        重新启动 
S

 

切换运行级别,执行命令:

init [0123456Ss]

 

即在 init 命令后跟一个参数,此参数是要切换到的运行级的运行级代号,如:用 init 0 命令关机;用 init 6 命令重新启动。

 

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  显示版本信息。


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

 

1、id 工具: 查询用户所对应的UID 和GID 及GID所对应的用户组;

id 工具是用来查询用户信息,比如用户所归属的用户组,UID 和GID等;id 用法极为简单;我们举个例子说明一下;语法格式: id [参数] [用户名]

至于有哪些参数,自己查一下 id --help 或man id ;如果id后面不接任何参数和任何用户,默认显示当前操作用户的用户名、所归属的用户组、UID和GID等;

实例一:不加任何参数和用户名;

[beinan@localhost ~]$ id
uid=500(beinan) gid=500(beinan) groups=500(beinan)

 

注解:在没有加任何参数的情况下,查询的是当前操作用户的用户名、UID 、GID 和所处的主用户组和附属用户组;在本例中,用户名是beinan,UID是500,所归属的主用户组是beinan,GID是500 ;


实例二: id 后面接用户名;

如果我们想查询系统中用户的UID和GID 相应的内容,可以直接接用户名,但用户名必须是真实的 ,能在/etc/passwd中查到的;

[beinan@localhost ~]$ id linuxsir
uid=505(linuxsir) gid=502(linuxsir) groups=502(linuxsir),0(root),500(beinan)
 

注解:查询用户linuxsir 的信息,用户linuxsir ,UID 为505,所归属的主用户组是linuxsir,主用户组的GID是502;同时linuxsir用户也是GID为0的root用户组成员,也是GID为500用户组beinan的成员;

这个例子和实例一在用户组方面有所不同,我们在 《Linux 用户(user)和用户组(group)管理概述》 中有提到;用户和用户组的对应关系,可以是一对一、一对多、多对一、或多对多的交叉关系,请参考之;另外您还需要掌握《用户(user)和用户组(group)配置文件详解》一文;

 

 

参考:Linux 账号管理与 ACL 权限配置

分享到:
评论

相关推荐

    Ubuntu系统管理用户的命令详解

    详细解释了如何管理用户和组

    Ubuntu Linux轻松入门(PPT)

    第六篇介绍Ubuntu用户和用户组的管理、备份和恢复、系统安全。 《Ubuntu Linux轻松入门(附DVD-ROM光盘1张)》涉及面广,内容详尽,语言精练易懂,实用性强,适用于那些具有Windows使用经验并想转而学习Linux的普通...

    Ubuntu入门(二) 用户权限 文件权限 磁盘管理 连接文件

    创建用户和用户组命令1.3.权限管理1.4.权限管理命令2.磁盘管理2.1.磁盘管理基本概念2.2.磁盘管理命令3.连接文件3.1.硬连接3.2.符号连接(软连接) 1.用户权限管理 1.1.用户系统 Ubuntu是多用户系统,使用用户账号的...

    Ubuntu权威指南(2/2)

    9.3 监控进程及系统资源 255 9.4 终止进程的运行 259 9.5 调整分时进程的优先级 261 9.5.1 nice命令 261 9.5.2 renice命令 263 9.5.3 调整进程优先级的作用 263 第10章 proc文件系统 265 10.1 进程内存映像文件 266 ...

    Ubuntu桌面指南

    2.3.6用户和组 3 添加、删除和更新应用程序 3.1 介绍 3.2 添加/删除应用程序 3.3 新立得软件包管理器 3.4 命令行软件包管理 3.4.1 APT 3.4.2 使用 APTonCD 来安装软件包 3.5 安装单个软件包文件 3.5.1安装/卸载 ....

    Linux命令讲解视频.rar

    目录 01 python高级课介绍 mp4 02操作系统 mp4 03-虚拟机软件 mp4 04-Ubuntu ...11-用户组相关操作 mp4 01第二天知识点回顾 mp4 02p命令选项-a的使用 mp4 03远程登录 mp4 04远程拷贝 .mp4 05vm的介绍 mp4

    Ubuntu权威指南(1/2)

    9.3 监控进程及系统资源 255 9.4 终止进程的运行 259 9.5 调整分时进程的优先级 261 9.5.1 nice命令 261 9.5.2 renice命令 263 9.5.3 调整进程优先级的作用 263 第10章 proc文件系统 265 10.1 进程内存映像文件 266 ...

    ubuntu server最佳方案(文字版).zip

    23.5.2 LVM卷组相关命令 360 23.5.3 LVM逻辑卷相关命令 363 23.6 添加新硬盘 365 23.6.1 插入新硬盘 365 23.6.2 配置RAID 365 23.6.3 在RAID上配置LVM 367 23.6.4 扩容文件系统 368 23.7 更换硬盘 368 23.8 ...

    UBUNTU桌面培训10.04 简体中文r1 PDF版

    3.1.1 网络管理器 ........................................... 58 3.1.2 使用电缆连接 ......................................... 59 3.1.3 使用ADSL连接 ..................................... 63 3.1.4...

    Quan-ly-nguoi-dung-va-nhom-nguoi-dung:管理用户和用户组

    人们使用和用户管理用户和用户组##第一的。 超级用户在Linux系统中,root帐户具有管理员(Administrator)使用的最高权限。 根目录在系统中具有最高权限,但是当系统由于某些错误而崩溃时,我们意识到使用根目录的...

    linux复习题

    2. 在超级用户下显示Linux系统中正在运行的全部进程,应使用的命令及参数是 ps -aux 。 3. 将前一个命令的标准输出作为后一个命令的标准输入,称之为 管道 。 4. /sbin 目录用来存放系统管理员使用的管理程序。 5. ...

    Ubuntu Debian(NGINX/PHP/MYSQL)快速配置工具LNMP云安装

    安装完成后,管理Nginx、PHP5、MySQL已经有标准管理命令,其状态管理沿用了Linux通用性。 Nginx状态管理 /etc/init.d/nginx {start|stop|restart|reload|force-reload|status|configtest}PHP5-FPM状态管理 /etc/init...

    linux基础教程 ubuntu

    第十七课 用户和组...........................................................................................80 第十八课 访问权限和文件所有者...............................................................

    Linux从入门到精通

    全书内容包括Linux概述、Linux安装、Linux基本配置、桌面环境基本操作、Shell基本命令、文件和目录管理、软件包管理、磁盘管理、用户与用户组管理、进程管理、网络配置、浏览网页、收发邮件、文件传输和共享、远程...

    UbuntuChina12

    9.3 监控进程及系统资源 255 9.4 终止进程的运行 259 9.5 调整分时进程的优先级 261 9.5.1 nice命令 261 9.5.2 renice命令 263 9.5.3 调整进程优先级的作用 263 第10章 proc文件系统 265 10.1 进程内存映像文件 266 ...

    大数据课程体系.pdf

    Linux 启动流程,运行级别详解,chkconfig 详解 nano 编辑器 Linux 权限管理:用户、组 Linux 权限管理:文件权限 rwx Linux 网络管理:hosts,hostname,ifconfig 安装 JDK Hadoop Hadoop 介绍,发展史,国内外现状...

    工控安全职业证书技能实践:系统账户安全权限配置实战.docx

    1创建一个新用户user1,并指定唯一的UID1001和指定主组为root 发现不允许,可能是由于我们现在的用户并不是管理员权限: 若使用具有管理员权限的用户登录时,将出现/#符号 若使用不具有管理员权限的用户登录时,将...

    (错发,发现不用分割,无法删除,请下载完整版)UBUNTU桌面培训10.04 简体中文PDF版(part1)

    3.1.1 网络管理器 ........................................... 58 3.1.2 使用电缆连接 ......................................... 59 3.1.3 使用ADSL连接 ..................................... 63 3.1.4...

    pako:通用软件包管理器库

    更聪明的脚本使用手工编写的代码来检测用户的平台,并在一些较流行的平台上聚合一组依赖项。 我们的方法是不同的: pako install libgdbm-devel sdl2-dev 在Ubuntu上,此命令将运行: sudo apt-get install -y ...

Global site tag (gtag.js) - Google Analytics