linux组管理命令 linux 管理命令
Linux命令之用户组管理
Linux中每个用户都要属于一个或多个组,有了用户组,就可以将用户添加到组中,这样就方便管理员对用户的集中管理。 Linux系统中用户组分为root组、系统组、普通用户组三类。当一个用户属于多个组时,这些组中只能有一个作为该用户的主属组,其他组就被称为此用户的次属组。 组基本信息在文件/etc/group中;组密码信息在文件/etc/gshadow中。通过命令:cat /etc/group、cat /etc/gshadow可查看文件内容。
成都创新互联公司主营库尔勒网站建设的网络公司,主营网站建设方案,成都app开发,库尔勒h5微信平台小程序开发搭建,库尔勒网站营销推广欢迎库尔勒等地区企业咨询
各用户组中,以 ":" 作为字段之间的分隔符,分为 4 个字段,每个字段对应的含义为:
组名:密码:GID:该用户组中的用户列表
而在gshadow文件中,每行代表一个组用户的密码信息,各行信息用 ":" 作为分隔符,分为 4 个字段,每个字段的含义如下:
组名:加密密码:组管理员:组附加用户列表
root用户可以直接修改/etc/group文件达到管理组的目的,也可以使用以下命令:groupadd、groupdel、groupmod -n、gpasswd -a、gpasswd -d、newgrp。
下面使用案例分别讲解这些命令:
添加用户组的命令是 groupadd,命令格式如下:
groupadd [ -g gid [ -o ] ] [ -r ] [ -f ] group
参数说明:
-g:指定新建工作组的 id;
-r:创建系统工作组,系统工作组的组ID小于 500;
-K:覆盖配置文件 "/ect/login.defs";
-o:允许添加组 ID 号不唯一的工作组。
-f,--force: 如果指定的组已经存在,此选项将失明了仅以成功状态退出。当与 -g 一起使用,并且指定的GID_MIN已经存在时,选择另一个唯一的GID(即-g关闭)。
示例:创建一个新的组,并添加组 ID。
[root@VM-4-4-centos ~]# groupadd -g 888 newgroup
此时在/etc/group文件中产生了一个id为888的项目:
删除用户组时,可用groupdel(group delete)指令来完成。倘若该组中仍包括某些用户,则必须先删除这些用户后,方能删除组。 注意:删除的组不能为主属组! 命令格式:
groupdel [组名]
示例:删除用户组 newgroup
[root@VM-4-4-centos ~]# groupdel newgroup
此时再查看/etc/group文件时可以看到用户组newgroup已经不存在,删除成功!
要更改用户组识别码或名称可使用 groupmod 来完成。命令格式:
groupmod [ -g 群组识别码 -o ] [ -n 新群组名称 ] [原群组名称]
参数说明 :
-g 群组识别码 设置欲使用的群组识别码。
-o 重复使用群组识别码。
-n 新群组名称 设置欲使用的群组名称。
示例:创建用户组newgroup并修改其名称为modifiedgroup
[root@VM-4-4-centos ~]# groupadd newgroup
[root@VM-4-4-centos ~]# groupmod -n modifiedgroup newgroup
查看/etc/group文件,只存在名称为modifiedgroup的用户组,修改成功!
gpasswd 是 Linux 下工作组文件 /etc/group 和 /etc/gshadow 管理工具,用于将一个用户添加到组或者从组中删除。命令格式:
gpasswd [可选项] 组名
可选项参数 :
-a:添加用户到组;
-d:从组删除用户;
-A:指定管理员;
-M:指定组成员和-A的用途差不多;
-r:删除密码;
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
示例1:将用户yangwei添加到组modifiedgroup中
[root@VM-4-4-centos ~]# gpasswd -a yangwei modifiedgroup
此时查看/etc/group文件发现组 modifiedgroup中出现用户yangwei
示例2:将用户yangwei从组modifiedgroup中给删除
[root@VM-4-4-centos ~]# gpasswd -d yangwei modifiedgroup
再次查看/etc/group文件发现用户yangwei已经不存在。
当需要在不同的群组下工作的时候我们需要进行切换群组操作,这个操作由newgrp指令来完成。命令格式如下:
newgrp [群组名称]
注意!当前用户必须都是两个群组的成员,否则切换群组时需要输入切换组的组密码,这时候当前用户作为临时成员在切换组下工作,所创建的文件全都属于切换组。
示例1:用户yangwei不属于群组modifiedgroup,请将当前工作组切换为modifiedgroup。
示例2:将用户yangwei添加到组modifiedgroup中,并切换工作组为modifiedgroup。
总结:Linux用户组管理需要掌握最基本的几个命令及其选项参数: groupadd 、groupdel 、groupmod 、gpasswd 、newgrp !
Linux用户权限管理命令
Linux系统中的用户是分角色的,用户的角色是由UID和GID来识别的(也就是说系统是识别的是用户的UID、GID,而非用户用户名),一个UID是唯一(系统中唯一如同身份证一样)用来标识系统的用户账号(用户名)。
文件的用户与用户组分为超级管理员,普通用户和系统用户。
1)超级管理员的UID=0,GID=0,也可以这么说系统只要是识别出某个用户的UID\GID都为0时,那么这个用户系统就认为是超级管理员。
2)普通用户(管理员添加的),默认它的UID\GID是从500-65535,权限很小,只能操作自己的家目录中文件及子目录(注:nobody它的UID\GID是65534)。
3)系统用户,也称虚拟用户,也就是安装系统时就默认存在的且不可登陆系统,它们的UID\GID是1-499。
我们可以通过cat /etc/passwd命令来查看所有的用户信息,例如下图,第三列是UID,第四列是GID:
创建用户
useradd user1 创建用户user1
useradd -e 12/30/2021 user2 创建用户user2,有效期到2021-12-30
设置用户密码
passwd user1 设置密码,有设置密码的用户不能用
这里设置密码时可能会碰到密码保护机制问题,这里需要注释掉保护机制的问题
这个时候需要在编辑/etc/pam.d/system-auth文件,将其中的password requisite
和password sufficient两行注释掉,如下图:
创建用户组
groupadd –g 888 users 创建一个组users,其GID为888
groupadd users 不用g参数,使用默认的组ID
命令 gpasswd为组添加用户
只有root和组管理员能够改变组的成员:
gpasswd –a user1 users 把 user1加入users组
gpasswd –d user1 users 把 user1退出users组
命令groupmod修改组
groupmod –n user2 user1 修改组名user1为user2
groupdel删除组
groupdel users 删除组users
真正从安全性角度上来考虑的话,是要控制用户一定执行命令的权限,也就是哪些用户可以执行哪些命令,不可以执行哪些命令,因此也就有了sudo这个应用,对于sudo提权,也就是修改/etc/sudoers的配置文件。
Linux常用命令之--useradd,userdel,usermod,groupadd,groupdel,groupmod,gpasswd
会创建用户,并同时创建和用户同名的组;邮件文件;家目录(默认存放在/HOME/里的同名文件夹里)
语 法:useradd [选项] 用户名
常用选项 :
• -c 备注 加上备注文字
• -d 目录 指定用户登入时的启始目录
useradd -d /tmp/jack jack
cat /etc/passwd jack 已经为/tmp/jack了,说明创建成功了。但是cd到/tmp/里看不到
jack的文件夹,是因为权限不够,如果关掉SeLinux或者赋予它权限了就可以看到jack文件夹了
• -g 群组 指定用户所属的群组
• -G 群组 指定用户所属的附加群组
• -m /-M 自动建立(-m)用户的登入目录或不自动创建
• -n 取消建立以用户名称为名的群组
• -s shell 指定用户登入后所使用的shell (不加-s的默认shell为/bin/bash)
/sbin/nologin 没有可登录的shell
• -u uid 指定用户ID
useradd -n -G natasha tom
建新用户在不指定的情况下UID和GID是一样的,但是因为这里用-n取消建立以用户
名称为名的群组,所以 cat /etc/passwd 的时候发现GID为100,和cat /etc/group里users组的GID是一样的,由此可知在不建立以用户名称为名的群组的时候新建的用户主属组都是users,而用-G指定tom的附加群组为natasha,因此在 cat /etc/group 的时候出现的是natasha:x:1003:tom (1003是natasha的GID)
useradd -g natasha tom
用-g指定tom的主群组为natasha,因此在cat /etc/group里没有tom群组,在cat
/etc/passwd里出现的是tom:x:1006:1003::/home/tom:/bin/bash
(1003是natasha的GID)
语 法:userdel [选项] 用户名
常用选项
• -r 删除用户登入目录以及目录中所有文件 (不加-r不会自动删除同名组,邮件文件和家目录,如果先通过userdel删除了用户,之后想删除其同名组,邮件文件和家目录需要用rm命令手动一个个删除),但是如果只删除了用户,没删除的里面的各种文件使用的还是原来创建这个用户时的UID,所以一旦其他用户使用了这个UID,还是没办法通过rm手动删除
• -f 强制删除用户
语 法:usermod [选项] 用户名
常用选项
• -c:改变用户的描述信息
• -d:改变用户的主目录,如果加上-m则会将旧家目录移动到新的目录中去 (-m应加在新目录之后)
usermod -d 目的文件夹 用户名
• -g:改变用户的主属组
• -G:设置用户属于哪些组
• -l:改变用户的登录用名
不会改变属组的名称,原来的登录用户属于哪个组,现在还是属于哪个组
• -s:改变用户的默认shell ,如果将一个用户的shell指定为sbin/nologin的话用su -l 用户名进不去,会显示回显:This account is currently not available.
• -u:改变用户的UID
• -L:锁住密码,使密码不可用,这时在/etc/shadow文件里该用户的密码第一位为!
通过 usermod -L 用户名锁住密码,这时在root用户下su -l 用户名还是可以进入到系统中,因为root用户su到任意用户里都是不需要密码的。但是如果登出root用户,用该用户登录时就会显示sorry,that didn’t work,please try again.
• -U:为用户密码解锁
passwd 用户名,然后输入两次密码改密码,root的可以修改其他user的密码,但是root以外的用户只能修改自己的密码。只有root用户可以用这个命令改密码。如果是普通用户要改自己的密码的话,直接登录自己的普通用户账户,输入passwd即可改密码。
root以外的其他用户需要遵循密码最小生存周期,比如如果是1的话一天之内最多改一次。而root用户没有这个限制
系统用户可以直接修改/etc/group文件达到管理组的目的,也可以使用以下指令:
※一个组的管理员不一定要包含在这个组当中
※一个组可以有多个管理员
※一个人也可以在多个组中担任管理员
例: gpasswd -A user2 pools 将user2设置为组管理员
想将管理员改成user3的时候: gpasswd -A user3 pools
想新增管理员user3的时候: gpasswd -A user2,user3 pools
cat /etc/gshadow 可以看到一个组的管理员是谁
• gpasswd –a 用户名 用户组:将一个用户添加入一个组(从属组)
• gpasswd –M 用户名… 用户组:将多个用户添加入一个组(从属组)
※这里的M是modify的缩写,添加完会覆盖原来已经添加到这个组的组员
• gpasswd –d 用户名 用户组:将一个用户从一个组删除
gpasswd只能修改用户的从属组,想指定/改变主属组只能通过useradd/usermod
linux一条命令能创建多个用户组吗?
linux一条命令不能创建多个用户组。Linux中创建用户组的命令是groupadd,这个命令只能创建一个用户组。
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
1、增加一个新的用户组使用groupadd命令。其格式如下:
代码:
groupadd选项用户组
可以使用的选项有:
代码:
-gGID指定新用户组的组标识号(GID)。
-o一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
例1:代码:#groupaddgroup1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有最大组标识号基础上加1。
例2:代码:#groupadd-g101group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
2、如果要删除一个已有的用户组,使用groupdel命令。其格式如下:
代码:
groupdel用户组
例如:代码:#groupdelgroup1
此命令从系统中删除组group1。
3、修改用户组的属性使用groupmod命令。其语法如下:
代码:
groupmod选项用户组
常用的选项有:
代码:
-gGID为用户组指定新的组标识号。
-o与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组将用户组的名字改为新名字
例1:代码:#groupmod-g102group2
此命令将组group2的组标识号修改为102。
例2:代码:#groupmod_g10000-ngroup3group2
此命令将组group2的标识号改为10000,组名修改为group3。
4、如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:代码:$newgrproot
这条命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。类似于用户账号的管理,用户组的管理也可以通过集成的系统管理工具来完成。
文章题目:linux组管理命令 linux 管理命令
链接分享:http://myzitong.com/article/doidoje.html