1.新建用户
1)useradd
2)passwd
2.完成的操作
1)/etc/passwd添加一行
2)/etc/shadow添加一行
3)/etc/group添加一行
4)创建家目录
5)创建用户邮件文件
例:创建用户jerry
要求:UID:777
主组hadoop(800)
附加组python(850),hbase(860)
家目录/home/jerry
描述信息i am jerry
密码123456,最少使用3天才能修改,最长使用30天,到期前5天发送报警
实现步骤:
1.创建用户基本信息(/etc/passwd)
echo jerry:x:777:800:i am jerry:/home/jerry:/bin/bash >>/etc/passwd
2.检查用户
id jerry
3.使用openssl来生成密码
格式:openssl passwd -1 -salt "string"
说明:-1 表示md5算法
-salt 表示加密的时候插入杂质(提高密码的安全性)
openssl passwd -1 -salt "123456"
jerry:!!:19691:3:30:5:::
4.修改密码文件
jerry:$1$123456$vjm57GdgkXMr62ZyVaki:19691:3:30:5:::
5.创建用户组
echo oop:x:800 >>/etc/group
echo python:x:850:jerry
echo hbase:x:860:jerry
6.创建用户家目录
cp -r /etc/skel /home/jerry
cd /home
chown -R jerry.hadoop /home/jerry
chown -R --reference=user150 jerry #按照user150的所有者和群组来更改jerry目录的所有者和群组
7.创建用户邮件
cd /var/spool/mail
touch jerry
chmod 660 jerry
chown jerry.mail jerry
8.测试用户是否可以正常使用
补充:userdel jerry
useradd jerry
useradd:警告:此目录已经存在
不从skel目录里向其中复制任何文件
正在创建信箱文件:文件已存在
3.用户授权
如果普通用户需要执行特殊操作,有两种方法:
su -root #切换到root账户进行特殊操作,然后在返回到普通用户
sudo
4.su命令
优点:使用简单
缺点:root密码容易泄露,普通用户执行操作不可控
5.sudo命令
作用:给普通用户授权,让普通用户执行特定的操作
缺点:需要进行权限配置
优点:
1.不用切换到root用户(不用知道root密码)
2.用户可执行预定的操作
3.可以记录每个用户执行过的命令
5.1 sudo使用
第一步:通过sudo配置文件为普通用户授权
第二步:普通用户执行特殊操作
5.2 sudo配置文件
/etc/sudoers
格式:
root ALL=(ALL) ALL
root:用户名
ALL:主机名
(ALL):用户名
ALL:全部命令%aa #表示给aa组授权
例:
zhangsan localhost=(zhangsan) ALL
ALL:全部命令
/usr/bin/touch #授权单个命令
/usr/bin/touch,/usr/bin/ls #授权多个命令
/usr/bin/* #授权/usr/bin下的全部命令
5.3 修改配置文件
visudo
添加一行
zhangsan ALL=(root) /usr/bin/touch,/usr/bin/ls
5.4 用普通用户执行命令
用管路员身份需用sudo命令来执行
sudo touch /a
前面有%代表给用户组授权