Linux基础知识及系统管理(五):Linux用户管理

一、用户管理配置文件

1、用户信息文件:/etc/passwd

       格式:account:password:UID:GID:GECOS:directory:shell

             用户名:密码位:UID:GID:描述信息:宿主目录:shell

         eg:root:x:0:0:root:/root:/bin/bash

(1)用户名 root

(2)密码  密码位

(3)UID   用户标识号

                linux用户分为三种

                  超级用户(root,UID=0)

                  普通用户(UID 500-60000)

                 伪用户(UID 1-499)

                     伪用户与系统和程序服务相关;伪用户通常不需要或无法登陆系统;可以没有宿主目录

(4)GID   缺省组标识号

                每个用户都至少属于一个用户组;每个用户组可以包括多个用户;统一用户组的用户享有改组权限

(5)注释性描述 例如存放用户全名等信息

(6)宿主目录 :用户登陆系统后的缺省目录

(7)命令解释器:用户使用的shell,默认位bash

2、密码文件:/etc/shadow

       root:$1$IiS6co3I$4WrfYyOK.1NxVJhRa.Vcz/:17568:0:99999:7:::

       用户名:加密密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:账号闲置时间:失效时间:标志

       echo "123456" | md5sum

       pwunconv  shadow到passwd

       pwconv  passwd到shadow

3、用户组文件:/etc/group

4、用户组密码文件:/etc/gshadow

5、用户配置文件:

       /etc/login.defs

       /etc/default/useradd

6、新用户信息文件:/etc/skel

7、登陆信息:/etc/motd

              # cat /etc/issue

                  welcome to WDN Linux

二、用户管理命令

1、SetUID(4)的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行。

       设置SetUID;chomd 4755/u+s ...

       取消SetUID:chomd 755/u-s ...

       查找SetUID程序:

          find -perm -4000 -o

2、SetGID(2)的定义:

       设置SetGID;chomd 2755/g+s ...

       取消SetGID:chomd 755/g-s ...

       查找SetGID程序:

          find -perm -2000 –o

3、同时设置SetUID,SetGUD  chomd 6755

       eg:# mkdir /brother

           # touch /brother/newfile

           # chmod 777 /brother

           # ls -ld /brother

           drwxrwxrwx 2 root root 4096 01-15 19:31 /brother

          # ls -ld /brother/newfile

           -rw-r--r-- 1 root root 0 01-15 19:31 /brother/newfile

           # su - wdn002

           $ rm /brother/newfile

           rm:是否删除有写保护的 一般空文件 “/brother/newfile”? y

           $ ls /brother

       只要对目录有写权限,就可以把里面的文件删了

4、粘着位(1) 如果一个权限为777的目录,被设置了粘着位,每个用户都可以在目录下创建文件,但只可以删除自己是所有者的文件

       设置粘着位 chmod o+t

       eg;/tmp  目录

5、添加用户

(1)、useradd设置选项用户名 -D查看缺省参数

       eg:useradd -u 6666 -g root -G sys,apache -d /backup -s /bin/bash -c "project wdn" -e 2019-02-15 jackzhang

       -u:UID

       -g:缺省所属用户组GID

       -G:指定用户所属多个组

       -d:宿主目录

       -s:命令解释器Shell

       -c:描述信息

       -e:指定用户失效时间

(2)、passwd sam

(3)、手工添加用户

6、删除用户

(1)、userdel -r 用户名

       -r:删除用户目录

(2)、手工删除

7、设定密码 chage

       -l:查看用户密码设置

       -m:密码修改最小天数

       -M:密码修改最大天数

       -d:密码最后修改的日期

       -I:密码过期后,锁定账户的天数

       -E:设置密码的过期日期,如果为0,代表密码立即过期;如果未-1,代表密码永不过期

       -W:设置密码过期前,开始警告的天数

8、启动或停用shadow的功能

       pwconv/pwunconv

       grpconv/grpunconv

       system-config-users(启动图形化工具)

       authconfig、/etc/sysconfig/authconfig

9、锁定、恢复用户

      锁定用户 passwd -l  用户名

                usermod -L 用户名

      恢复用户 passwd -u  用户名

                usermod -U 用户名

三、用户组管理命令

1、添加用户组 groupadd

       groupadd -g 888 webadmin  创建用户组webadmin,其GID为888

2、删除用户组 groupdel 组名

3、修改用户组信息 groupmod

       groupmod -n apache webadmin

4、设置组密码及管理组内成员 gpasswd

       -a 添加用户到用户组

       -d 从用户组中删除用户

       -A 设置用户组管理员

       -r 删除用户组密码

       -R 禁止用户切换为该组

5、向一个组添加用户

       usermod -G 组名 用户名

       gpasswd -a 用户名 组名

6、groups 查看用户隶属于哪些用户组

    newgrp 切换用户组

    grpck 用户组配置文件检测

    chgrp 修改文件所属组

    vigr 编辑/etc/group文件(锁定文件)

    pwck 检测/etc/passwd文件(锁定文件)

    vipw 编辑/etc/passwd文件

    id 查看用户详细信息

    finger 查看用户详细信息

    su 切换用户(su - 环境变量切换)

    passwd -S 查看用户密码状态

    who、w 查看当前登录用户信息

