当前登陆者
who am i
修改拥有者与用户组
chown www dir
chgrg www dir
#-R 递归修改
chown -R www:www upload/
查看拥有者与用户组
cat /etc/passwd
cat /etc/group
passwd文件
用户账号 | 用户密码 | 用户ID | 用户组ID | 用户名全程 | 用户主目录 | 用户所使用的shell |
---|---|---|---|---|---|---|
root | x | 0 | 0 | root | /root | bin/bash |
用户及其属性信息passwd文件格式:主要存放UID 与用户名对应关系
/etc/passwd以:分隔成七段,我们详细了解下每段是代表什么
gentoo:x:1002:1002:Gentoo Distribution:/home/gentoo:/bin/cshlogin name:
1 登录用名(gentoo) #用户登录的用户名
2 passwd:密码(x) #用户登录使用的密码,不过密码加密保存在 /etc/shadow文件中
3 UID:用户身份编号(1002) #系统自动分配的唯一UID号
4 GID:登录默认所在组编号(1002) #系统自动新建的一个主组的GID
5 Gentoo Distribution:用户全名或注释
6 home directory:用户主目录(/home/gentoo) #若可以登录系统,默认登录到自己家目录
7 shell:用户默认使用shell (/bin/bash) #默认的登录的运行环境是 bash shell
对用户做限制
由于 passwd 不再保存密码信息,所以用 x 占位代表。
若要使某个用户账户不能登录 linux,只需设置该用户所使用的 shell 为 / sbin/nologin 即可。比如,对于 FTP 账户,一般只允许登录和访问 FTP 服务器,不允许登录 linux 操作系统。若要让某用户没有 telnet 权限,即不允许该用户利用 telnet 远程登录和访问 linux 操作系统,则设置该用户所使用的 shell 为 / bin/true 即可。若要让用户没有 telnet 和 ftp 登录权限,则可设置该用户的 shell 为 / bin/false。
在 / etc/shells 文件中,若没有 / bin/true 或 / bin/false,则需要手动添加:
[root@localhost ~]# echo "/bin/false">>/etc/shells
[root@localhost ~]# echo "/bin/true">>/etc/shells
group文件
组及其属性信息 /etc/group文件格式:主要以:分隔,分隔为四个字段
1.组名:adnmis
2.组密码:密码文件为 /etc/gshadow
3.组ID号:组的唯一ID标示
4.组内成员:该组附加成员有natasha harry
shadow文件
主要存放用户与密码的对应关系
passwd文件中定义了密码,但是密码文件不是保存在此文件中个,文件保存在 /etc/shadow
用户密码及其相关属性shadow文件格式:主要以:为分隔符,分隔为8段
harry:$6$KZtMQdf3$ZQ8AEjDANLwynDEOE2GsehwLTIHKMEhiMSBY8tU7pgvKrkYupS2PMjPYVwwx6llIv42.HePJlEau2/hVGCzsa.:17012:0:99999:7:::
1 登录用名 #用户名harry
2 用户密码:一般用sha512加密 # $6表示sha512加密,$KZtMQdf3$表示随机数,后面的就是加密后的密码了
3 从1970年1月1日起到密码最近一次被更改的时间 #在后面我们使用相应的指令可以单独修改
4 密码再过几天可以被变更(0表示随时可被变更) #在后面我们使用相应的指令可以单独修改
5 密码再过几天必须被变更(99999表示永不过期) #在后面我们使用相应的指令可以单独修改
6 密码过期前几天系统提醒用户(默认为一周) #在后面我们使用相应的指令可以单独修改
7 密码过期几天后帐号会被锁定 #在后面我们使用相应的指令可以单独修改
8 从1970年1月1日算起,多少天后帐号失效。 #在后面我们使用相应的指令可以单独修改
gshadow文件
gshdow文件格式:主要以:分隔,分隔为四个字段
[root@wCentos7 ~]# cat /etc/gshadow
1.群组名称:就是群组名称 (admins)
2.群组密码:(通常情况下是没有的)
3.组管理员列表:组管理员的列表,更改组密码和成员
4.以当前组为附加组的用户列表:(分隔符为逗号)(natasha,harry)
创建与删除用户
创建用户
#添加之后要添加密码
useradd user1
passwd user1 #进入设置密码模式
参数:
-u:指定UID标记号
-d:指定宿主目录,缺省为/home/用户名
-e:指定账号失效时间(下面usermod也有此选项)
-g:指定所属的基本组(组名或GID)
-G:指定所属的附加组(组名或GID)
-M:不为用户建立并初始化宿主目录、
-s:指定用户的登录shell(默认为/bin/bash,一般不用改,在建立非登录用户的时候可以指定
为/sbin/nologin)
注:这些参数都能分开用,不冲突的可以在建立用户的时候连着用。
删除用户
userdel
-格式:userdel [-r] 用户名
添加-r选项,宿主目录/用户邮件也一并删除
创建与删除用户组
创建组
gourpadd [-g GID] 组名
-g参数指定了新建用户组的GID
删除用户组
groupdel:删除用户组
-格式:groupdel组名
-删除的目标组不能是用户的基本组。
移动用户到指定用户组
usermod
usermod -G groupname username(这个会把用户从其他组中去掉)
usermod -a -G groupname username(加参数a不会移除用户已加入的用户组,相当于同时加入多个组)
扩展权限修改
从组中删除用户
编辑/etc/group 找到GROUP1那一行,删除 A
或者用命令
gpasswd -d A GROUP
创建/删除用户组
也可以在新建用户时候新建用户组
useradd -g 新用户组名 用户名 //使用-g参数来创建用户组
chmod
1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限