useradd命令
useradd是Linux添加新用户的命令,
这个命令提供了一次性创建新用户账户及设置用户HOME目录结构的简便方法。
格式:useradd[选项]... 用户名
常用命令选项
-u:指定 UID 标记号
-d:指定宿主目录,缺省为 /home/用户名
-e:指定帐号失效时间
-g:指定用户的基本组名(或GID号)
-G:指定用户的附加组名(或GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登录Shell
-c:用户注释描述信息
-r:新建系统用户,不会有新建家目录
每次新建用户,uid都会在上一个用户uid基础上+1
默认新建用户从1000开始
[root@localhost lianxi]# useradd sc1
[root@localhost lianxi]# ls /home
sc sc1
[root@localhost lianxi]# useradd -u 2000 sc3
[root@localhost lianxi]# id sc3
uid=2000(sc3) gid=2000(sc3) 组=2000(sc3)
[root@localhost lianxi]# id sc1
uid=1001(sc1) gid=1001(sc1) 组=1001(sc1)
[root@localhost lianxi]# useradd sc4
[root@localhost lianxi]# id sc4
uid=2001(sc4) gid=2001(sc4) 组=2001(sc4)
[root@localhost lianxi]#
shell设置
找出/etc/passwd中有几种shell信息
[sanchuang@mysql-binary ~]$ awk -F: '{print $7}' /etc/passwd |sort|uniq只能对相邻的去重
/bin/bash #系统默认用户的shell环境信息 ---》正常使用的shell
/bin/sync #将内存里的缓存刷新到磁盘 --》类似于python中fp.flush()
/sbin/halt #登陆就关机
/sbin/nologin #用户不能登陆, ssh和su都不能登陆
/sbin/shutdown #登陆就关机
[root@localhost lianxi]# awk -F: '{print $7}' /etc/passwd |uniq #uniq只能对相邻的去重,sort为排序
/bin/bash
/sbin/nologin
/bin/sync
/sbin/shutdown
/sbin/halt
/sbin/nologin
/bin/bash
/sbin/nologin
/bin/bash
[root@localhost lianxi]# awk -F: '{print $7}' /etc/passwd |sort|uniq #sort起到一个排序的作用
/bin/bash #系统默认用户的shell环境信息 ---》正常使用的shell
/bin/sync #将内存里的缓存刷新到磁盘 --》类似于python中fp.flush()
/sbin/halt #登陆就关机
/sbin/nologin #用户不能登陆, ssh和su都不能登陆
/sbin/shutdown #登陆就关机
更改用户的shell信息
显示出系统中uid大于1000并且用户名包含sanchuang的用户信息(用户名,用户id,用户家目录)
[root@mysql-binary mail]# awk -F: '$3>1000{print $1,$3,$6}' /etc/passwd |grep sanchuang
sanchuang 1017 /home/sanchuang
sanchuang2 1018 /home/sanchuang2
[root@mysql-binary mail]# awk -F: '$3>1000 && $1 ~ /sanchuang/{print $1,$3,$6}' /etc/passwd
sanchuang 1017 /home/sanchuang
sanchuang2 1018 /home/sanchuang2
[root@mysql-binary xulilin]# useradd -u 1100 sanchuang4
[root@mysql-binary xulilin]# id sanchuang4
uid=1100(sanchuang4) gid=1100(sanchuang4) 组=1100(sanchuang4)
[root@mysql-binary xulilin]# useradd -u 1101 -g 1200 sanchuang5 #指定用户id和组
useradd:“1200”组不存在
[root@mysql-binary xulilin]# useradd -u 1101 -g 1100 sanchuang5
[root@mysql-binary xulilin]# id sanchuang5
uid=1101(sanchuang5) gid=1100(sanchuang4) 组=1100(sanchuang4)
[root@mysql-binary xulilin]# usermod -u 1200 sanchuang5 #修改用户id
[root@mysql-binary xulilin]# id sanchuang5
uid=1200(sanchuang5) gid=1100(sanchuang4) 组=1100(sanchuang4)
[root@mysql-binary xulilin]# useradd -d /var/log/sanchuang6 sanchuang6 #指定用户家目录
[root@mysql-binary xulilin]# useradd -g sanchuang4 -G sanchuang,sanchuang2 sanchuang6
useradd:用户“sanchuang6”已存在
[root@mysql-binary xulilin]# useradd -g sanchuang4 -G sanchuang,sanchuang2 sanchuang7
[root@mysql-binary xulilin]# id sanchuang7
uid=1202(sanchuang7) gid=1100(sanchuang4) 组=1100(sanchuang4),1017(sanchuang),1018(sanchuang2)
selinux规则问题
-d指定其他宿主目录,selinux规则报错
selinux是Linux操作系统里的一个安全相关的子系统,但是规则太繁琐了
一般来说运维过程中,都是将其关闭
[root@localhost lianxi]# getenforce #获取当前selinux状态
Enforcing #强制模式,按照规则来
[root@localhost lianxi]# setenforce 0 #临时改为宽容模式
[root@localhost lianxi]# getenforce
Permissive #大部分的时候没有限制
[root@localhost lianxi]# vim /etc/selinxu/config #修改配置文件,需要重启电脑才能生效
SELINUX=disabled #永久修改
[root@localhost ~]# getenforce
Disabled