linux学习笔记一 etc/group useradd passwd

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习笔记一 etc/group useradd passwd相关的知识,希望对你有一定的参考价值。

/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的;用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;/etc/gshadow/etc/group的加密信息文件。

 /etc/group的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:

group_name:passwd:GID:user_list

第一字段:用户组名称;

第二字段:用户组密码;一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*

第三字段:GID组标识号与用户标识号类似,也是一个整数,被系统内部用来标识组。别称GID.

第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

[[email protected] /]$ cat /etc/group

root:x:0:234

bin:x:1:bin,daemon

daemon:x:2:bin,daemon

sys:x:3:bin,adm

adm:x:4:adm,daemon,234

tty:x:5:

disk:x:6:

lp:x:7:daemon

mem:x:8:

kmem:x:9:

wheel:x:10:

mail:x:12:mail,postfix

uucp:x:14:

man:x:15:

games:x:20:

gopher:x:30:

video:x:39:

dip:x:40:

ftp:x:50:

lock:x:54:

我们以root:x:0:234为例: 用户组rootx是密码段,表示没有设置密码,GID0,root用户组下包括root234以及GID0的其它用户

whoami 查看当前登录用户名

[[email protected] /]$ whoami

srd

groups查看当前登录用户所属组

[[email protected] /]$ groups

srd

这里使用 tail命令查看、etc/group里面的关于srd账号的信息,可以看到srd组GID是500

[[email protected] /]$ tail -12 /etc/group

slocate:x:21:

srd:x:500:

mysql:x:27:

nagios:x:501:

nagcmd:x:502:nagios,apache

123:x:503:

group:x:504:

999:x:505:

555:x:506:

666:x:507:

z:x:508:

PD2913:x:509:

[[email protected] /]$ 

Chgrp 改变文件所属者

可以看到2015这个文件夹所属者是root

[[email protected] /]# ll

ls: cannot access nas: No such device or address

total 4322

-rw-r--r--.   1 root   root       247 Dec 31 15:26 1

drwxr-xr-x.   2 root   root      4096 Jan 23 11:30 2015

将2015改成500,500是srd的GID

[[email protected] /]# chgrp -v 500 2015

changed group of `2015‘ to 500

再查看2015所属组已经改变了

[[email protected] /]# ll

ls: cannot access nas: No such device or address

total 4322

-rw-r--r--.   1 root   root       247 Dec 31 15:26 1

drwxr-xr-x.   2 root   srd       4096 Jan 23 11:30 2015

文件属性 ll查看

从上面看到2015属性d rwx r-x r-x.

d文件夹, - 是文件,l 表示为连结档, b 表示为装置文件里面的可供储存的接口设备, c 表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

第2-4位标示文件所有者u权限 rwx:  r代表可读(read)、 w代表可写(write)、 x代表可执行(execute) 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已

第5-7位表示文件所属组g权限。第8-10位表示其他用户o的权限

上面2015文件夹srd能读不能写

[[email protected] /]$ cd 2015

[[email protected] 2015]$ mkdir 1

mkdir: cannot create directory `1‘: Permission denied

chmod改变文件的权限 所有者所属组加上写权限,查下权限显示所属组可以写了

[[email protected] /]# chmod g+w 2015                      (组加上写权限W)

[[email protected] /]# ll

ls: cannot access nas: No such device or address

total 4322

-rw-r--r--.   1 root   root       247 Dec 31 15:26 1

drwxrwxr-x.   2 root   srd       4096 Jan 23 11:30 2015

现在srd可以写2015文件夹了

[[email protected] /]$ cd 2015

[[email protected] 2015]$ mkdir 1

[[email protected] 2015]$ 


chown 改变文件所有者和组

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限

[[email protected] /]# mkdir 2016

[[email protected] /]# ll

ls: cannot access nas: No such device or address

total 4326

-rw-r--r--.   1 root   root       247 Dec 31 15:26 1

drwxrwxr-x.   3 root   srd       4096 Jan 23 11:58 2015

drwxr-xr-x.   2 root   root      4096 Jan 23 13:50 2016

改变2016文件夹所有者

