linux下添加删除,修改,查看用户和用户组
一、组操作
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来查找组信息,如果这个命令没有的话,那就很难查找,系统中所有的组了.
usermod:用来修改用户帐号的各项设定。
语法
usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]
参数说明: -c<备注> 修改用户帐号的备注文字。 -d登入目录> 修改用户登入时的目录。 -e<有效期限> 修改帐号的有效期限。 -f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。 -g<群组> 修改用户所属的群组。 -G<群组> 修改用户所属的附加群组。 -l<帐号名称> 修改用户帐号名称。 -L 锁定用户密码,使密码无效。 -s<shell> 修改用户登入后所使用的shell。 -u<uid> 修改用户ID。 -U 解除密码锁定。
5、添加用户至用户组
usermod -g usergroup user
6、将用户移出用户组
gpasswd命令是Linux下工作组文件/etc/group和/etc/gshadow的管理工具,用于指定要管理的工作组。
选项详解:
-a : 添加用户到组 -d : 从组删除用户 -A:指定管理员 -M:指定组成员和-A的用途差不多; -r:删除密码; -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
gpasswd -a userA groupB //将userA添加到groupB用户组里面
注意:添加用户到某一个组可以使用 usermod -G groupB userA 这个命令可以添加一个用户到指定的组,但是以前添加的组就会清空掉,
所以想要添加一个用户到一个组,同时保留以前添加的组时,请使用gpasswd这个命令来添加操作用户。
gpasswd -a userA groupA //将userA设置为groupA的群组管理员
二,用户操作
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登录 useradd –d /kk/sam -m jiang 此命令创建了一个用户jiang,并将创建一个sam目录作为jiang的用户目录 passwd jiang #增加用户jiang,不要忘了给他设置密码,不然不能登录的。
当你添加一个新用户之后应为它创建一个家目录,否则
创建用户家目录:
2、修改用户
usermod - 修改一个用户账户 大纲 usermod [选项] 登录 描述 usermod 修改系统账户文件和在命令行上指定的相关更改。 选项 usermod 可以接受的选项有: -a 将用户添加到附加组。只能和 -G 选项一起使用。 -c 用户密码文件中注释字段的新值。通常使用 chfn(1) 工具对其进行修改。 -d 设置用户的新登录目录。如果给了 -m 选项,当前主目录的内容将会移动到新主目录中,如果不存在,则创建。 -e 用户账户将被禁用的日期。日期以 YYYY-MM-DD 格式指定。此选项需要一个 /etc/passwd 文件。如果没有,将会创建一条 /etc/shadow 项目。 -f 密码过期之后,账户被彻底禁用之前的天数。0 表示密码过期时,立即禁用账户;-1 表示不使用这个功能。此选项需要一个 /etc/passwd 文件。如果没有,将会创建一条 /etc/shadow 项目。 -g 用户的新初始登录组的组名或数字代号。此组必须存在。用户主目录中,属于原来的主组的文件将转交新组所有。主目录之外的文件所属的组必须手动修改。 -G 用户还属于的附加组列表。组之间使用逗号分隔,没有空格。这些组需要遵守和 -g 选项中给的组同样的限制。 如果用户当前是一个组的成员,而这个组没有列在这里,用户将被从那个组里便删除。这个行为可以通过 -a 选项修改,这使用户追加到给出的附加组列表中。 -l 用户的名称将会从 LOGIN 修改为 NEW_LOGIN。不会更改别的任何东西。特别是,用户的主目录名和邮件池也需要手动修改以和新登录名对应。 -L 锁定用户的密码。这会在用户加密的密码之前放置一个“!”,可以快速禁用密码。您可以和 -p 或 -U 配合使用此选项。 注意:如果希望锁定账户(不仅仅是通过密码访问),您也需要设置 EXPIRE_DATE 为 1。 -m 将用户的主目录移动到新位置。这个选项只有和 -d (或 --home) 选项组合使用时才有效。usermod 会改写文件的属主并复制模式、ACL 和扩展属性,但是稍后也可能需要手动修改。 -o 使用 -u 选项时,可以将用户 ID 改为非唯一的值。 -p 已经加密过的密码,就像 crypt(3) 返回的那样。注意:不推荐使用这个选项,因为密码(或加密过的密码)会被用户通过列出这个过程而看到。 密码将会写到本地的 /etc/passwd 或 /etc/shadow 文件。这可能会与您的机器有所不同,这根据 PAM 配置中的密码数据库配置而定。 -s 用户的新登录 shell 的名称。将此字段设置为空会让系统选择默认的登录 shell。 -u 用户 ID 的新数值。这个值必须是唯一的,除非使用了 -o 选项,必须是非负值。
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、查看当前登录用户:w
b、查看自己的用户名:who
c、查看单个用户信息:finger id
d、查看用户登录记录
lastb # 查看登录不成功的用户记录
e、查看所有用户:cat /etc/passwd |awk -F \: '{print $1}' 或 cut -d : -f 1 /etc/passwd