相关的三个文件
1. 用户文件:/etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:x:uid:gid:描述:HOME:shell
1.用户名(不能相同)
2.口令位
3.uid(不同用户可以使用相同的uid)
4.gid(默认组是随用户创建的,并且组里只用这个用户自己)
5.描述信息(默认为空)
6.用户的家目录位置(默认在/home/用户名)
7.登录shell(默认/bin/bash)
关于UID
管理员 0,默认用户名称root
系统用户 RHEL5/6(老系统) 1-499 RHEL7(新系统) 1-999,特定服务的系统用户,特点权限比较小
普通用户 RHEL5/6(老系统) 1000-65535 RHEL7(新系统) 1000+
创建用户
没有指定任何选项:创建一个用户时,如果没有指定用户的主组,将会创建一个同名的组作为用户的主组
在Ubuntu环境下 如果不加 “-m” 参数,则不会创建对应的home目录文件
useradd 命令参考的文件
1. /etc/login.defs //定义在创建用户时候的初始设置,uid gid 是否家目录 邮箱位置等
2. /etc/default/useradd //系统默认用户创建配置,可以修改家目录的位置,可以使用命令 useradd -D查看
3. /etc/skel/* //用户的初始配置文件,.bashrc .bash_profil .bash_logout
.bash_history 保存用户执行的历史命令,当用户退出时写入该文件.
.bash_logout 保存当用户退出时,执行的命令
.bashrc 保存用户定义的别名和函数
.bash_profile 保存用户搜索命令的路径
.bashrc shell级别环境配置文件
.bash_profile 登录级别环境配置文件
/etc/bashrc 全局shell级别环境配置文件
/etc/profile 全局登录级别环境配置文件
加载顺序
[root@xiaochen robin]# su – alice
/etc/profile
.bash_profile
.bashrc
/etc/bashrc
查看用户
[root@test ~]# id user10
uid=506(user10) gid=510(user10) groups=510(user10)
查看用户主目录权限
[root@test ~]# ll -d /home/user10/
drwx—— 3 user10 user10 4096 09-01 21:14 /home/user10/ //HOME目录
[root@test ~]# ll /var/spool/mail/user10 //用户mail spool
-rw-rw—- 1 user10 mail 0 09-01 21:14 /var/spool/mail/user10
删除用户
[root@test ~]# userdel user10 //删除用户user10,但不删除用户家目录和mail spool
[root@test ~]# ll -d /home/user10/
drwx—— 3 506 510 4096 09-01 21:14 /home/user10/
[root@test ~]# ll /var/spool/mail/user10
-rw-rw—- 1 user10 mail 0 09-01 21:14 /var/spool/mail/user10
userdel:
用法:userdel [选项] 登录名选项:
-f, –force 即使不属于此用户,也强制删除文件
-h, –help 显示此帮助信息并退出
-r, –remove 删除主目录和信件池
-R, –root CHROOT_DIR chroot 到的目录
-P, –prefix PREFIX_DIR prefix directory where are located the /etc/* files
–extrausers Use the extra users database
-Z, –selinux-user 为用户删除所有的 SELinux 用户映射
删除用户及主目录
[root@test ~]# userdel -r user11
[root@test ~]# ll /home/user11
ls: /home/user11: 没有那个文件或目录
创建用户时指定选项
# useradd user01
# useradd user02 -u 503 //创建用户usr02,指定uid,上限65535
# useradd user03 -d /aaa //创建用户user03 指定家目录
# useradd user04 -M //创建用户user04,不创建家目录,并非不在passwd中设置
# useradd user05 -s /sbin/nologin //创建用户并指定shell
# useradd user06 -g hr //创建用户,指定主组,尽量不要制定主组,指定附加组
# useradd user07 -G sale //创建用户,指定附加组
# useradd user08 -e 2014-04-01 //指定过期时间
# useradd user10 -u 4000 -s /sbin/nologin
修改用户的信息
[root@station230 ~]# usermod –help //尽量用命令修改,少去手动修改配置文件
[root@station230 ~]# useradd user10
[root@station230 ~]# grep ‘user10’ /etc/passwd
user10:x:509:509::/home/user10:/bin/bash
[root@station230 ~]# usermod -u 2000 user10 //修改用户uid
[root@station230 ~]# usermod -s /sbin/nologin user10 //修改用户shell
[root@station230 ~]# usermod -e 2013-02-11 user1000 //设置账号过期
修改家目录:
方法1:
# usermod -d /tmp/jack jack
# mv /home/jack/ /tmp/
方法2:
# usermod -m -d /home/jack jack
密码锁定与解锁
usermod -U username //解除锁定
usermod -L username //锁定用户
passwd -l username //锁定用户
passwd -u username //解除锁定
passwd -d username //清除密码
passwd -S username //查看用户状态
手工创建用户:
目的:便于理解用户的管理机制
1)添加用户/etc/passwd的相关内容
2)创建passwd中指定的用户家目录,并且修改家目录所有者(命令: chown 用户名 家目录)
3) 添加用户/etc/shadow的相关内容
4) 拷贝用户配置文件模板(命令: cp -rf /etc/skel/.[!.]* ~/)
5) 登录测试(命令: su – 用户名)
2. 口令加密文件: /etc/shadow
root: $ 1 $ MYG2NDG6 $ a1wtyr5GDM2esAPjug0YP0 :15636:0:99999:7:::
1.用户名
2.密码($加密算法$杂字串$密文)查看算法 man crypt
3.上次修改时间
4.最小间隔
5.最大间隔
6.密码过期前警告时间(默认是7天,在这期间可使用就旧密码)
7.缓冲时间(密码过期后预留给账户修改密码的时间)
8.失效时间
9.保留列
设置密码:
方法一:交互设置密码:
#passwd 用户名
方法二:非交互设置密码:
#echo “明文密码”|passwd 用户名 –stdin
# chage -d 0 username //强制用户在下一次登录时修改密码
3. 用户组文件:/etc/group
root:x:0:
1.组名
2.组密码占位符
3.gid
4.[用户列表]
用户组分类:
1.主组(在/etc/passwd里面第4个字段上)
2.从组(附加组)
约定:一个用户只能属于一个主组(默认跟随用户自动创建出来的那个组),可以属于多个附加组
# groupadd hr
# groupadd sale
# groupadd it
# groupadd net01 -g 2000 //添加组net01,并指定gid 2000
# groupdel net01 //删除组net01
# grep ‘net01’ /etc/group //查看/etc/group中组net01信息
组成员管理
注意:gpasswd将用户添加到组或从组中删除,只针对已存在的用户
[root@station230 ~]# gpasswd it //设置组密码
[root@station230 ~]# gpasswd -a user07 it //将某个用户加入到某个组
[root@station230 ~]# gpasswd -M user02,user03,us目的:便于理解用户的管理机制
1)添加用户/etc/passwd的相关内容
2)创建passwd中指定的用户家目录,并且修改家目录所有者(命令: chown 用户名 家目录)
3) 添加用户/etc/shadow的相关内容
4) 拷贝用户配置文件模板(命令: cp -rf /etc/skel/.[!.]* ~/)
5) 登录测试(命令: su – 用户名)er04 it //将多个用户加入到it组
[root@station230 ~]# grep ‘it’ /etc/group //查看it组中的成员
it:x:505:user02,user03,user04
[root@station230 ~]# gpasswd -d user07 it //删除用户usr07从it组
本网站尊重知识产权,如有侵权,请及时联系我们删除。
本站所有原创内容仅用于学习和交流目的,未经作者和本站授权不得进行商业使用或盈利行为。
暂无评论内容