谈起Linux,没有接触过的童鞋们可能会望而却步,其实不然。今天恰好遇到好些童鞋询问相关于Linux的一些终端命令操作的问题,自己正好有一想法,接下来会陆续写一些关于Linux的日常应用的博客文章。使用Linux系统,首先你一定要是Linux的用户。今天咱们就先来谈谈Linux关于用户的一些事情。
Linux的用户管理有两个很重要的概念,一个是用户,一个是组。用户与组是一对多的关系。当你创建用户之时,会自然产生一个与你用户名相同的一个组,是新增用户所建立的默认组关系。
在用户的权限管理上,一个用户可以独立具备多项权限,一个组也可以具备多项权限,当一个用户属于一个组之时,它便自然地拥有了整个组的权限,因为它成为了这个组的成员。
下面来逐一解释用户和组的常用操作:
组(group):
1.查看系统的组信息
Linux中的信息都以文件形式存储,权限配置文件当然也不例外。
1 | more /etc/group |
groups
1 |
|
groupadd [GROUP_NAME]
1 |
|
groupdel [GROUP_NAME]
1 |
|
[GROUP_NAME] : [GROUP_PASSWORD] : [GID] : [GROUP_USER_LIST]
示例:root:x:511:user1,user2,user3
1 |
|
useradd [USER_NAME] #新增用户,默认在/home下生成与用户名同名的用户主目录
useradd -d /home/[USER_HOME_DIR_NAME] [USER_NAME] #新增用户,同时指定自定义的用户主目录
useradd -g [EXIST_GROUP_NAME] [USER_NAME] #新增用户,同时关联一个已存在的组
useradd -G [EXIST_GROUP_NAME] [USER_NAME] #新增用户,同时增量关联一个已存在的组
useradd -s /bin/false [USER_NAME] #新增用户,同时禁用其默认登录的shell权限
1 |
|
usermod -d /home/[USER_HOME_DIR_NAME] [USER_NAME] #指定自定义的用户主目录
usermod -g [EXIST_GROUP_NAME] [USER_NAME] #强制关联一个已存在的组为默认组
usermod -G [EXIST_GROUP_NAME] [USER_NAME] #增量关联一个已存在的组
usermod -s /bin/false [USER_NAME] #禁用用户默认登录的shell权限
1 |
|
[USER_NAME] : [USER_PASSWORD] : [UID] : [GID] : [USER_FULL_NAME] : [USER_HOME_DIR] : [USER_LOGIN_SHELL]
示例:root:x:0:0:root:/root:/bin/bash
1 |
|
passwd [USER_NAME]
1 |
|
passwd
1 |
|
su -
visudo
1 |
|
[USER_NAME] ALL=(ALL) ALL #切换sudo需要输入当前登录的具备root权限用户的密码
或者
[USER_NAME] ALL=(ALL) NOPASSWD:ALL #切换sudo不需要重新输入密码
1 |
|
[USER_NAME] [MACHINE_NAME]=([SWITCH_IDENTITY/USER_NAME]) [COMMAND]
示例:%wheel ALL=(ALL) NOPASSWD: ALL #允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令