LINUX学习第7天---用户权限/命令 管理

用户存放目录:/etc/passwd中

用户密码:/etc/shadow中

统计用户:wc -l /etc/passwd 共有几个用户(注意:这里列出的是全部用户,包裹 管理员/普通用户/伪用户 这3种)所以看到是平常比有的要多很多!

more /etc/passwd 后可以查看到 passwd中的用户列表

用户分类:       1.管理员 /    2.伪用户 /    3. 普通用户

   用户的区别     UID恒为0    UID为1-499    UID为500-60000

看下列列表

root:x:0:0:root:/root:/bin/bash  以每个:分割。共分为7部分

root =user用户名 X:密码 0:代表用户的ID 0:代表用户的所属组ID root:代表用户描述信息 /root:用户的宿主目录 /bin/bash:用户的命令解析器shell所在目录 默认的是bash 也可以切换,在命令行下输入 sh 就会切换到sh 只有系统里存在就可以切换

超级用户:ROOT 拥有全部权限。可以干很多用户不能干的事。所以尽量少用ROOT用户。

普通用户:就是后续添加的用户

伪用户:伪用户是系统相关进程自动产生的用户,每个进程都有一个伪用户。例:bin /mail /apache /ftp /mysql 像这些都是。伪用户通常不需要登陆或根本登陆不了 看下伪用户的信息 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin  伪用户的shell 脚本后面都有/sbin/nologin  也可以没有宿主目录。而普通用户都会在/home下面创建和自己用户相同的宿主目录

/etc/shadow 用户密码文件:

root:$1$/nOiMT/s$1YcSA6qEVWxiSb33NrFrE.:15034:0:99999:7:::

共有8部分。主要是前部分

root:用户名 $1$/nOiMT/s$1YcSA6qEVWxiSb33NrFrE.:经过MD5加密的密码 15034:最后修改密码时间(UNLINX诞生日开始算)99999:用户账号过期时间 7:密码过期警告时间

passwd和shadow  之间可以进行密码互换

pwconv和pwunconv 这两个命令 关闭和启用shadow 不过尽量不要使用。因为使用之后shadow文件里的密码全部写回passwd了

用户组的管理:

/etc/group

root:x:0:root   / adm:x:4:root,adm,daemon

root:组名 x:组密码 0:组UID root:组内成员(多个成员之间用,隔开)

添加用户管理:

添加我们可以使用useradd name 可以添加

useradd之中的命令选项: useradd -D 可以查看它的缺省参数

1.u 设定用户的UID

2.g 设定用户的缺省组ID

3.G 添加用户到多个组

4.d 可以知道用户的宿主目录(默认是/HOME下。不建议大家更改。如更改:d 后面跟上绝对路径)

5.s 命令解析器shell

6.c 描述信息-最好是写上,也可以不写

 这个其中有个重要的命令: SetUid 

为什么普通用户用passwd可以修改密码  ?

大家可以使用 ls -l "which passwd"来查看文件权限有什么不一样

-rwsr-xr-x 1 root root 22984 Jan  7  2007 /usr/bin/passwd 是不是多了一个 S 权限

/bin 下的命令权限都是 755 因为 umask 默认的权限是 0022 

SETUID:当一个可执行文件(X.命令,脚步,)具有SETUID ,它会以ROOT管理员的身份执行 {SETUID默认权限是4,特殊权限}

SETUID用法: 想要赋予那个命令有S权限。使用:chmod u+s shell命令 或者使用数字表示 chmod 4755 shell 命令

用户组的管理和权限:

 组用户列表:gpasswd 

组用户密码: gshadow 

gpasswd 使用选项:

1.-a  添加用户到组 gpasswd -a user(用户) adm(用户组)

2.-A 设置用户组中的成员为这个组的管理员 gpasswd -A  user(用户) adm(用户组)

3. -d 从这个组中删除用户 gpasswd -d user(用户) adm(用户组)

usermod 命令:

 1.usermod -G  adm (组名)user(用户) 添加这个用户到这个组中

 2.userdel -r   adm (组名)user(用户) 从这个组中删除这个用户 (加 r 命令是 删除时同时删除用户的宿主目录。不加则不删除宿主目录)

用户组的权限管理实例:

1:授权fyhqy 和myadmin 对目录test有写入权限

groupadd webadmin (添加用户组 webadmin)

usermod -G webadmin fyhqy (添加用户 fyhqy到用户组webadmin中)

gpasswd -a myadmin webadmin(添加用户myadmin到用户组 webadmin中)

chgrp webadmin /test (使test目录属于webadmin 这个组)

chmod g+w webadmin (给webadmin加上有写入权限) 

然后所属组内的成员也有写入权限了

可以使用命令来查看

ls -ld /test 查看目录所有者 grep webadmin /etc/group 查看webadmin内用户

2.限制SU用户为ROOT

groupadd sugroup (添加sugroup组)

chmod 4550 /bin/su (设置权限为4550)

chgrp sugroup /bin/su  (设置/bin/su的所属组为 sugroup)

ls- l /bin/su (查看SU的文件权限和类型)

-r-sr-x--- 1 root sugroup 23960 Mar  1  2010 /bin/su 现在是不是有S权限了

这样就只有sugroup中的用户可以使用 su - user 来切换 root 账号了

快捷命令:

1.id user 用户名)查看用户信息的用户所属组

2.finger user 查看用户的详细信息

3.who 、w 查看当前用户信息

4.groups user (查看用户当前所在组)

 禁用用户:

  1.usermod -L user 

  2.passwd -l user

 恢复用户:

   1.usermod -U user

   2.passwd -u user

附上老师讲课时的PPT文件和课下作业!

相关文章

仅有 1 条评论
  1. 虾米

    草蛋!!!》。。。

    虾米 回复
发表新评论