User and User Groups in Linux
本文梳理了一下Linux用户和用户组的常用的一些命令。
有关的配置文件:
- /etc/group 存储当前系统中所有用户组信息
- /etc/gshadow 存储当前系统中所有用户组的密码
- /etc/passwd 存储当前系统中所有用户的信息
- /etc/shadow 存储当前系统中所有用户的密码信息
配置文件的内容格式说明:
说明:在使用cat /etc/group查看的时候,你会发现有的组最后是不显示用户列表的。那么如何查看用户组的用户名单列表,下面有code。
用户组的添加,修改,删除
- groupadd group_name//添加用户组
- groupmod -n new_name old_name//修改用户组的名字
- groupmod -g 668 group_name//修改组编号
- groupdel group_name//先删除用户再删除用户组
用户的添加,修改,删除
- useradd -g group_name user_name//用户组中添加用户或(gpasswd -a username groupname)(创建用户的时候,没有指定用户组,则系统会创建与用户名相同的用户组)
- useradd -d /home/xxx user_name//个人文件夹
- usermod -c info user_name//添加用户备注信息
- usermod -l new_user old_name//新用户 占用 旧用户(离职)
- usermod -d /home/xxx user_name//修改用户的文件路径
- usermod -g group_name user_name//移动用户
- userdel user_name//删除用户(不会删除个人文件夹)
- userdel -r user_name//用户和文件一同删除
passwd 命令
- passwd -l user_name//锁定用户(违规用户)或者 在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了。想恢复该用户,去掉*即可。
- passwd -u user_name//解锁用户
- passwd -d user_name//清除用户的密码
- passwd user_name//修改或设置用户密码
主组&附属组
一个用户可以同时属于多个用户组(其中必有一个主组和多个附属组)
- gpasswd -a user_name affiliated_group//用户添加附属组
- newgrp affiliated_group //临时切换到附属组(有密码的需要输入密码)
- gpasswd -d user_name affiliated_group//从附属组中删除用户
- useradd -g main_group -G group1,group2,group3 //
- gpasswd group_name//修改组密码
- gpasswd -d A GROUP 或者 从组中删除用户,编辑/etc/group 找到GROUP1那一行,删除 A
查看命令
- Whoami//我是谁?显示当前登录用户
- id username//显示指定用户信息,包括编号、用户名、主要组编号及名称,附属组列表
- groups user_name//查看用户所属组别
- id -gn//查看当前登录用户,所属组别,或者直接groups
- id -a mark//显示详细的信息,如:uid=500(mark) gid=500(teacher) 组=500(teacher)
- 查看某个组的所有组员 grep 'groupName' /etc/group //查看组的ID awk -F":" '{print $1"tt"$4}' /etc/passwd | grep 'groupId' //将groupId替换为ID
设置用户文件的访问权限
- chmod 命令,功能:chmod命令是非常重要的,用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限.
- chgrp命令,功能:改变文件或目录所属的组。chgrp -R groupName fileName
- chown 命令,功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。
其他命令
- chfn username//设置用户资料,依次输入用户资料
- finger username//显示用户详细资料
- touch /etc/nologin//暂时禁止所有普通用户的登录,建一个空的文件就可以了。
- su username//切换用户,不加参数(username)代表切换到root
- 用户已经登录,无法删除用户,pkill -u username(粗暴的方法)然后删除(不建议使用)
User and User Groups in Linux的更多相关文章
- 【转】How to Change File Ownership & Groups in Linux
有关linux下 文件权限的问题,一直不是很清楚.(参考菜鸟教程: http://www.runoob.com/linux/linux-file-attr-permission.html) 像上面这样 ...
- Linux 杂记
Linux命令行与图形界面进行切换 1.实时切换 1.1 命令行->图形 startx 1.2 图形->命令行 Ctrl+Alt+F1--F6 2.启动默认 2.1 启 ...
- 100个linux站点
(一) 文件下载 (二) 幽默娱乐 (三) 相关新闻 (四) 通用硬体 (五) 专用硬体 (六) 新手站点 (七) 图形/多媒体 (八) 游戏站点 (九) 网路杂志 (十) 入口(教育.链结) (十一 ...
- linux cgroups 简介
cgroups(Control Groups) 是 linux 内核提供的一种机制,这种机制可以根据需求把一系列系统任务及其子任务整合(或分隔)到按资源划分等级的不同组内,从而为系统资源管理提供一个统 ...
- Linux的Namespace与Cgroups介绍
Namespace 的概念 Linux Namespace 是kernel 的一个功能,它可以隔离一系列系统的资源,比如PID(Process ID),User ID, Network等等.一般看到这 ...
- Linux核心-hc课堂笔记
windows系统:分区 linux系统:树形结构 <鸟哥的私房菜>关于分区.linux命令.基础篇 服务器篇 关于文件夹: /boot 引导分区,操作系统启动时要到该目录下 ...
- linux processes identifiers
Linux, like all Unix uses user and group identifiers to check for access rights to files and images ...
- linux常用命令集锦
linux 查看所有用户所在组 vi /etc/group 一个用户可以属于多个组,查看用户所属的组,groups + 用户名 linux 查找文件命令 find -name 文件名 在 ...
- Linux 上配置 AG
SQL Server Always On Availability Group 配置步骤:配置三台 Linux 集群节点创建 Availability Group配置 Cluster Resource ...
随机推荐
- c# 调用 matlab
如果本机没有安装Matlab 需要安装一个叫 MCRInstaller 的东西 运行环境 如果安装后 需要把D:\MATLAB\R2013a\bin\win64; 写入环境变量 (路径根据实际情况改 ...
- Sublime Text 安装Emmet
1.简单的安装方法 从菜单 View - Show Console 或者 ctrl + ~ 快捷键,调出 console.将以下 Python 代码粘贴进去并 enter 执行,不出意外即完成安装.以 ...
- 使用html2canvas实现批量生成条形码
/*前台代码*/ <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Generat ...
- flask_单元测试
我们现在可以试着在控制台向数据库添加一个用户: In[2]: import model; In[3]: from microblog import db; In[4]: u=model.User(ni ...
- Spring 学习笔记 3. 尚硅谷_佟刚_Spring_配置 Bean
1,bean 的配置 <bean id="helloWorld" class="com.yfy.HelloWorld"> <property ...
- SAS实验室之PROC TRANSPOSE
首先,抛开SAS,回忆我们在数学课本上学习的转置是什么概念,转置如下图: 以上就是数学中的转置. 那么在SAS里该如何转置呢? 先看语法格式: PROC TRANSPOSE <DATA=inpu ...
- (期望)A Dangerous Maze(Light OJ 1027)
http://www.lightoj.com/volume_showproblem.php?problem=1027 You are in a maze; seeing n doors in fron ...
- 搭建一个SSH项目框架的步骤
1.导入jar包(38个) 2.配置文件 applicationContext,xml (beans.xml) (数据源.LocalSessionFactoryBean.事务管理器.事务通知.AOP切 ...
- Async/Await FAQ
From time to time, I receive questions from developers which highlight either a need for more inform ...
- php面试题及答案收藏(转)
php面试题及答案收藏(这套试题是在网上看到的,不知作者是谁) 基础题 1.表单中 get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据, ...