首页 > 代码库 > 用户和组
用户和组
用户和组
之所周知我们想获取操作系统上的资源就必须要有账户获取相应的访问权限,好多企业规模较大一般会有很多部门,我们在搭建文件服务器的时候可以根据部门划分组在一个组的成员可以设置相同的权限便于公司内部某个部门间文件互访,既然用户和组这么重要那么下面跟大家分享下用户和组的基本操作。
今天跟大家讨论下在linux系统下用户和组的使用说明:
首先给搭建介绍下模板文件,这是用户在使用useradd添加用户的时候参照的模板其配置文件为/etc/login.defs,下面分析下主要字段的相关含义。
MAIL_DIR /var/spool/mail 用户邮件位置
PASS_MAX_DAYS 99999 密码过期的最大天数 表示密码永不过期
PASS_MIN_DAYS 0 密码过期的最小天数
PASS_MIN_LEN 5 密码的最小长度
PASS_WARN_AGE 7 密码过期的警告时间
CREATE_HOME yes 是否创建加目录
用户uid的范围(常规创建)
UID_MIN 500
UID_MAX 60000
用户gid的范围
GID_MIN 500
GID_MAX 60000
UID 系统用来标识用户的身份 就好比人的身份证
GID 系统用来标识组的身份
用户文件分析
cat /etc/passwd | grep user1
user1:x:66666:504::/home/user1:/bin/bash
1.用户名
2.密码位(如果把x位拿掉此用户就无密码)
3.用户的uid
4.用户的gid
5.描述信息
6.用户的家目录
7.用户登录的shell环境
说明:
/sbin/nologin 非登录shell 如果设置为此shell表示次用户不能登录到该系统
创建用户帮助:
useradd --help man useradd
创建用户
useradd zhangsanfeng 创建新用户
useradd -d /tmp/lisi lisi 指定家目录
useradd -u 66666 user1 指定UID创建用户
useradd -g 505 user3 指定GID(该gid要存在)
useradd -c IT mayun 指定用户的描述信息
useradd -s /sbin/nologin user4 指定用户的登录shell
useradd -e, --expiredate EXPIRE_DATE 指定指定账户的过期时间
useradd -e 11/02/15 user5
useradd -G IT1,IT2 定义用户有多个附属组
useradd -o, --non-unique 用户和组非唯一
useradd -u 509 user7 -o 创建相同uid的用户
useradd -r, --system
系统用户uid范围1-499 系统用户一般无法登录 有些服务依赖这些账户
设置密码
passwd lisi
用户切换
su - user
注意:用户切换的时候需要带-
普通用户跟普通用户间切换需要密码
普通切换到root需要密码
root切换到普通用户无需密码
如果退出当前用户exit
-表示还原为自己的环境变量
不带-表示继承上个用户的环境变量
查看用户
1)cat /etc/passwd
2)id user1
说明:
uid=66666(user1) gid=504(user1) 组=504(user1) 其中user1为主组如果后面还有其他组叫做附属组。
whoami 显示当前的用户是谁
groups 查看组
修改用户
查看帮助
usermod --help
man usermod
用法:
usermod -c "武当" zhangsan 修改用户的描述信息
-d /home/lisi lisi 修改用户的家目录
-e 11/02/15 user2 修改用户账户具体过期时间
-g IT user1 修改用户的主组
-G zhangsanfeng,IT lisi 为lisi添加两个附属组
-l yewen lisi 把用户lisi改为yewen
-L user1 锁定账户user1
-U user1 解锁账户
-o 非唯一
-s /sbin/nologin user2 更改用户的登录shell
-u 888 zhangsan 修改用户的uid
设置密码
passwd [username]
账户切换
su - <username>
退出账户
exit
删除账户
userdel -r username (-r彻底删除)
锁定用户
usermod -L username
锁定密码
passwd -l user1
解锁密码
passwd -u user1
查看用户的状态
passwd -S user1
++++++++++++++++++关于组(主、附属)+++++++++++++++++++++++++++++++
创建组
groupadd store 直接创建组
-g 515 IT1 创建一个指定gid的组
-o 非唯一 可以跟别的组gid一样
-r IT2 创建系统组
查看组信息:
cat /etc/group
组名:密码位:gid:组员
查看某用户组信息
id username
添加、删除用户到/出组
gpasswd --help
-a user1 IT 把用户user1 添加到IT组
-d user1 IT 把用户user1 移出IT组
-M user1,user2 IT 把多个用户追加到统一个组
-A redhat,user3 IT 设置IT组的管理员为redhat and user3
注意:组的管理员并不属于该组
gshadow文件详解
cat /etc/gshadow | grep IT
IT:!:redhat,user3:user1,user2
组名:密码:组的管理员:组的成员列表
删除组
groupdel IT
shadow文件详解
cat /etc/shadow
1.用户名
2.密码
3.用户最后一次修改密码的日期 (16738/365+1970=2015)
4.可以修改密码的最小间隔
5.密码过期时间
6.密码过期前警告期限
7.密码过期时间到期后可以宽限的时间
8.账户具体过期时间
9.保留位
如何手动创建用户?
1.vim /etc/passwd
jim:x:505:505::/home/jim:/bin/bash
2.vim /etc/shadow
jim:!!:16742:0:99999:7:::
3.vim /etc/group
jim:x:505:
4.vim /etc/gshadow
jim:!::
5.mkdir /home/jim
6.cp -r /etc/skel/. /home/jim/
7.chmod 700 /home/jim/ -R
8.chown jim.jim /home/jim/ -R
9.cd /var/spool/mail/
touch jim
10.chmod 660 jim
11.chgrp mail jim
关于用户和组的分享今天就说到这里,不足住处请大家指正谢谢!
用户和组