1. linux怎么查看用户属于哪些组
linux查看用户所属组有很多方法:
1. 命令groups 查看当前用户所属组
2. groups 用户(查看用户所属组)
3. id 用户(查看用户所属组)
4. 直接查看组文件,more /etc/group 组用户
2. linux查看群组中有哪些用户的命令是什么
最最简单可行的命令就是使用 moe 命令查看 /etc/group 文件即可。如下所示:
$more /etc/group <cr>
示例内容如下:
root:x:1001:my_root,admin,my_admin
则表示root这个组有三个用户:my_root, admin, my_admin。其他行依此类推。
3. linux怎么查看用户组里有哪些用户
groups查看当前登录用户的组内成员
groupsgliethttp查看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的用户名;
三、用户(user)和用户组(group)相关的配置文件、命令或目录;
1、与用户(user)和用户组(group)相关的配置文件;
1)与用户(user)相关的配置文件;
/etc/passwd注:用户(user)的配置文件;
/etc/shadow注:用户(user)影子口令文件;
2)与用户组(group)相关的配置文件;
/etc/group注:用户组(group)配置文件;
/etc/gshadow注:用户组(group)的影子文件;
2、管理用户(user)和用户组(group)的相关工具或命令;
1)管理用户(user)的工具或命令;
useradd注:添加用户
adser注:添加用户
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是通过另一个用户来执行命令(executeacommandasanotheruser),su是用来切换用户,然后通过切换到的用户来完成相应的任务,
但sudo能后面直接执行命令,比如sudo不需要root密码就可以执行root赋与的执行只有root才能执行相应的命令;但得通过visudo来编辑/etc/sudoers来实现;
visudo注:visodo是编辑/etc/sudoers的命令;也可以不用这个命令,直接用vi来编辑/etc/sudoers的效果是一样的;
sudoedit注:和sudo功能差不多;
2)管理用户组(group)的工具或命令;
groupadd注:添加用户组;
groupdel注:删除用户组;
groupmod注:修改用户组信息
groups注:显示用户所属的用户组
grpckgrpconv注:通过/etc/group和/etc/gshadow的文件内容来同步或创建/etc/gshadow,如果/etc/gshadow不存在则创建;
grpunconv注:通过/etc/group和/etc/gshadow文件内容来同步或创建/etc/group,然后删除gshadow文件;
4、/etc/login.defs配置文件;
/etc/login.defs文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的;
比如Fedora的/etc/logins.defs文件内容;
#*REQUIRED*#Directorywheremailboxesreside,_or_nameoffile,relativetothe#homedirectory.Ifyou_do_defineboth,MAIL_DIRtakesprecedence.
#QMAIL_DIRisforQmail
##QMAIL_DIRMaildirMAIL_DIR/var/spool/mail注:创建用户时,要在目录/var/spool/mail中创建一个用户mail文件;#MAIL_FILE.mail
#Passwordagingcontrols:#
#PASS_MAX_.
#PASS_MIN_.
#PASS_MIN_.
#PASS_WARN_.
#PASS_MAX_DAYS99999注:用户的密码不过期最多的天数;
PASS_MIN_DAYS0注:密码修改之间最小的天数;
PASS_MIN_LEN5注:密码最小长度;
PASS_WARN_AGE7注:#
#Min/
#UID_MIN500注:最小UID为500,也就是说添加用户时,UID是从500开始的;UID_MAX60000注:最大UID为60000;#
#Min/#GID_MIN500注:GID是从500开始;GID_MAX60000#
#Ifdefined,.
#Itshouldremoveanyat/cron/printjobsetc.ownedby
#theusertoberemoved(passedasthefirstargument).#
#USERDEL_CMD/usr/sbin/userdel_local#
#
#OnRHsystems,wedo.ThisoptionisORedwiththe-mflagon
#useraddcommandline
.#CREATE_HOMEyes注:是否创用户家目录,要求创建;
5、/etc/default/useradd文件;
通过useradd添加用户时的规则文件;
#useradddefaultsfile
GROUP=100
HOME=/home注:把用户的家目录建在/home中;
INACTIVE=-1注:是否启用帐号过期停权,-1表示不启用;
EXPIRE=注:帐号终止日期,不设置表示不启用;
SHELL=/bin/bash注:所用SHELL的类型;
SKEL=/etc/skel注:默认添加用户的目录默认文件存放位置;也就是说,当我们用adser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的;
后记:
关于用户(user)和用户组(group)管理内容大约就是这么多;只要把上面所说的内容了解和掌握,用户(user)和用户组(group)管理就差不多了;由于用户(user)和用户组(group)是和文件及目录权限联系在一起的,所以文件及目录权限的操作也会独立成文来给大家介绍;
本文只是让新手弟兄明白用户(user)和用户组(group)一些原理,所以我在写此文的时候,大多是解说内容,我的意思是通过解说和索引一些命令,让新手弟兄明白一点理论是比较重要的,技术操作无非是命令的用法;
linux的用户信息保存在/etc/passwd文件中,另外,/etc/shadow文件存放的是用户密码相关信息。
/etc/passwd文件格式:
用户名:密码:UID:GID:用户信息:HOME目录路径:用户shell
其中UID为0则是用户root,1~499为系统用户,500以上为普通用户
/etc/shadow保存用户密码信息,包括加密后的密码,密码过期时间,密码过期提示天数等。
用户组信息保存在/etc/group文件中.
格式如下:
用户组名:组密码:GID:组内帐号(多个帐号用逗号分隔)
用户登录后,/etc/passwd文件里的GID为用户的初始用户组。
用户的初始用户组这一事实不会再/etc/group中体现。
新建用户命令:
[root@localopt]#useradd用户名-g初始用户组-G其他用户组(修改/etc/group)-c用户说明-u指定UID
建完用户需要为用户设置密码:
[root@localopt]#passwd用户名
用户要修改自己密码命令:
[root@localopt]#passwd
修改用户信息命令:
[root@localopt]#usermod参数用户名
参数:
-c说明
-g组名初始用户组
-e过期日期格式:YYYY-MM-DD
-G组名其他用户组
-l修改用户名
-L锁定账号(在/etc/shadow文件中用户对应密码密码串的前面加上两个叹号(!!))
-U解锁
删除用户命令:
[root@localopt]#userdel[-r]用户名
其中,参数-r为删除用户的home目录。
其实,可能在系统其他地方也有该用户文件,要完整删除一个用户和其文件要先找到属于他的文件:
[root@localopt]#find/-user用户名
然后删除,再运行userdel删除用户。
查看可用shell命令:
[root@localopt]#chsh-l
修改自己的shell命令:
[root@localopt]#chsh-s
查看自己或某人UID/GID信息:
[root@localopt]#id[用户名]
返回信息中groups为有效用户组
新增用户组命令:
[root@localopt]#groupadd用户组名
修改用户组名命令:
[root@localopt]#groupmod-n名称
删除用户组命令:
[root@localopt]#groupdel用户组名
设置用户组密码命令:
[root@localopt]#gpasswd用户组名
如果gpasswd加上参数则有其他功能
设置用户组管理员命令:
[root@localopt]#gpasswd-A用户名用户组名
添加某帐号到组命令:
[root@localopt]#gpasswd-M用户名用户组名
从组中删除某帐号命令:
[root@localopt]#gpasswd-d用户名用户组名
passwd相关参数操作:
-l锁用户
-u解锁用户
-n天数密码不可改天数
-x天数密码过期天数
-w天数警告天数
文件权限知识
先看个实例:
[root@localopt]#ls-al
ls-al命令是列出目录的所有文件,包括隐藏文件。隐藏文件的文件名第一个字符为'.'
-rw-r--r--1rootroot8108-0214:54gtkrc-1.2-gnome2
-rw-------1rootroot18908-0214:54ICEauthority
-rw-------1rootroot3508-0510:02.lesshst
drwx------3rootroot409608-0214:54.metacity
drwxr-xr-x3rootroot409608-0214:54nautilus
列表的列定义如下:
[权限属性信息][连接数][拥有者][拥有者所属用户组][大小][最后修改时间][文件名]
权限属性列表为10个字符:
第一个字符表示文件类型,d为目录-为普通文件l为连接b为可存储的接口设备c为键盘鼠标等输入设备
2、3、4个字符表示所有者权限,5、6、7个字符表示所有者同组用户权限,8、9、10为其他用户权限
第二个字符表示所有者读权限,如果有权限则为r,没有权限则为-
第三个字符表示所有者写权限,如果有权限则为w,没有权限则为-
第四个字符表示所有者执行权限,如果有权限则为x,没有权限则为-
第五个字符表示所有者同组用户读权限,如果有权限则为r,没有权限则为-
第六个字符表示所有者同组用户写权限,如果有权限则为w,没有权限则为-
第七个字符表示所有者同组用户执行权限,如果有权限则为x,没有权限则为-
第八个字符表示其他非同组读权限,如果有权限则为r,没有权限则为-
第九个字符表示其他非同组写权限,如果有权限则为w,没有权限则为-
第十个字符表示其他非同组执行权限,如果有权限则为x,没有权限则为-
修改文件所属组命令:
[root@localopt]#chgrp[-R]组名文件名
其中-R为递归设置
修改文件的所有者和组命令:
[root@localopt]#chown[-R]用户[:用户组]文件名
修改文件访问权限命令:
[root@localopt]#chmod[-R]0777文件名
至此,用户、文件和权限相关的东西,就总结个7788了,接下来的就是,平常要敢于用各种命令,勤于看看本篇总结啦。
====================================================================
linux查看用户及用户组的方法
whois
功能说明:查找并显示用户信息。
语法:whois[帐号名称]
补充说明:whois指令会去查找并显示指定帐号的用户相关信息,因为它是到NetworkSolutions的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。
---------------------------------------------------------
whoami
功能说明:先似乎用户名称。
语法:whoami[--help][--version]
补充说明:显示自身的用户名称,本指令相当于执行"id-un"指令。
参数:
--help在线帮助。
--version显示版本信息。
---------------------------------------------------
who
功能说明:显示目前登入系统的用户信息。
语法:who[-Himqsw][--help][--version][ami][记录文件]
补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。
参数:
-H或--heading显示各栏位的标题信息列。
-i或-u或--idle显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串。
-m此参数的效果和指定"ami"字符串相同。
-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命令。
$fingerxxq
Login:xxqName:
Directory:/home/xxqShell:/bin/bash
LastloginThuJan121:43(CST)ontty1
Nomail.
NoPlan.
$finger
rootroot*128Nov2509:17
……
------------------------------------------------------------------
/etc/group文件包含所有组
/etc/shadow和/etc/passwd系统存在的所有用户名
修改当前用户所属组的方法
usermod或者可以直接修改/etc/paaawd文件即可
----------------------------------------------------------------
vlock(virtualconsolelock)
功能说明:锁住虚拟终端。
语法: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<群组>][--adser<用户ID><群组><用户名称>][--delgroup<群组>][--deluser<用户ID>][--help]
补充说明:userconf实际上为linuxconf的符号连接,提供图形界面的操作方式,供管理员建立与管理各类帐号。若不加任何参数,即进入图形界面。
参数:
--addgroup<群组>新增群组。
--adser<用户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。
4. linux 查看用户属于哪个组
linux查看用户所属组有很多方法:
命令groups查看当前用户所属组
[root@localhost xly]# groups
root
groups 用户(查看用户所属组)
[root@localhost xly]# groups xly
xly : xly
id 用户(查看用户所属组)
[root@localhost xly]# id xly
uid=500(xly) gid=500(xly) groups=500(xly)
直接查看组文件,cat /etc/group
[root@localhost xly]# cat /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon
mem:x:8:
kmem:x:9:
xly:x:500:
命令:cat /etc/group|grep 组名,用于查找某个用户组