Linux用户管理

参考文章:

http://www.cnblogs.com/ylan2009/articles/2321177.html

http://www.cnblogs.com/suger/p/3831905.html


添加新的用户账号使用useradd命令(或者adduser),其语法如下:
useradd 选项 用户名
其中各选项含义如下:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

例如:useradd –d /usr/jack -s /bin/sh -g group jack
添加用户jack,用户目录为/usr/jack,shell程序为/bin/sh,属于group用户组。


在Linux系统中一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问LinuxSir.Org 的网页程序,就是nobody用户;我们匿名访问ftp 时,会用到用户ftp或nobody。
在系统中,没有权限登录系统的用户一般也被称之为虚拟用户。
虚拟用户实际上就是去掉了登录SHELL权限的用户,他没有能力登录系统,但可以进行其他任何操作。
通过类似 useradd –d /var -s /bin/false jack 的命令将用户jack的shell程序指定为空即可,jack就是虚拟用户。


/etc/shadow是/etc/passwd的影子文件。/etc/shadow文件中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。
文件格式由若干个字段组成,字段之间用“:”隔开。
/etc/shadow只能是root可读,从而保证了安全。在使用了/etc/shadow文件的情况下,/etc/passwd中密码用一个x表示,普通用户看不到任何密码信息。

/etc/passwd文件的每个条目有7个域,分别是:
(1):用户名。
(2):密码(已经加密)
(3):UID(用户标识),操作系统自己用的
(4):GID组标识。
(5):用户全名或本地帐号
(6):开始目录
(7):登录使用的Shell,就是对登录命令进行解析的工具。
例如:ynguo:x:509:510::/home/ynguo:/bin/bash

/etc/shadow文件的每个条目有8个域,分别是:
1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
例如:root:$1$t4sFPHBq$JXgSGgvkgBDD/D7FVVBBm0:11037:0:99999:7:-1:-1:1075498172


⼤数据运维⽅向⾯试题 ⼤数据运维⽅向⾯试题 ⼀、基础题 1.请写出http和https请求的区别,写出遇到过的响应状态码. ⼀、https协议需要到ca申请证书,⼀般免费证书很少,需要交费。 ⼆、http是超⽂本传输协议,信息是明⽂传输,https 则是具有安全性的ssl加密传输协议。 三、http和https使⽤的是完全不同的连接⽅式,⽤ 的端⼝也不⼀样,前者是80,后者是443。 四、http的连接很简单,是⽆状态的;HTTPS协议是由SSL+HTTP协议构建的可进⾏加密传输、⾝份认证的⽹络协议,⽐http协议安全。 状态码常⽤: 301 永久重定向 403 服务器已经理解请求,但是拒绝执⾏ 404 页⾯丢失 500 服务器错误 2.请写出在linux系统上⾯搭建系统或者产品等⼤数据平台需要对系统进⾏哪些检查。 从稳定性说:需要检查集群中的每⼀台服务器的命令安装是否完善,环境变量是否配置完毕,每⼀台服务器的软件配置是否有问题。 扩展性: 能够快速扩展机器,横向扩展条件是否具备 3.请写出使⽤过的linux系统有哪些版本,如何查看系统信息?(发⾏版本,内核版本等信息)。 Centos 6.5 6.6 x64 1.查看发⾏版本命令:cat /etc/issue 2.查看内核版本: cat /proc/version 4.请使⽤命令在linux系统中创建⽤户test,⽤户组为test1,⽤户⽬录 /test , 赋予sudo权限。 useradd -d /test -m test -g test1 -G root useradd 选项 ⽤户名 其中各选项含义如下: -c comment 指定⼀段注释性描述。 -d ⽬录 指定⽤户主⽬录,如果此⽬录不存在,则同时使⽤-m选项,可以创建主⽬录。 -g ⽤户组 指定⽤户所属的⽤户组。 -G ⽤户组,⽤户组 指定⽤户所属的附加组。 -s Shell⽂件 指定⽤户的登录Shell。 -u ⽤户号 指定⽤户的⽤户号,如果同时有-o选项,则可以重复使⽤其他⽤户的标识号。 Sudo可以修改⽂件需要root⽤户 sudo的⼯作过程如下: 1,当⽤户执⾏sudo时,系统会主动寻找/etc/sudoers⽂件,判断该⽤户是否有执⾏sudo的权限 2,确认⽤户具有可执⾏sudo的权限后,让⽤户输⼊⽤户⾃⼰的密码确认 3,若密码输⼊成功,则开始执⾏sudo后续的命令 4,root执⾏sudo时不需要输⼊密码(eudoers⽂件中有配置root ALL=(ALL) ALL这样⼀条规则) 5,若欲切换的⾝份与执⾏者的⾝份相同,也不需要输⼊密码 5.写出最少3个监控系统指标的命令(如内存,CPU ,IO,磁盘等)。 看内存 :free 看cpu:more /proc/cpuinfo 看IO:iostat -x 10 看磁盘:fdisk -l 6.请⽤多种⽅式在linux系统中设置环境变量,指出各种⽅式的区别。 1、控制台中设置,不赞成这种⽅式,因为他只对当前的shell 起作⽤,换⼀个shell设置就⽆效了: $PATH="$PATH":/NEW_PATH (关闭 shell Path会还原为原来的path) 2、修改 /etc/profile ⽂件,如果你的计算机仅仅作为开发使⽤时推存使⽤这种⽅法,因为所有⽤户的shell都有权使⽤这个环境变量,可能会 给系统带来安全性问题。这⾥是针对所有的⽤户的,所有的shell 在/etc/profile的最下⾯添加: export PATH="$PATH:/NEW_PATH" 3、修改bashrc⽂件,这种⽅法更为安全,它可以把使⽤这些环境变量的权限控制到⽤户级别,这⾥是针对某⼀特定的⽤户,如果你需要给 某个⽤户权限使⽤这些环境变量,你只需要修改其个⼈⽤户主⽬录下的 .bashrc⽂件就可以了。 在下⾯添加: Export PATH="$PATH:/NEW_PATH" 7.请在linux系统中添加指定的定时任务。(每⽉1,15⽇,1,10点运⾏ /run.sh). * 1 ,10 1,15 * * sh /run.sh 8.编写个shell脚本将/data⽬录下⼤于100k的⽂件转移到 /tmp ⽬录下。 #! /bin/sh directory=/data/* filesize=0 for file in $directory do filesize=$(wc -c < $(basename $file)) if [ $filesize -gt 100*1024 ] then mv $(basename $file) /tmp fi done 9.请使⽤命令写出在linux系统中对于⽂件01.txt ,查找⾏内容包含"java"关键字,但不包含"bug"关键字的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值