[[email protected] /]# chown srd:srd 2016

[[email protected] /]# ll

ls: cannot access nas: No such device or address

total 4326

-rw-r--r--.   1 root   root       247 Dec 31 15:26 1

drwxrwxr-x.   3 root   srd       4096 Jan 23 11:58 2015

drwxr-xr-x.   2 srd    srd       4096 Jan 23 13:50 2016




[[email protected] /]# cd 2016

[[email protected] 2016]# ll

total 12

drwxrwxr-x. 2 srd srd 4096 Jan 23 14:04 1

drwxrwxr-x. 2 srd srd 4096 Jan 23 14:04 2

drwxrwxr-x. 2 srd srd 4096 Jan 23 14:04 3

[[email protected] 2016]# cd 1

[[email protected] 1]# ll  看到里面文件的所有者和所有者所属组的权限

total 4200

-rwxr-xr-x. 1 srd srd 1789376 Jan 23 14:04 nagios-3.5.0.tar.gz

-rwxr-xr-x. 1 srd srd 2087089 Jan 23 14:04 nagios-plugins-1.4.16.tar.gz

-rwxr-xr-x. 1 srd srd  421635 Jan 23 14:04 nrpe-2.14.tar.gz

[[email protected] 1]# 



[[email protected] 2016]# chown -R -v PD2913:PD2913 1

changed ownership of `1/nagios-3.5.0.tar.gz‘ to PD2913:PD2913

changed ownership of `1/nagios-plugins-1.4.16.tar.gz‘ to PD2913:PD2913

changed ownership of `1/nrpe-2.14.tar.gz‘ to PD2913:PD2913

changed ownership of `1‘ to PD2913:PD2913

[[email protected] 2016]# cd 1

[[email protected] 1]# ll  看到里面文件的所有者和所有者所属组的权限变为PD2913了

total 4200

-rwxr-xr-x. 1 PD2913 PD2913 1789376 Jan 23 14:04 nagios-3.5.0.tar.gz

-rwxr-xr-x. 1 PD2913 PD2913 2087089 Jan 23 14:04 nagios-plugins-1.4.16.tar.gz

-rwxr-xr-x. 1 PD2913 PD2913  421635 Jan 23 14:04 nrpe-2.14.tar.gz

[[email protected] 1]# 



添加新的用户账号使用 useradd 命令,其语法如下:

useradd 选项用户名

其中各选项含义如下:

-ccomment 指定一段注释性描述。
-d
目录指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g
用户组指定用户所属的用户组。
-G
用户组,用户组指定用户所属的附加组。
-s Shell
文件指定用户的登录Shell
-u
用户号指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

增加用户账号就是在 /etc/passwd 文件中为新用户增加一条记录,同时更新其他系统文件如 /etc/shadow, /etc/group等。



[[email protected] /]# useradd -d /usr/456 -m 456

[[email protected] /]# 

此命令创建了一个用户456

其中-d-m选项用来为登录名456产生一个主目录/usr/456/usr为默认的用户主目录所在的父目录)


[[email protected] /]# tail -5 /etc/group

555:x:506:

666:x:507:

z:x:508:

PD2913:x:509:

456:x:510:


[[email protected] /]# useradd -s /bin/sh -g srd -G adm,root 678

[[email protected] /]# 

此命令新建了一个用户678,该用户的登录Shell/bin/sh,它属于srd用户组,同时又属于admroot用户组,其中srd用户组是其主组。

[[email protected] /]# tail -11 /etc/passwd     显示倒数11行以后的用户信息,678和srd的GID都是500

tcpdump:x:72:72::/:/sbin/nologin

srd:x:500:500::/home/srd:/bin/bash

mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

nagios:x:501:501::/home/nagios:/sbin/nologin

123:x:502:503::/usr/123:/bin/bash

234:x:503:500::/home/234:/bin/sh

555:x:504:506::/home/555:/bin/bash

666:x:505:500::/home/z:/bin/sh

PD2913:x:506:509::/home/PD2913:/bin/bash

456:x:507:510::/usr/456:/bin/bash

678:x:508:500::/home/678:/bin/sh