7、授权用户jack和mary对目录/software有写权限

       #mkdir /software

       # ls -ld /software

       drwxr-xr-x 2 root root 4096 01-16 12:40 /software

       # useradd jack

       # useradd mary

       # passwd jack

       Changing password for user jack.

       New UNIX password:

       Retype new UNIX password:

       passwd: all authentication tokens updated successfully.

       # passwd mary

       Changing password for user mary.

       New UNIX password:

       Retype new UNIX password:

       passwd: all authentication tokens updated successfully.

       # groupadd softadm

       # grep softadm /etc/group

       softadm:x:505:

       # usermod -G softadm jack

       # gpasswd -a mary softadm

       正在将用户“mary”加入到“softadm”组中

      # grep softadm /etc/group

       softadm:x:505:jack,mary

       # ls -ld /software

       drwxr-xr-x 2 root root 4096 01-16 12:40 /software

       # chgrp softadm /software

       # ls -ld /software

       drwxr-xr-x 2 root softadm 4096 01-16 12:40 /software

       # chmod g+w /software

       # ls -ld /software

       drwxrwxr-x 2 root softadm 4096 01-16 12:40 /software

       # su - mary

       $ touch /software/adc    

四、批量添加用户

1、命令

       newusers;导入用户信息文件

       pwunconv:取消shadow password功能

       chpasswd:导入密码文件

         (格式  用户名:密码)

       pwconv:将密码写入shadow文件

2、实例1:一次批量添加5个用户

       # vi user.info

          1 wang01::1001:504::/home/wang01:/bin/bash

          2 wang02::1002:504::/home/wang02:/bin/bash

          3 wang03::1003:504::/home/wang03:/bin/bash

          4 wang04::1004:504::/home/wang04:/bin/bash

          5 wang05::1005:504::/home/wang05:/bin/bash

 

       "user.info" 5L, 205C written

       You have new mail in /var/spool/mail/root

       # newusers < user.info

       # tail -5 /etc/passwd

       wang01:x:1001:504::/home/wang01:/bin/bash

       wang02:x:1002:504::/home/wang02:/bin/bash

       wang03:x:1003:504::/home/wang03:/bin/bash

       wang04:x:1004:504::/home/wang04:/bin/bash

       wang05:x:1005:504::/home/wang05:/bin/bash

       # ls /home

       jack        mary    wang01  wang03  wang05  wdn002

       lost+found  shadow  wang02  wang04  wdn001  wdn123

       ]# pwunconv

       # vi pass.info

          1 wang01:wang

          2 wang02:wang

          3 wang03:wang

          4 wang04:wang

          5 wang05:wang

       "pass.info" [New] 5L, 60C written

       # chpasswd < pass.info

       # tail -5 /etc/passwd

       wang01:$1$gOKA1/kP$gh2IU0VtWWTaPg6IHO8Jz1:1001:504::/home/wang01:/bin/bash

       wang02:$1$gOKA1/kP$gh2IU0VtWWTaPg6IHO8Jz1:1002:504::/home/wang02:/bin/bash

       wang03:$1$gOKA1/kP$gh2IU0VtWWTaPg6IHO8Jz1:1003:504::/home/wang03:/bin/bash

       wang04:$1$gOKA1/kP$gh2IU0VtWWTaPg6IHO8Jz1:1004:504::/home/wang04:/bin/bash

       wang05:$1$gOKA1/kP$gh2IU0VtWWTaPg6IHO8Jz1:1005:504::/home/wang05:/bin/bash

       # pwconv

       # tail -5 /etc/shadow

       wang01:$1$gOKA1/kP$gh2IU0VtWWTaPg6IHO8Jz1:17912:0:99999:7:::

       wang02:$1$gOKA1/kP$gh2IU0VtWWTaPg6IHO8Jz1:17912:0:99999:7:::

       wang03:$1$gOKA1/kP$gh2IU0VtWWTaPg6IHO8Jz1:17912:0:99999:7:::

       wang04:$1$gOKA1/kP$gh2IU0VtWWTaPg6IHO8Jz1:17912:0:99999:7:::

       wang05:$1$gOKA1/kP$gh2IU0VtWWTaPg6IHO8Jz1:17912:0:99999:7:::

       # su - wang01

       $ pwd

       /home/wang01

       $ exit

       logout

五、用户授权

1、限制用户su为root

       # groupadd sugroup

       # chmod 4550 /bin/su

       # ls -l /bin/su

       -r-sr-x--- 1 root root 23960 2010-03-01 /bin/su

       # chgrp sugroup /bin/su

       # ls -l /bin/su

       -r-xr-x--- 1 root sugroup 23960 2010-03-01 /bin/su

       # usermod -G sugroup wang01

       # chmod 4550 /bin/su

       # su - wang01

       $ su - root

       口令:

       # su - wang02

       $ su - root

       -bash: /bin/su: 权限不够

2、用sudo代替su:

       -在执行sudo命令使,临时成为root

       -不会泄露root口令

       -仅向用户提供有限的命令使用权限

    配置文件:/etc/sudoers,编辑配置文件命令visudo

    普通用户使用命令sudo

       格式:用户名(组名) 主机地址=命令(绝对路径)

3、实例:普通用户管理Apache服务器

       所需要的功能,编辑Apache配置文件(httpd.conf);使用Apache启动脚本;更新网页

(1)、a 设置用户为配置文件的所有者 chmod

      b 改变所属组,把用户加入组,授予 w 权限

      c visodu 用户 地址=/bin/vi /etc/httpd/conf/httpd.conf

(2)、visudo 用户 地址=/etc/rc.d/init.d/httpd start,/etc/rc.d/init.d/httpd reload,/etc/rc.d/init.d/httpd fullstatus,/etc/rc.d/init.d/httpd configest

(3)、/var/www/html 改变所有者 改变所属组

你可能感兴趣的:(Linux,Linux)