linux下查看用户及用户组的方法
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 xxqLogin: xxq Name:Directory: /home/xxq Shell: /bin/bashLast login Thu Jan 1 21:43 (CST) on tty1No mail.No Plan.$ fingerLogin Name Tty Idle Login Time Office Office Phoneroot 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。
Linux用户管理及用户信息查询
Linux⽤户管理及⽤户信息查询useradd 创建⽤户,更改⽤户信息 1.⼯作原理流程 使⽤此命令式,若不加任何参数选项,直接跟⽤户名,那么系统会⾸先读取/etc/login.defs(⽤户定义⽂件)和/etc/default/useradd(⽤户默认配置⽂件)⽂件中所定义的参数和规则,然后进⾏添加⽤户的操作,同时还会读取/etc/passwd(⽤户⽂件)和/etc/group(组⽂件),添加新⽤户和⽤户组信息,再向/etc/shadow(⽤户密码⽂件)和/etc/gshadow(组密码⽂件)添加对应的密码信息。
同时根据/etc/default/useradd定义的信息简历家⽬录,并将/etc/skel中的所有⽂件复制到新⽤户的家⽬录中。
eradd加-D参数:改变/etc/default/useradd定义的信息,也可以⼿动修改 例如,⽤户账号的停⽌⽇期,过期⽇期,使⽤的shell名称等,具体可参考配置⽂件 eradd不加-D参数: -c comment # ⽤户的说明栏 -d # 新⽤户家⽬录 -e # ⽤户终⽌⽇期 -f # ⽤户过期⼏⽇后永久停权,0时,⽤户⽴即被停权,-1时,关闭此功能 -g # 指定⽤户的⽤户组 -G # 定义⽤户多个不同组的成员 -m # ⽤户⽬录若是不存在,⾃动简历 -M # 布简历⽤户家⽬录,⼀般创建虚拟⽤户使⽤ -s # 指定⽤户的shell程序 -u # ⽤户的uid值设定[root@centos7 ~]# useradd ett[root@centos7 ~]# ls -ld /home/ett/drwx------ 2 ett ett 62 Apr 1815:52 /home/ett/[root@centos7 ~]# grep -w ett /etc/passwdett:x:1000:1000::/home/ett:/bin/bash[root@centos7 ~]# grep -w ett /etc/shadowett:!!:18004:0:99999:7:::[root@centos7 ~]# grep -w ett /etc/groupett:x:1000:[root@centos7 ~]# grep -w ett /etc/gshadowett:!::[root@centos7 ~]# useradd -u 901 -g sa xiaoliziuseradd: group 'sa' does not exist[root@centos7 ~]# groupadd sa[root@centos7 ~]# useradd -u 901 -g sa xiaolizi[root@centos7 ~]# id xiaoliziuid=901(xiaolizi) gid=1001(sa) groups=1001(sa)[root@centos7 ~]# useradd -M -s /sbin/nologin xiaolizi2[root@centos7 ~]# grep -w xiaolizi2 /etc/passwdxiaolizi2:x:1001:1002::/home/xiaolizi2:/sbin/nologinusermod ⽤于修改系统已经存在的⽤户的账号信息 ⽤法参数与useradd类似userdel 删除⽤户 # ⼯作中及你浪不要随意删除⽤户,请在/etc/passed⾥⾯采⽤注释的⽅式 -f # 强制删除⽤户,即使⽤户当前已登录 -r # 删除⽤户的同事,删除与⽤户相关的所有⽂件[root@centos7 ~]# tail -3 /etc/passwdett:x:1000:1000::/home/ett:/bin/bashxiaolizi:x:901:1001::/home/xiaolizi:/bin/bashxiaolizi2:x:1001:1002::/home/xiaolizi2:/sbin/nologin[root@centos7 ~]# userdel -r xiaolizi[root@centos7 ~]# userdel -r xiaolizi2userdel: xiaolizi2 home directory (/home/xiaolizi2) not found[root@centos7 ~]# tail -3 /etc/passwdpostfix:x:89:89::/var/spool/postfix:/sbin/nologinchrony:x:998:996::/var/lib/chrony:/sbin/nologinett:x:1000:1000::/home/ett:/bin/bash[root@centos7 ~]# id ettuid=1000(ett) gid=1000(ett) groups=1000(ett)[root@centos7 ~]# vim /etc/passwd # 将⽤户注释掉[root@centos7 ~]# tail -3 /etc/passwdpostfix:x:89:89::/var/spool/postfix:/sbin/nologinchrony:x:998:996::/var/lib/chrony:/sbin/nologin#ett:x:1000:1000::/home/ett:/bin/bash[root@centos7 ~]# id ettid: ett: no such user[root@centos7 tmp]# cat /tmp/xiaolizi.log |awk '{print $1}'|sed -r 's#(.*)#"userdel -r \1";echo -e "`userdel -r \1`">/tmp/userdel.log#g'|bashgroupadd ⽤于创建新的⽤户组,⽤途⼀般不多,主要是因为useradd创建⽤户时会默认创建⽤户组 -g gid # 指定⽤户组的gid,从500开始 -f # 新增⼀个账户,强制覆盖⼀个已经存在的组账号groupdel 删除⽤户组 后⾯直接跟⽤户组的名称即可passwd 修改⽤户密码及密码过期时间等内容 -k # 为密码已经过期的⽤户更新有效期 -l # 锁定⽤户,被多订的⽤户不能登录,,只有root权限才能设置 --stdin # 从标准输⼊读取密码字符串,免交互 -u # 解除对⽤户的锁定,只有root权限才能设置 -d # 删除⽤户密码,使密码为空,仅root⽤户有权使⽤该选项 -e # 使⽤户密码⽴即过期,在⽤户下次登录时强制要求⽤户修改密码 -n # 设置修改密码最短天数 -x # 设置修改密码最长天数 -w # 设置⽤户在密码过期前收到警告信息天数 -i # 设置密码过期后多少天后禁⽤账户 -S # 显⽰⽤户密码相关的简单描述 [root@centos7 ~]# passwd # 在当前⽤户下修改密码Changing password for user root.New password:BAD PASSWORD: The password is shorter than 8 characters # 设置密码过于简单会警告,不影响Retype new password:passwd: all authentication tokens updated successfully. # 成功设置密码[root@centos7 ~]# useradd xiaolizi01 # 创建个新⽤户[root@centos7 ~]# passwd xiaolizi01 Changing password for user xiaolizi01.New password:BAD PASSWORD: The password is shorter than 8 charactersRetype new password:passwd: all authentication tokens updated successfully.[root@centos7 ~]# passwd -S xiaolizi01 # 显⽰账号密码信息xiaolizi01 PS 2019-04-180999997 -1 (Password set, SHA512 crypt.)[root@centos7 ~]# echo"123456"|passwd --stdin xiaolizi01 # 免交互式设置密码Changing password for user xiaolizi01.passwd: all authentication tokens updated successfully.[root@centos7 ~]# passwd -n 7 -x 60 -w10 -i 30 xiaolizi01 # 设置⽤户7天内不能更改密码,60天以后必须修改密码,过期前10天通知⽤户,过期后30天禁⽌⽤户登录Adjusting aging data for user xiaolizi01.passwd: Success[root@centos7 ~]# chage -l xiaolizi01 # 查看⽤户设置的列表Last password change : Apr 18, 2019Password expires : Jun 17, 2019Password inactive : Jul 17, 2019Account expires : neverMinimum number of days between password change : 7 -nMaximum number of days between password change : 60 -xNumber of days of warning before password expires : 10 -w# 批量创建⽤户,随机设置8位密码--------,拼凑命令,交给bash执⾏[root@centos7 tmp]# echo stu{01..10}|tr"""\n"|sed -r 's#(.*)#useradd \1;pass=$((RANDOM+10000000));echo "$pass"|passwd --stdin \1;echo -e "\1 `echo "$pass"`">>/tmp/xiaolizi.log#g' |bash Changing password for user stu01.passwd: all authentication tokens updated successfully.Changing password for user stu02.passwd: all authentication tokens updated successfully.Changing password for user stu03.passwd: all authentication tokens updated successfully.Changing password for user stu04.passwd: all authentication tokens updated successfully.Changing password for user stu05.passwd: all authentication tokens updated successfully.Changing password for user stu06.passwd: all authentication tokens updated successfully.Changing password for user stu07.passwd: all authentication tokens updated successfully.Changing password for user stu08.passwd: all authentication tokens updated successfully.Changing password for user stu09.passwd: all authentication tokens updated successfully.Changing password for user stu10.passwd: all authentication tokens updated successfully.[root@centos7 tmp]# cat /tmp/xiaolizi.logstu01 10016083stu02 10012250stu03 10018657stu04 10015755stu05 10010848stu06 10016321stu07 10011326stu08 10022713stu09 10028841stu10 10001627chage 查看或修改⽤户密码有效期,有些参数⽤法与passwd相同 -l # 显⽰账号有效期的信息 -M -W -X相当于passwd⾥⾯对应的⼩写字母作⽤chpasswd ⽤于从标准输⼊中读取⼀定格式的⽤户名,密码来批量更新⽤户密码,其格式为“⽤户名:密码”[root@centos7 tmp]# echo stu{01..10}:$((RANDOM+10000000))|tr"""\n" >/tmp/chpasswd.xt[root@centos7 tmp]# cat /tmp/chpasswd.xtstu01:10027593stu02:10031643stu03:10014680stu04:10030420stu05:10002831stu06:10010814stu07:10026730stu08:10015381stu09:10006139stu10:10008308[root@centos7 tmp]# chpasswd </tmp/chpasswd.xt[root@centos7 tmp]# su - stu01[stu01@centos7 ~]$ su - stu02Password:[stu02@centos7 ~]$ whoamistu02su 从当前⽤户切换到指定⽤户或者以指定⽤户的⾝份执⾏命令或程序 -c # 向shell传递单个命令 - # 切换⽤户是,将⽤户的家⽬录,系统环境等重新按切换后的⽤户初始化[stu02@centos7 ~]$ whoamistu02[stu02@centos7 ~]$ su - rootPassword:Last login: Thu Apr 1816:40:08 CST 2019 from 10.0.0.1 on pts/2[root@centos7 ~]# whoamiroot# 使系统在每⼀次开机时都能⾃动以普通⽤户启动指定的服务脚本[root@centos7 ~]# echo"su - oldboy -c '/bin/sh /service/scripts/deploy.sh'">> /etc/rc.localvisudo 此命令专门⽤来编辑/etc/sudoers这个⽂件的,同时提供语法检查,是sudo命令的配置⽂件 -c # ⼿动执⾏语法检查 ⼀般⽤于授权⽤户权限的## Allows people in group wheel to run all commands%wheel ALL=(ALL) ALLsudo 可以让普通⽤户在执⾏指定的命令或层序上,拥有超级⽤户的权限,进⾏分类,并有针对性的命令授予指定的普通⽤户 -l # 列出当前⽤户可执⾏的命令 -u # 以指定⽤户的⾝份执⾏命令id 显⽰指定⽤户真实有效的UID和GID等信息[root@centos7 tmp]# id rootuid=0(root) gid=0(root) groups=0(root)[root@centos7 tmp]# id xiaolizi01uid=1001(xiaolizi01) gid=1002(xiaolizi01) groups=1002(xiaolizi01)w 显⽰已经登录系统的⽤户,并显⽰⽤户正在执⾏命令 -h # 不显⽰前两⾏标题信息 -u # 忽略执⾏程序的名称,以及CPU时间的信息 -s # 使⽤短输出格式[root@centos7 tmp]# w18:03:13 up 4:02, 3 users, load average: 0.00, 0.01, 0.05USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 13:454:17m 0.02s 0.02s -bashroot pts/110.0.0.115:451:43m 0.29s 0.02s -bashroot pts/210.0.0.116:401.00s 0.12s 0.00s w[root@centos7 tmp]# w -hroot tty1 13:454:19m 0.02s 0.02s -bashroot pts/110.0.0.115:451:44m 0.29s 0.02s -bashroot pts/210.0.0.116:403.00s 0.12s 0.00s w -h[root@centos7 tmp]#who 显⽰已登录⽤户的信息,w的精简版 -a # 显⽰所有信息 -b # 显⽰系统的启动时间 -d # 显⽰已死的进程 -H # 显⽰标题,默认不显⽰ -l # 显⽰登录进程[root@centos7 tmp]# whoroot tty1 2019-04-1813:45root pts/12019-04-1815:45 (10.0.0.1)root pts/22019-04-1816:40 (10.0.0.1)[root@centos7 tmp]# who -bsystem boot 2019-04-1813:44[root@centos7 tmp]# who -dpts/02019-04-1817:571679id=ts/0 term=0 exit=0[root@centos7 tmp]# who -l[root@centos7 tmp]# who -HNAME LINE TIME COMMENTroot tty1 2019-04-1813:45root pts/12019-04-1815:45 (10.0.0.1)root pts/22019-04-1816:40 (10.0.0.1)[root@centos7 tmp]# who -H -aNAME LINE TIME IDLE PID COMMENT EXIT system boot 2019-04-1813:44root + tty1 2019-04-1813:4504:22911run-level 32019-04-1813:45pts/02019-04-1817:571679id=ts/0 term=0 exit=0 root + pts/12019-04-1815:4501:4716283 (10.0.0.1)root + pts/22019-04-1816:40 . 16574 (10.0.0.1)[root@centos7 tmp]#whoami 显⽰当前登录的⽤户名last 从⽇志⽂件/var/log/wtmp读取信息并显⽰⽤户最近的登录列表 -n num # 指定显⽰结果的⾏数[root@centos7 ~]# ll /var/log/wtmp-rw-rw-r--. 1 root utmp 29568 Apr 1817:57 /var/log/wtmp[root@centos7 ~]# less /var/log/wtmp"/var/log/wtmp" may be a binary file. See it anyway?[root@centos7 ~]# lastroot pts/210.0.0.1 Thu Apr 1816:40 still logged inroot pts/110.0.0.1 Thu Apr 1815:45 still logged inlastb 从/var/log/btmp中读取信息,并显⽰登录失败的记录,⽤于发现系统异常登录 [root@centos7 ~]# lastbroot tty1 Sat Oct 2700:26 - 00:26 (00:00)(unknown tty1 Fri Oct 2623:35 - 23:35 (00:00)btmp begins Fri Oct 2623:35:312018lastlog 显⽰所有⽤户的最近登录记录,异常记录,从/var/log/lastlog中读取信息[root@centos7 ~]# lastlogUsername Port From Latestroot pts/2 Thu Apr 1817:16:05 +08002019bin **Never logged in**daemon **Never logged in**adm **Never logged in**lp **Never logged in**sync **Never logged in**shutdown **Never logged in**halt **Never logged in**mail **Never logged in**operator **Never logged in**games **Never logged in**ftp **Never logged in**nobody **Never logged in**systemd-network **Never logged in**dbus **Never logged in**polkitd **Never logged in**tss **Never logged in**abrt **Never logged in**sshd **Never logged in**postfix **Never logged in**chrony **Never logged in**xiaolizi01 pts/1 Thu Apr 1816:17:20 +08002019。
Linux中使用useradd和userdel命令管理用户和用户组
Linux中使用useradd和userdel命令管理用户和用户组Linux系统是一种开源的操作系统,广泛应用于服务器和嵌入式设备中。
在Linux中,用户和用户组的管理是非常重要的一项任务。
本文将介绍如何使用useradd和userdel命令来管理用户和用户组。
一、用户管理1. 添加用户在Linux中,可以使用useradd命令来添加用户。
下面是使用useradd命令添加用户的基本语法:useradd [选项] 用户名例如,要添加一个名为"john"的用户,可以使用以下命令:useradd john默认情况下,useradd命令将在/home目录下创建一个与用户名相同的子目录作为用户的家目录。
如果需要指定其他目录作为用户的家目录,可以使用-d选项,如下所示:useradd -d /data/john john2. 设置用户密码添加完用户后,下一步是为用户设置密码。
使用passwd命令可以为用户设置密码。
下面是passwd命令的基本语法:passwd 用户名例如,要为"john"用户设置密码,可以使用以下命令:passwd john系统会提示您输入新密码,并要求确认密码。
请务必选择一个安全的密码,并妥善保管。
3. 修改用户信息Linux中还可以使用usermod命令来修改用户的信息,包括用户名、家目录、用户ID等。
下面是usermod命令的基本语法:usermod [选项] 用户名例如,要将"john"用户的家目录修改为/data/john,并将其用户ID修改为1001,可以使用以下命令:usermod -d /data/john -u 1001 john4. 删除用户如果不再需要某个用户,可以使用userdel命令将其从系统中删除。
下面是userdel命令的基本语法:userdel 用户名例如,要删除名为"john"的用户,可以使用以下命令:userdel john二、用户组管理1. 添加用户组在Linux中,可以使用groupadd命令来添加用户组。
Linux终端命令的多用户和多任务管理技巧合理利用系统资源
Linux终端命令的多用户和多任务管理技巧合理利用系统资源在Linux操作系统中,终端命令是管理系统资源的重要工具。
合理利用多用户和多任务管理技巧,可以提高系统的运行效率和资源利用率。
本文将介绍Linux终端命令中的一些技巧,帮助读者更好地管理多用户和多任务。
1. 用户管理在Linux中,可以创建多个用户账户,并为每个账户分配独立的权限和资源。
以下是一些常用的用户管理命令:1.1 创建用户账户:sudo adduser username通过执行此命令,可以创建一个新的用户账户,并指定用户名为"username"。
1.2 删除用户账户:sudo deluser username通过执行此命令,可以删除指定的用户账户及其相关文件和目录。
1.3 修改用户密码:sudo passwd username通过执行此命令,可以修改指定用户的密码。
1.4 查看用户列表:cat /etc/passwd通过执行此命令,可以查看系统中所有用户的列表。
1.5 切换用户:su username通过执行此命令,可以切换当前用户身份为指定用户。
2. 进程管理在Linux中,可以同时运行多个进程,通过合理管理进程,可以提高系统资源的利用率。
以下是一些常用的进程管理命令:2.1 查看进程列表:ps -ef通过执行此命令,可以查看系统中所有正在运行的进程。
2.2 杀死进程:sudo kill pid通过执行此命令,可以杀死指定pid的进程。
2.3 后台运行进程:command &通过在命令结尾处添加&符号,可以使命令在后台运行,不阻塞终端。
2.4 切换前后台进程:Ctrl+Z、fg、bg通过Ctrl+Z可以将当前前台进程暂停,并放入后台,通过fg命令可以将后台进程切换到前台运行,通过bg命令可以将暂停的前台进程切换到后台运行。
3. 资源监控在Linux中,可以通过一些命令来监控系统的资源利用情况,帮助用户合理安排任务。
linux下添加,删除,修改,查看用户和用户组
linux下添加,删除,修改,查看用户和用户组1,创建组groupadd test增加一个test组2,修改组groupmod -n test2 test将test组的名子改成test23,删除组groupdel test2删除组test24,查看组a),查看当前登录用户所在的组groups,查看apacheuser所在组groups apac一,组操作1,创建组groupadd test增加一个test组2,修改组groupmod -n test2 test将test组的名子改成test23,删除组groupdel test2删除组test24,查看组a),查看当前登录用户所在的组groups,查看apacheuser所在组groups apacheuserb),查看所有组cat /etc/groupc),有的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 –helpUsage: useradd [options] LOGINOptions:-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 --helpUsage: useradd [options] LOGINOptions:-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增加一个用户后,不要忘了给他设置密码,不然不能登录的。
Linux下基本的查看用户和管理用户密码命令
Linux下基本的查看⽤户和管理⽤户密码命令查看⽤户a),查看当前登录⽤户复制代码代码如下:[root@krlcgcms01 ~]# w功能说明:显⽰⽬前登⼊系统的⽤户信息。
语 法:w [-fhlsuV][⽤户名称]补充说明:执⾏这项指令可得知⽬前登⼊系统的⽤户有那些⼈,以及他们正在执⾏的程序。
单独执⾏w指令会显⽰所有的⽤户,您也可指定⽤户名称,仅显⽰某位⽤户的相关信息。
参 数:-f 开启或关闭显⽰⽤户从何处登⼊系统。
-h 不显⽰各栏位的标题信息列。
-l 使⽤详细格式列表,此为预设值。
-s 使⽤简洁格式列表,不显⽰⽤户登⼊时间,终端机阶段作业和程序所耗费的CPU时间。
-u 忽略执⾏程序的名称,以及该程序耗费CPU时间的信息。
-V 显⽰版本信息。
复制代码代码如下:[root@krlcgcms01 ~]# 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 显⽰版本信息。
b),查看⾃⼰的⽤户名复制代码代码如下:[root@krlcgcms01 ~]# whoami功能说明:先似乎⽤户名称。
青蛙学Linux—用户、组、权限和文件属性
青蛙学Linux—⽤户、组、权限和⽂件属性1、⽤户和组1.1、⽤户⾓⾊在Linux下有以下三种⾓⾊⽤户:1. 超级⽤户:拥有对系统的最⾼管理权限的⽤户,默认⽤户名为root。
需要注意的是,与Windows下的超级管理员Administrator不同,root⽤户在Linux下拥有最⾼的权限,你可以使⽤root⽤户运⾏rm –rf /*命令删除整个系统,⽽Administrator⽤户不允许删除系统⽂件(其实Windows下的最⾼权限⽤户为System,只是Windows限制了使⽤System⽤户登录的⾏为)。
2. 普通⽤户:只能操作⾃⼰⽬录下的⽂件或者经过授权的⽂件,能够登录操作系统。
3. 虚拟⽤户:也叫伪⽤户,⽆法登录操作系统。
这类⽤户的存在主要是为了系统管理的⽅便,满⾜相应的系统进程对于⽂件属主(即权限)的要求。
这类⽤户指向的shell为/sbin/nologin,使⽤该shell的⽤户⽆法登录系统且⽆法通过su命令切换到该⽤户。
1.2、⽤户和组之间的关系在Linux系统下,当⼀个⽤户被创建时,系统将创建⼀个与⽤户同名的组,该⽤户为该组中的唯⼀⽤户。
当然,⼀个⽤户也可以加⼊其他的组。
⽤户和组具有以下⼏种关系:⼀对⼀:即⼀个⽤户可以存在⼀个组中,同时也是该组中的唯⼀成员⼀对多:即⼀个⽤户可以存在多个⽤户组中,那么此⽤户具有多个组的共同权限多对⼀:多个⽤户可以存在⼀个组中,这些⽤户具有和组相同的权限多对多:多个⽤户可以存在多个组中,其实就是上⾯三个对应关系的扩展1.3、⽤户和组的相关配置⽂件1.3.1、/etc/passwd该⽂件是系统的⽤户配置⽂件,是⽤户管理中最重要的⼀个⽂件。
记录了系统中每个⽤户的基本属性,对所有⽤户可读,但只有root⽤户可写。
以下来分析下该⽂件的内容(仅截取⽂件的⼀部分):⽂件中的每⾏内容以冒号分隔,每个字段表⽰的具体含义如下:①:⽤户名②:密码,但是⽤户真正的密码不是保存在这⾥,⽽是在另外⼀个⽂件③:UID,⽤户ID④:GID,⽤户所属的组的ID⑤:⽤户注释⑥:⽤户家⽬录⑦:⽤户的默认shell1.3.2、/etc/shadow该⽂件可以称为/etc/passwd的影⼦⽂件,存储的就是经过加密的⽤户密码。
Linux 用户(User)查询篇
作者:北南南北赞助:来自:摘要:本文主要介绍在用户管理中,查询用户的几种工具介绍id 、finger、groups 以及w、who、users ;目录索引一、用户查询工具的原理;二、用户(User)和用户组(Group)查询工具;1、id 工具: 查询用户所对应的UID 和GID 及GID所对应的用户组;2、finger 工具:用来查询用户信息,侧重用户家目录、登录SHELL等;3、查询登录主机的用户工具:w 、who 、users4、groups 用户所归属的用户组查询;三、后记;四、参与修正本文;五、致谢;六、相关文档;++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++正文++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++一、用户查询工具的原理;在用户管理中,用户查询是通过几个常用的工具来完成的,比如id 、finger、groups、users ... ... ,我们都知道用户的配置文件是/etc/passwd,用户组的配置文件是/etc/groups 文件,我们对用户的查询除了通过查询工具以外,我们还能直接查看用户和用户组的配置文件来达到查询的目的;用户查询工具的原理也是读取与用户和用户组有关的配置文件,然后按一定的规则和条件输出,用户和用户组配置文件很重要,所以您有必要先读一下关有用户管理的文档:《Linux 用户(user)和用户组(group)管理概述》《用户(user)和用户组(group)配置文件详解》二、用户(User)和用户组(Group)查询工具;1、id 工具: 查询用户所对应的UID 和GID 及GID所对应的用户组;id 工具是用来查询用户信息,比如用户所归属的用户组,UID 和GID等;id 用法极为简单;我们举个例子说明一下;语法格式: id [参数] [用户名]至于有哪些参数,自己查一下id --help 或man id ;如果id后面不接任何参数和任何用户,默认显示当前操作用户的用户名、所归属的用户组、UID和GID等;实例一:不加任何参数和用户名;[beinan@localhost ~]$ iduid=500(beinan) gid=500(beinan) groups=500(beinan)注解:在没有加任何参数的情况下,查询的是当前操作用户的用户名、UID 、GID 和所处的主用户组和附属用户组;在本例中,用户名是beinan,UID是500,所归属的主用户组是beinan,GID是500 ;实例二:id 后面接用户名;如果我们想查询系统中用户的UID和GID 相应的内容,可以直接接用户名,但用户名必须是真实的,能在/etc/passwd中查到的;[beinan@localhost ~]$ id linuxsiruid=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)配置文件详解》一文;2、finger 工具:用来查询用户信息,侧重用户家目录、登录SHELL等;finger 工具侧重于用户信息的查询;查询的内容包括用户名(也被称为登录名Login),家目录,用户真实的名字(Name)... ... 办公地址、办公电话;也包括登录终端、写状态、空闭时间等;我们最常用finger 来查询用户家目录、用户真实名、所用SHELL 类型、以及办公地址和电话,这是以参数-l 长格式输出的;而修改用户的家目录、真实名字、办公地址及办公电话,我们一般要能过chfn命令进行;语法格式:finger [参数选项] [用户名]-l 采用长格式(默认),显示由-s选项所包含的所有信息,以及主目录、办公地址、办公电话、登录SHELL、邮件状态、.plan、.project和.forward;-m 禁止对用户真实名字进行匹配;-p 把.plan和.project文件中的内容省略;-s 显示短格式,用户名(也被称为登录名Login)、真实名字(NAME)、在哪个终端登录(Tty)、写状态、空闲时间(Idle)、登录时间(Login Time)、办公地点、办公电话等;至于finger 有哪些参数,您可以通过finger --help 或man finger 来获取,我们在本文中以实例讲述最常用的参数;实例一:不接任何参数,也不指定查询用户名;默认为加了-s参数;[beinan@localhost ~]$ fingerLogin Name Tty Idle Login Time Office Office Phonebeinan beinan sun tty1 1:39 Nov 2 08:27linuxsir linuxsir open tty2 2 Nov 2 10:03 linuxsir o +1-389-866-771等价命令[beinan@localhost ~]$ finger -s注解:不加任何参数,也没有指定查询哪个用户,finger 会以默认以短格-s 来输出登录本机的所有用户的用户名(也被称为登录名Login)、真实名字(NAME)、在哪个终端登录(Tty)、写状态、空闲时间(Idle)、登录时间(Login Time)、办公地点、办公电话等;在这个例子中,有beinan用户登录,真实名字是beinan sun (这个名字是用户的真实名字,如果在添加用户时没有设置,是不会显示的),在tty1终端登录,空闭时间是1分39秒,登录时间是Nov /2/08:27 ,没有办公室名称,没有办公电话;请对照本例中beinan用户记录的解说,我们来看看本例中的linuxsir用户信息;应该不难。
Linux 用户组的相关命令
Linux 用户组的相关命令在Linux系统中,对管理用户组进行管理,除了使用图形化界面操作外,还可以使用命令关键字来进行操作。
下面将介绍怎么通过命令管理用户组信息。
1.查看用户组帐户信息使用tail命令来查看用户组帐户信息,它可以从指定点开始将File参数指定的文件标准输出。
语法格式如下所示:语法格式:或者其中,Number变量指定将多少单元写入标准输出。
Number变量的值可以是正的或负的整数。
如果值的前面有“+(加号)”,从文件开头指定的单元数开始将文件写到标准输出。
如果值的前面有“-(减号)”,则从文件末尾指定的单元数开始将文件写到标准输出。
如果值前面没有“+(加号)”或“-(减号)”,那么从文件末尾指定的单元号开始读取文件。
在该命令中各参数介绍如表9所示:序】|【附件】|【终端】命令,打开【终端】窗口。
然后,在【终端】窗口中,输入“tail /etc/group”命令并按键,完成查看用户组帐户信息的操作,如图34所示。
图34 查看用户组帐户信息2.创建用户组创建用户组可以使用groupadd命令,它用于在系统中创建一个新的用户组帐户,该用户组帐户的组标识码GID大于500。
语法格式如下所示,命令中所有参数介绍如表10所示。
表10 groupadd命令参数介绍:在使用“-g”参数时GID被指定为惟一值,除非使用“-o”参数。
而GID数值不可为负。
预设为最小不得小于500,而逐次增加0~999传统上是保留给系统帐号使用。
而“-r”参数是用来建立系统帐号的UID。
但需注意的是通过useradd命令建立的用户帐户不会建立用户帐户目录,如果用户想要创建用户帐户目录须额外指定“-m“参数来建立系统帐号。
这是RedHat额外增设的选项。
它会自动帮用户选定一个小于999的GIF不需要再加上“-g”参数。
“-f”新增一个已经存在的群组帐号,系统会出现错误信息,然后结束groupadd。
例如,创建一个feng的用户组,并指定组ID号。
Linux查看用户命令
Linux查看⽤户命令1、Linux⾥查看所有⽤户(1)在终端⾥.其实只需要查看 /etc/passwd⽂件就⾏了.(2)看第三个参数:500以上的,就是后⾯建的⽤户了.其它则为系统的⽤户.或者⽤cat /etc/passwd |cut -f 1 -d :2、⽤户管理命令useradd :添加⽤户adduser :添加⽤户passwd :为⽤户设置密码usermod :修改⽤户命令,可以通过usermod 来修改登录名、⽤户的家⽬录等等;pwcov :同步⽤户从/etc/passwd 到/etc/shadowpwck :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 :显⽰⽤户所属的⽤户组grpckgrpconv :通过/etc/group和/etc/gshadow 的⽂件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;grpunconv :通过/etc/group 和/etc/gshadow ⽂件内容来同步或创建/etc/group ,然后删除gshadow⽂件扩展资料:Shell是系统的⽤户界⾯,提供了⽤户与内核进⾏交互操作的⼀种接⼝。
linux下查看用户及用户组的方法
-e<有效期限> 指定帐号的有效期限。
-f<缓冲天数> 指定在密码过期后多少天即关闭该帐号。
-g<群组> 指定用户所属的群组。
-G<群组> 指定用户所属的附加群组。
-m 自动建立用户的登入目录。
-M 不要自动建立用户的登入目录。
-n 取消建立以用户名称为名的群组.
-s 此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题。
-w或-T或--mesg或--message或--writable 显示用户的信息状态栏。
--help 在线帮助。
--version 显示版本信息。
----------------------------------------------------
finger命令
finger命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。
该命令的一般格式为:
No mail.
No Plan.
$ finger
Login Name Tty Idle Login Time Office Office Phone
root root *1 28 Nov 25 09:17
……
------------------------------------------------------------------
-u 修改用户ID。
-U 解除密码锁定。