[[email protected] /]# cat /etc/group  显示678属于root组

root:x:0:234,678

bin:x:1:bin,daemon

daemon:x:2:bin,daemon

修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。

修改已有用户的信息使用usermod命令,其格式如下:usermod 选项用户名,

常用的选项包括-c, -d, -m, -g,-G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用如下选项:

下面命令将用户678的登录Shell修改为bin/bash,主目录改为/home/z,用户组改为srd



[[email protected] /]# usermod -s /bin/bash -d /home/z -g srd 678

usermod: user 678 is currently logged in


[email protected] /]# ps aux |grep 678         查询用户678有哪些进程

root     24678  0.0  0.0 108336  1800 pts/1    S    Jan22   0:00 bash

root     32868  0.0  0.1 161440  1972 pts/1    S    14:30   0:00 su 678

678      32869  0.0  0.0 108340  1588 pts/1    S    14:30   0:00 sh

root     33427  0.0  0.0 103252   864 pts/1    S+   16:05   0:00 grep 678

[[email protected] /]# kill -s 9 32869  KILL掉,其中-s 9 制定了传递给进程的信号是9,即强制、尽快终止进程

[[email protected] /]# [[email protected] /]# 

[[email protected] /]# ps aux |grep 678  再次查询用户678有哪些进程

root     24678  0.0  0.0 108336  1800 pts/1    S    Jan22   0:00 bash

root     33433  0.0  0.0 103252   864 pts/1    S+   16:07   0:00 grep 678


[[email protected] /]# usermod -s /bin/bash -d /home/z -g srd 678   修改用户,不再报错了

[[email protected] /]# 

[[email protected] /]# tail -5 /etc/passwd

555:x:504:506::/home/555:/bin/bash

666:x:505:500::/home/z:/bin/sh

PD2913:x:506:509::/home/PD2913:/bin/bash

456:x:507:510::/usr/456:/bin/bash

678:x:508:500::/home/z:/bin/bash   修改成功


用户密码的管理

用户账号刚创建时没有密码,但是被系统锁定,无法使用,必须为其指定密码后才可以使用,即使是指定空密码。

指定和修改用户密码的Shell命令是passwd。超级用户可以为自己和其他用户指定密码,普通用户只能用它修改自己的密码。命令的格式为:passwd 选项用户名

可使用的选项:

-l锁定密码,即禁用账号。
-u
密码解锁。
-d
使账号无密码。
-f
强迫用户下次登录时修改密码。

如果默认用户名,则修改当前用户的密码。

例如,假设当前用户是678,则下面的命令修改该用户自己的密码:

$ passwd
Old password******
New password
*******
Re-enter new password
*******

如果是超级用户,可以用下列形式指定任何用户的密码:

# passwd 678
New password
*******
Re-enter new password
*******

普通用户修改自己的密码时,passwd命令会先询问原密码,验证后再要求用户输入两遍新密码,如果两次输入的密码一致,则将这个密码指定给用户;而超级用户为用户指定密码时,就不需要知道原密码。

为用户指定空密码时,执行下列形式的命令:

# passwd -d 678

此命令将用户678的密码删除,这样用户678下一次登录时,系统就不再询问密码。

正常情况切换用户需要输入密码。见下图

[[email protected] /]# passwd -d 678

Removing password for user 678.

passwd: Success


passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:

#passwd -l 678

[[email protected] /]# passwd -l 678

Locking password for user 678.

passwd: Success

登录时候提示密码不对

[[email protected] 2015]$ su 678

Password: 

su: incorrect password


解锁

[[email protected] /]# passwd -u 678

Unlocking password for user 678.

passwd: Success


本文出自 “PD” 博客,请务必保留此出处http://zhouwubin.blog.51cto.com/2404719/1737897

以上是关于linux学习笔记一 etc/group useradd passwd的主要内容,如果未能解决你的问题,请参考以下文章

Linux 权限磁盘操作命令-Linux基础环境命令学习笔记

Linux 权限磁盘操作命令-Linux基础环境命令学习笔记

Linux之/etc/group文件

linux笔记_day06

linux学习作业-第四周

Linux 组配置文件(/etc/group)