新建linux组、用户命令
之前在安装oracle的时候,出现了一个问题:安装Oracle,新建组、用户的时候的一个错误。看这篇博客前,先看这个链接,学习要从解决出现的问题出手。
建立用户组和用户
下面总结一下Linux建立组和用户的时候的命令:
#groupadd oinstall //建立一个名字为oinstall的组
#groupadd dba //建立一个名字为dba的组
#useradd -g oinstall -G dba -m tank //建立一个名字为tank的用户(-m指定),它的主组是oinstall,辅助组为dba
这句话执行结束后,会在/home这个目录下新建一个名字和userID一样的文件件,这个文件夹就是用来存储tank这个用户的配置信息。所以/home/tank就是这个用户的根目录。
但是如果我想自己制定根目录的话,当然也是可以的。可以利用参数-d来指定根目录。但是这里有个问题:
系统添加用户的标准步骤:
1.编辑/etc/passwd与/etc/group
2.创建用户主目录
3.从/etc/skel拷贝文件到目录(主要是三个文件.bashrc、.bash_logout、.bash_profile)
4.让新用户获得其主目录与文件的拥有权限
5.给新用户一个密码
所以这个根目录需要以root身份创建,如果你不创建的话,就会提示不存在这个目录;但是在磁盘上创建的目录的最后一级不能手动创建,要让OS自己创建,然后copy配置文件,不然就会报错说用户目录文件夹已存在(但是在下命令的时候-d参数还是要把目录的最后一级都写上的)。当这些都合理以后,就会在你自己设定的根目录的最后一级建立一个和userID相同的新的文件夹,并用这个文件夹来存储这个用户的配置信息。
删除用户组和用户
#userdel -r tank //删除tank用户,会把tank的根目录一同删除(-r指定),如果根目录不是tank所有,就只删除用户,不删除目录,因为它没有权限
#groupdel dba //删除群组
建立指定根目录用户的例子:
[root@oracle /]# mkdir -p /u01/u02 //创建用户的根目录,不包含最后一级
[root@oracle /]# useradd -g oinstall -G dba -d /u01/u02/tank -m tank //创建用户,指定属组,根目录(要指定最后一级)
Creating mailbox file: File exists
[root@oracle /]# su - tank //切换用户
[tank@oracle ~]$ pwd //查看切换后的根目录
/u01/u02/tank
[tank@oracle ~]$ su -
Password:
[root@oracle ~]# cd /u01/u02
[root@oracle u02]# ls -la
total
drwxr-xr-x. root root Apr : .
drwxr-xr-x. oracle oinstall Apr : ..
drwx------. tank oinstall Apr : tank
[root@oracle u02]# cd tank
[root@oracle tank]# ls -la //查看Linux拷贝过来的配置文件
total
drwx------. tank oinstall Apr : .
drwxr-xr-x. root root Apr : ..
-rw-r--r--. tank oinstall Jul .bash_logout
-rw-r--r--. tank oinstall Jul .bash_profile
-rw-r--r--. tank oinstall Jul .bashrc
drwxr-xr-x. tank oinstall Nov .gnome2
drwxr-xr-x. tank oinstall Apr : .mozilla
注意:
在这个例子中,tank只对/u01/u02/tank这个文件夹有操作权限,也就是说只能在tank这个文件夹下做一些操作,甚至u01和u02它都没有操作的权限。如果想让tank用户能在u01和u02下有操作权限,那就得切换到root用户下利用chown修改权限。
最后再看一下/etc/skel这个文件夹中的东西:

新建linux组、用户命令的更多相关文章
- [转载]linux创建用户命令
原文地址:linux创建用户命令作者:疯狂的核桃 创建用户.设置密码.修改用户.删除用户: useradd testuser 创建用户testuser passwd testuser 给已创建 ...
- 高手查看Linux系统用户命令-测评
一.Linux查看用户命令-测评 查看linux所有的用户 cat /etc/passwd 查看普通用户.系统用户(1-499) root:x:0:0:root:/root:/bin/bash < ...
- Linux su命令参数及用法详解--Linux切换用户命令
建议大家切换用户的时候 使用 su - root 这样,否则可能发现某些命令执行不了 关于su .su - 及 sudo的区别 请往下看 1.命令作用 su的作用是变更为其它使用者的身份,超级用 ...
- Windows与linux添加用户命令
Windows 查看当前存在用户: net user 查看当前用户组: net localgroup 添加用户(以添加用户test密码test1234为例): net user test test12 ...
- Linux创建用户命令
创建用户.设置密码.修改用户.删除用户: useradd testuser 创建用户testuser passwd testuser 给已创建的用户testuser设置密码 说明:新创建的用户 ...
- linux切换用户命令
1. 切换用户的命令为:su +username 2.从普通用户切换到root用户:sudo su 3.退回到原来的用户:exit命令或logout,或者ctrl+d 4.如果要切换到新用户的工作环境 ...
- LINUX查询用户命令
W 可显示开机多久,当前登录的所有用户,平均负载 Who 显示当前登录的所有用户 Last 显示每个用户最后的登录时间 Lastlog 显示每个用户最后的登录时间
- Linux查看用户和组命令
在Linux系统里,我们会经常用Linux查看用户的命令,在这里我们一些命令进行了总结,总共有7个,并做了详细的解释,以便让大家更深入的理解,接下来让我们一起来看看这些命令和具体应用. 一.Linux ...
- 20155327预备作业3:Linux安装及命令入门
20155327预备作业3:Linux安装及命令入门 安装Linux操作系统 由于之前安装过所以这里就不再赘述了 掌握Linux命令的学习方法 学习路径: 常用Ubuntu快捷键: CTRL+ALT+ ...
随机推荐
- Hadoop基准测试(转载)
<hadoop the definitive way>(third version)中的Benchmarking a Hadoop Cluster Test Cases的class在新的版 ...
- Codeforces Round#1
A. Theatre Square 题目大意:有一个长宽为m和n的广场,用边长为a的正方形去铺盖,问铺满最少需要多少正方形 题解:题目分解为用长度为a的线条分别去覆盖长度为m和n的线条,计算两者的乘积 ...
- 男装电子零售商East Dane即将面世_衣装_YOKA时尚网
男装电子零售商East Dane即将面世_衣装_YOKA时尚网 男装电子零售商East Dane即将面世
- Android MediaPlayer Error -1004
之前用Android自带的VideoView播放在线视频一直没问题的.今天突然碰到无法播放. MediaPalyer返回的错误代码是-1004,API文档上写的是:Bitstream is not c ...
- JavaFx初探
由于项目的须要,实在是没有办法了,试了非常多种方案(RCP,SWT,Flex,Smartinvoke...),终于还是决定開始研究JavaFx...为了给用户更好地体验我们的"智能家居&qu ...
- UVa 12299 RMQ with Shifts(线段树)
线段树,没了.. ----------------------------------------------------------------------------------------- # ...
- canvas绘制弹跳小球
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- 一周学会Mootools 1.4中文教程:序论
刚才发了几篇Mootools(以后直接简称Moo或Mt,看到这两个名字的时候不要感到奇怪),有一位热心的朋友"追杀"告诉我说现在已经出到1.4了,就不要再纠结于1.2了,想象一下有 ...
- Android 开发笔记“context和getApplicationContext”
在android中常常会遇到与context有关的内容 浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder( ...
- cocos2dx vs2010打开打印窗口
vs2010下调试时,有时需要有打印窗口. 在main.cpp函数的开始处,加入一下 AllocConsole(); freopen("CONIN$", "r" ...