Chinaunix首页 | 论坛 | 博客
  • 博客访问: 80953
  • 博文数量: 21
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-18 16:08
文章分类

全部博文(21)

文章存档

2016年(2)

2014年(11)

2013年(8)

我的朋友

分类: LINUX

2013-07-17 23:27:20

linux用户和组的管理

  linux里面,一个用户添加到root组之后,还是普通用户,不是管理员,这点和windows是不同的;

  linux用户管理

(1)添加用户

       #useradd 用户名   (新建一个用户)

       [root@schangech proj]# useradd schangech

       选项可以添加到中间或者后面;

              -d 指定家目录;

              -M 不建立用户家目录;

              -u 指定用户id;当用户id相同时需要添加-o选项;

              -f 指定用户失效天数;

              -e 指定用户过期日期;

              -g 指定用户所属的主要组:

              -G 指定用户所属的附加组;

              -s 指定用户的登录shell;

              -c 指定用户的说明;

       练习:新建用户admin,指定用户id0,所属的主要组为root,附加组为usersadm,失效天数为60天,过期日期为2015715日,用户注释为systemgroup;

[root@schangech proj]# useradd -o -u 0 -g root -G schangech,adm -f 60 -e 2015/7/15 -c "system group" admin

(注意:此时的admin是不能删除的。想要删除必须修改用户id才能删除)

 

