Unix/Linux环境C编程入门教程(33) 命令和鼠标管理用户和组
Linux是一个多用户、多任务的实时操作系统,允许多人同时访问计算机, 并同时运行多个任务。UNIX系统具有稳定、高效、安全、方便、功能强大等诸多优点,自20世纪70年代开始便运行在许多大型和小型计算机上。
1.用户管理
- 用户是Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。
- 账号管理是指账号的新增、删除和修改、账号规划以及权限的授予等问题。
- 在Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
- 标准用户
- Linux系统中的root账号通常用于系统的维护和管理,它对Linux操作系统的所有部分具有不受限制的访问权限。
- 在Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为"标准用户"。这些用户账号除了"root"代表超级用户之外,其余账号都是系统账号,也就是应用程序在执行时的身份。需要注意的是,标准账号是操作系统安装时,自动建立的用户启动相应的应用程序,超级用户在向系统添加普通用户的时候,不能和系统中已有的标准用户同名。
- 超级用户
- 与普通用户对应的就是超级用户了。超级用户就是Linux操作系统中的老大,绝对的牛逼,相比于皇帝有过之而无不及。
- 就算是有些地方对root用户的权限做了限制,但是只要root较真这些权限都能获取过来,只是有时候比较麻烦而已。
2.如何创建一个用户呢 用
使用useradd / adduser命令
必须由超级用户root用户来创建用户
必须要用户名不存在 要是存在的话你再创建就多此一举了
该命令做了下面几件事:
1)在 /etc/passwd 文件中增添了一行记录;
2)在 /home 目录下创建新用户的主目录,并将 /etc/skel 目录(skeleton:.bashrc, .bash_history, etc.)中的文件拷贝到该目录中去;但是使用了该命令后,新建的用户暂时还无法登录,因为还没有为该用户设置口令,需要再用 passwd 命令为其设置口令后,才能登录。用户的 UID 和 GID 是 useradd 自动选取的,它是将 /etc/passwd 文件中的 UID 加 1,将 etc/group 文件中的 GID 加 1。
增加用户及相关操作
选项 功能描述
-g [initial_grp] 用于添加用户账号时指定该用户的私有组。如不指定"-g"参数,useradd命令将自动建立与用户账号同名的组作为该账号的私有组。
-G [grp...] 用于添加进附属组
在"-g"选项时,其语法格式如下:
useradd –g 组名 用户名
-D 用于显示或设置useradd命令所使用的默认值
在"-D"选项中,如果是用来修改useradd命令所使用的默认值,那么该命令使用的语法格式如下:
useradd –D [-g group][-b base][-s shell][-f inactive][-e expire]
在安装oracle数据库的时候创建oracle用户的命令
3.怎么给用户设置一个你想的密码
你想怎么样就怎么样的密码是绝好的。
你想安全,那就@#¥%……&*12345kjdsfjapog齐上阵;
你想简单,那就123456
你想浪漫,那就mm5201314
你想设置成什么样都可。
passwd +用户名
设置你想要的密码
在输入一次你想的密码 需要两次都一样
好的,给test用户密码设置好了。
4.利用su命令切换用户
使用方法
su [用户名]
已经切换到test用户了。
如果要进入别的普通用户账号,可在su命令后直接加上其他账号,然后输入密码。
如果su命令后没有携带用户名,系统默认从当用户切换到超级用户,并提示用户输入超级用户口令。
su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户的主目录。
5.如何退回到切换前的用户 exit
需要返回原来的普通用户账号时,直接输入exit命令即可。
6.如何知道我是谁 ? whoami
7.如何修改用户信息
修改用户账号——usermod
usermod命令可用来修改用户帐号的各种属性,包括用户主目录、私有组、登录、shell等内容。Usermod的命令格式如下:
在命令行下使用 usermod 命令:
usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>]
[-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号]
该命令的各个参数说明如下:
-c<备注> : 修改用户帐号的备注文字。
-d<登入目录>: 修改用户登入时的目录。
-e<有效期限> : 修改帐号的有效期限。
-f<缓冲天数> :修改在密码过期后多少天即关闭该帐号。
-g<群组>: 修改用户所属的群组。
-l <帐号名次> :修改用户帐号的名称
Test用户已经被改名了 叫unixtest了 所以我们切换不到test用户了
他隐姓埋名了。哈哈
8.用户已经没有用处了怎么班
干掉他,删除用户——userdel
userdel命令用于删除指定的用户账号。
使用的语法格式为:
userdel [-r][用户账号]
需要补充说明的是userdel命令可删除用户账号与相关的文件。若不加参数,则仅删除用户账号,而不删除相关文件。
其中参数"-f"是用来删除用户登入目录以及目录中所有文件。
下面举例说明该命令的使用方法:
用户主目录被删除
9. id命令
id命令用于显示用户当前的UID,gid以及所属群组的组列表该指令的语法格式为:
id [选项] [用户名称]
该命令所使用的选项参数说明如下:
-g:显示用户所属群组的ID。
-G:显示用户所属附加群组的ID。
-n:显示用户,所属群组或附加群组的名称。
-r:显示实际ID。
-u:显示用户ID。
10. 删除组账号——groupdel
groupdel命令用于删除指定的组账号,若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。该命令的语法格式为:
groupdel [群组名称]
11. groups命令
groups命令用于显示指定用户所属的组,如未指定用户则显示当前用户所属的组。该命令的语法格式为:
groups 用户名
12.查看哪些用户在使用这个系统
查看登录用户
系统管理员若想知道某一时刻有哪些用户登录到系统,可以使用系统提供的who命令,该命令可以查看当前登录系统的用户及其他相关系统信息。
13.觉得不想使用命令的小伙伴还有救嘛?
鼠标---------------------
在这里你可以对用户和组进行增删改查。
Unix/Linux环境C编程入门教程(33) 命令和鼠标管理用户和组的更多相关文章
- Unix/Linux环境C编程入门教程(32) 环境变量那些事儿
1. getenv() putenv()setenv()函数介绍 getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include<stdli ...
- Unix/Linux环境C编程入门教程(1) Solaris 11 64bit环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 本文就带大家来安装Solaris 11 64位并且配置好C/C++开发环境 本文所 ...
- Unix/Linux环境C编程入门教程(19)Red Hat Entetprise Linux 7.0环境搭建
位架构,包括英特尔X-86_64.Power和s390.动态定时能力将降低内核内部中断数量,Open vSwitch 2.0功能可调节虚拟机之间的流量.RHEL 7中默认的文件系统是XFS,包含了一个 ...
- Unix/Linux环境C编程入门教程(5) Red Hat Enterprise Linux(RHEL)环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 通过./a.out ./Y.out执行出结果,证明C++程序编译成功,也就说明li ...
- Unix/Linux环境C编程入门教程(4) Debian Linux环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 1.广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Deb ...
- Unix/Linux环境C编程入门教程(3) Oracle Linux 环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 2010年9月,Oracle Enterprise Linux发布新版内核--Un ...
- Unix/Linux环境C编程入门教程(2) CentOS环境搭建
Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 本文就带大家来安装CentOS并且配置好C/C++开发环境,这是一款Linux. ...
- Unix/Linux环境C编程入门教程(34) 编程管理系统中的用户
1.用户管理相关函数介绍 geteuid(取得有效的用户识别码) 相关函数 getuid,setreuid,setuid 表头文件 #include<unistd.h> #include& ...
- Unix/Linux环境C编程入门教程(22) C/C++如何获取程序的运行时间
1.问:知道程序运行时间我们可以做什么? 在<C++应用程序性能优化>一书中,如果大家读过相信大家一定对性能优化这一块非常上心,文中总是对优化前后的时间对比非常直观给我们一个感受. 那么我 ...
随机推荐
- SHELL种类,版本及选择
SHELL种类,版本及选择 凡是使用 *INX 的人,不论是作为 login shell 还是编程,多少都要接触到 Shell.经过多年的发展, Shell 的种类繁多.除了我们熟悉的 sh.ksh. ...
- 【转】Android兼容性测试CTS --环境搭建、测试执行、结果分析
原文网址:http://www.cnblogs.com/zh-ya-jing/p/4396918.html 为了确保Android应用能够在所有兼容Android的设备上正确运行,并且保持相似的用户体 ...
- 【HDU2122】Ice_cream’s world III(MST基础题)
2坑,3次WA. 1.判断重边取小.2.自边舍去. (个人因为vis数组忘记初始化,WA了3次,晕死!!) #include <iostream> #include <cstring ...
- sem_timedwait的用法
#include <semaphore.h> int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout); Link ...
- C#分层开发MySchool
分层开发之MYSCHOOL No.1实现登陆功能,验证用户名和密码.从数据库里进行匹配,看是否有符合要求的数据. 在DAL层编写代码,返回值为布尔类型.方法参数为(student实体类对象),使用参数 ...
- Python3.5 queue模块详解
queue介绍 queue是python中的标准库,俗称队列,可以直接import 引用,在python2.x中,模块名为Queue 在python中,多个线程之间的数据是共享的,多个线程进行数据交换 ...
- Session,有没有必要使用它?
阅读目录 开始 Session的来龙去脉 Session对并发访问的影响 Session的缺点总结 不使用Session的替代方法 Asp.net MVC 中的Session 现有的代码怎么办? 今天 ...
- android学习--TabHost选项卡组件
TabHost是一种非常有用的组件,TabHost能够非常方便地在窗体上放置多个标签页,每一个标签页获得了一个与外部容器同样大小的组件摆放区域.在手机系统的应用类似"未接电话".& ...
- Unity 2D 跑酷道路动起来
之前做2D的游戏怎样让背景动起来?就想着做成滚屏效果不就行了,今天在网上看到人家做的既简单又方便,唉,忏愧啊!不过还好,下次可以为自己所用了!呵呵 废话就不扯了,新建工程! 1 ,打开Unity 5. ...
- maven报错cannot change version of project facet
用Eclipse创建Maven结构的web项目的时候选择了默认的catalog,由于这个catalog比较老,用的servlet还是2.3,而现在最少也是2.5,所以经常会出现问题,在Projecdt ...