[root@schangech proj]# userdel -r admin

 

       删除用户

       #userdel -r username

       -r  删除用户同时删除用户家目录;家目录默认情况下在/home下;

       如果不删除用户家目录,删除用户之后,家目录成为无名家目录;

 

       修改用户属性

       #usermod  username

       (手工修改文件,不会引起文件的改变,此时的修改,只能通过手动来删除或者修改)

       -L   锁定用户

       -U   解锁用户

 

       设定用户密码

       #passwd username

        -l  锁定用户密码

       -u  解锁用户密码

       -d  删除用户密码

       [root@schangech home]# passwd -d schangech

 

       [root@schangech home]# passwd -l schangech

       锁定用户 schangech 的密码 。

       passwd: 操作成功

       [root@schangech home]# passwd -u schangech

       解锁用户 schangech 的密码 。

       passwd: 警告:未锁定的密码将是空的。

       passwd: 不安全的操作(使用 -f 参数强制进行该操作)

       [root@schangech home]# passwd -u -f schangech

       解锁用户 schangech 的密码 。

       passwd: 操作成功

 

       linux用户组的管理

       /etc/group

       #groupadd -g id 组名

       #groupdel 组名

       如果这个组是用户的主要组,就会提示你,此组不能删除,创建用户时,如果没有指定组的名称,会自动创建一个和用户名一样的组。

       [root@schangech home]# groupdel schangech

       groupdel: cannot remove the primary group of user 'schangech'

       #groupmod -g id 组名

 

       用户和组的配置文件

       /etc/passwd  用户基本信息文件

              用户名:用户密码:用户id:用户组id:用户说明信息:用户家目录:登录shell

              schangech:x:500:500::/home/schangech:/bin/bash

       注意:用户id分为三种类型:

              0  系统管理员id

              1499  系统内置用户id

              50065535   手工添加普通用户id

      

       /etc/shadow  保存用户密码和时间日期等相关信息

       schangech::15901:0:99999:7:::

       用户名:用户密码:用户创建的日期::用户的失效天数:用户过期的时间::

       !! 表示锁定用户,默认情况下,shadow里面会出现两个感叹号!,这里注意,使用大写L和小写l的效果是一样的,但是出现的感叹号个数不同而已;

       日期 从197011日开始加天数;

 

       /etc/group  用户组文件

       schangech:x:500:

       用户组名:用户组密码:用户组id:所属用户

       (可以通过图形界面来查找所属用户方式:[root@schangech proj]# system-config-users)

      

       /etc/skel  用户默认配置文件的复制目录

       什么是用户配置文件?

       用户登录或者注销时候,需要的环境配置文件

       (当我们新建用户,但是没有给该用户创建家目录时候,我们可以通过把/etc/skel里面的文件复制到相应的家目录里面,此时,该用户就可以是使用了)

      

       /etc/login.defs 创建用户时的默认配置

       仅仅针对新建用户的一些配置,对于已经存在的用户而言,没有什么效果;

 

       用户和组帐号查询

       id 命令,查询用户身份信息;

[root@schangech 桌面]# id schangech

uid=500(schangech) gid=500(schangech) =500(schangech)

 

       finger 命令,查询用户的详细信息

       [root@schangech 桌面]# finger schangech

       Login: schangech                           Name:

       Directory: /home/schangech                Shell: /bin/bash

       Never logged in.

       No mail.

       No Plan.

      

       [root@schangech 桌面]# mail -s "test" schangech      linux里面,可以直接使用mail来发邮件;

love

love

EOT

[root@schangech 桌面]# finger schangech

Login: schangech                           Name:

Directory: /home/schangech                Shell: /bin/bash

Never logged in.

New mail received 7 15 11:20 2013 (CST)

     Unread since 7 15 09:13 2013 (CST)

No Plan.

 

       chfn  修改用户信息

[root@schangech 桌面]# chfn schangech

[root@schangech 桌面]# chfn schangech

Changing finger information for schangech.

Name []: sxkeji

Office []: network

Office Phone []: 0731-3305451

Home Phone []: 010-4589756

 

Finger information changed.

[root@schangech 桌面]# finger schangech

Login: schangech                           Name: sxkeji

Directory: /home/schangech                Shell: /bin/bash

Office: network, 0731-3305451           Home Phone: 010-4589756

Never logged in.

New mail received 7 15 11:20 2013 (CST)

     Unread since 7 15 09:13 2013 (CST)

No Plan.

 

       w,who,users 对登录用户的查询;

[root@schangech 桌面]# w

 11:23:29 up  3:01,  2 users,  load average: 0.00, 0.00, 0.00

USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT

root     tty1  (终端)   :0               08:22    3:01m 52.56s 52.56s /usr/bin/Xorg :

root     pts/1    :0.0             09:14    0.00s  0.02s  0.00s w

 

-a  所有用户信息,看历史用户

-b  查询系统最后一次系统引导时间

[root@schangech etc]# who -b

         系统引导 2013-07-15 08:21

-l  运行级别,可以手动设定,在/etc/inittab

[root@schangech etc]# cat /etc/inittab

 

[root@schangech 桌面]# who

root     tty1         2013-07-15 08:22 (:0)

root     pts/1        2013-07-15 09:14 (:0.0)

 

[root@schangech 桌面]# users

root root

 

groups 查询组信息

[root@schangech etc]# groups

root

 

 

第九章  文件的权限及归属

   文件的属性信息

   文件类型 文件权限 硬链接数  用户 属组 大小 创建时间 文件名

(目录是不能创建硬链接数,但是还是有硬链接数,是怎么回事?

答案:显示的是目录下面有多少个文件。)

 

       如何找出/etc下面文件的数量?

       [root@schangech proj]# find /etc -type f -maxdepth 1 |wc -l

 

   文件权限的表示

       r  只读  对文件可以进行查看,对目录表示可以列出目录下的内容;

        w  可写 表示可以对文件修改,对目录而言,可以进行创建目录或者文件;

        x  可执行   对目录表示可以进入,对目录来说,表示可以执行;

       进入目录的权限是可执行的权限;

 

(老师的那个情况是如何弄的,我这里查看到/bin/cp里面的信息都是乱码。)

       cp不能够起作用,被修改了。如何修改的?修改的位置在哪儿?

 

    文件权限的用户设置

        -rwx r-x r-x

       前三位:文件属组的权限

       中间三位:文件属组用户权限

       后三位:其他用户权限

(注意:文件权限的位置是不变的 r 第一位表示,w 第二位表示,x 第三位表示)

 

     文件权限的十进制表示

       例如:权限r-x,rwx的十进制格式格式多少?

       r-x二进制为1015    rwx二进制为111:7

 

     文件权限的设置

       chmod 权限 文件

       用字符进行设置

       u  所有者

       g  所属组用户

       o  其他用户

       e  所有用户

 

       练习:设置文件file的权限为读写执行,所属组的用户只读,其他用户无任何权限;

       [root@schangech proj]# chmod u=rwx,g=r,o= file

       [root@schangech proj]# chmod 740 file  和上一条指令是同样的意义  

      

       [root@schangech proj]# chmod u-x,g+w,o+r file

 

       [root@schangech proj]# export PATH="$PATH:/myfile"

       (注意,在一个用户里面设置的环境变量,在另外用户里面是不会有作用的。)

 

       [root@schangech proj]# chmod a=x file

       [root@schangech proj]# ll

       总用量 0

       ---x--x--x 1 root root 0 7  15 15:07 file

      

       如果想要对一个目录下面的所有文件都同时修改权限,必须添加-R

       [root@schangech proj]# chmod 750 sxkeji/ -R

 

       设置文件的归属

       单独查看文件信息时候,需要加-d

       #chown  [-R] 所有者:所属组 文件

       #chown  schangech:users /proj/test -R

       #chown  schangech test

[root@schangech proj]# chown schangech:users test -R      赋予所有者权限

[root@schangech proj]# ll

总用量 4

drwxr-xr-x 2 schangech users 4096 7  15 15:41 test

 

[root@schangech proj]# chown .users movie       修改所属组

[root@schangech proj]# chown schangech movie 修改属主的用户

 

       chgrp user file 单独修改所属组的名称;

[root@schangech movie]# chgrp schangech file

[root@schangech movie]# ll

总用量 8

-rw-r--r-- 1 root schangech   33 7  15 15:56 file

 

       默认权限的设置

       umask命令设置权限掩码,决定创建文件和目录的默认权限;

       [root@schangech movie]# umask  查看目录的默认权限;

       0022

 

       创建文件的默认权限为:666-umask值;

              0666-0022=644

       创建目录的默认权限为:777-umask值;

              0777-0022=755

      

       练习:设置创建文件的默认权限为640

[root@schangech proj]# umask 0026    只需要修改默认的umask就行;注意,当你设置的大于六的时候,任然当作0来计算;

[root@schangech proj]# touch love

[root@schangech proj]# ll

总用量 0

-rw-r----- 1 root root 0 7  15 16:09 love

 

       练习:设置创建目录的默认权限为750

[root@schangech proj]# umask 0027

[root@schangech proj]# mkdir a

[root@schangech proj]# ll

总用量 4

drwxr-x--- 2 root root 4096 7  15 16:11 a

 

       文件的隐藏属性;

       lsattr  查看文件的隐藏属性      

              A  当设置了A属性时,文件的访问时间不能修改;无法改名等操作;

              S  将数据同步写入磁盘;

              a  当设置了a属性时,只能添加内容而不能删除;只有root才能设置;

              c  自动压缩文件,但是会增加CPU的消耗:

              i  设置后文件无法删除,修改,改名;锁定文件;

[root@schangech aixocm]# mv linux oracle 添加i属性后,无法删除和系统,改名等

mv: 无法将"linux" 移动至"oracle": 权限不够

 

                           

       如果查看的是目录,需要添加 -d ;

[root@schangech proj]# lsattr -d a

-------------e- a

      

       chattr   设置文件的隐藏属性;

       stat test

[root@schangech proj]# stat a

  File: "a"

  Size: 4096            Blocks: 8          IO Block: 4096   目录

Device: 802h/2050d       Inode: 5373967     Links: 2

Access: (0750/drwxr-x---)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2013-07-15 16:16:58.316133963 +0800  访问时间,不能够非常频繁的查看;

Modify: 2013-07-15 16:11:57.673135065 +0800 修改时间,对文件内容的修改

Change: 2013-07-15 16:11:57.673135065 +0800 对文件属性的修改;

 

[root@schangech proj]# chattr +A test

[root@schangech proj]# lsattr -d test

-------A-----e- test

 

    练习:

     (1)新建文件/myfile/apple,设置文件的权限为640,文件的所有者为apple用户和users

     (2)设置新建文件的默认权限为620

     (3)设置目录myfile的内容只能增加而不能删除,修改。

       [root@schangech proj]# chattr +a myfile/

 

     (4)当用户对一个文件具有写权限而无读、执行权限时,能不能查看文件内容?能不能添加内容到文件?

VIM 不能编写,只能使用echo来操作;  

[schangech@schangech ~]$ cat /schangech/proj/lin

cat: /schangech/proj/lin: 权限不够

[schangech@schangech ~]$ echo "i love oracle too" >/schangech/proj/lin

     (5)当一个文件的权限为000时,root用户能否进行读写操作?

       能,添加信息时,需要强制执行;可以查看

阅读(1372) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~