设为首页 收藏本站
查看: 1652|回复: 0

[经验分享] ubuntu用户管理与权限操作实例

[复制链接]

尚未签到

发表于 2019-2-19 06:59:39 | 显示全部楼层 |阅读模式
  昨天在转载此文时提到都要把文件及目录权限的操作也会独立成文来给大家介绍,今天特地学习了用户管理和权限操作的例程,现总结如下。这些命令基本都是我在自己电脑上运行过后能够实现此功能,我才把他们加进来,希望对大家有所帮助,也希望和大家多交流^_^
一个实例
  例子:假设有两个用户bill和jane,他们都有音乐CD集,并要创建一个共享目录,在该目录下他们各自存储自己的音乐文件。此时用户bill通过sudo获得了超级用户权限。


  •   首先,创建一个以bill和jane为成员的用户组。
    sudo addgroup music  
    sudo useradd -g music jane
      
    sudo useradd -g music bill

    •   1
    •   2
    •   3
    •   4

  •   然后,bill创建了存储音乐文件的目录。
    sudo mkdir /usr/local/share/music  因为bill正在操作他主目录之外的文件,所以他需要超级用户权限,新创建的目录如下:
    ls -ld /usr/local/share/music  
    drwxr-xr-x 2 root root 4096 Jun 22 12:10 /usr/local/share/music

    •   1
    •   2
    •   3
    •   1
    •   2

  •   这个主目录为root所有,且权限值为755,要使该目录共享,bill需要更改该目录的所属群组,而且该群组要拥有写入权限。
    sudo chown :music /usr/local/share/music  
    sudo chmod 775 /usr/local/share/music
      
    ls -ld /usr/local/share/music
      
    drwxrwxr-x 2 root music 4096 Jun 22 12:10 /usr/local/share/music
      所以目前music群组就拥有了对music目录的读写权限,music的成员bill和jane也具有相同的权限,其他用户可以查看该目录,而不能修改该目录。

    •   1
    •   2
    •   3
    •   4
    •   5

  •   修改默认掩码:仍然有一个问题,在当前权限下,每个用户创建的文件和目录拥有bill和jane的常规权限;
    touch 12;ls -l  
    -rw-r--r-- 1 bill music 0 Jun 22 12:20 12
      由于系统中默认掩码是0022,导致该用户组的其他成员不能写入该文件,所以需要把bill和jane的默认掩码值修改为0002。
    drwxrwxr-x 2 bill music 4096 Jun 22 12:25 bill  
    drwxrwxr-x 2 jane music 4096 Jun 22 12:24 jane
      此时创建的文件和目录都具有正确的权限,允许用户组内成员在music目录下创建文件和目录。

    •   1
    •   2
    •   3
    •   1
    •   2
    •   3

linux文件/目录模式(权限)与用户管理
  传统的UNIX操作系统与传统的MS-DOS操作系统的不同之处在于它不仅是多重任务处理系统,而且是多用户系统。意味着同一时间内可以有多个用户使用同一台计算机。
linux文件/目录模式管理

  •   chomod文件模式(权限):只有超级用户和文件所有者才可以更改权限。chmod支持八进制和字符表示法两种方法来改变文件模式。
      rwx(0|1)(0|1)(0|1)读    写    执行
      chmod支持一种符号表示法来指定文件模式,该符号表示法分为三部分:更改会影响谁、要执行哪个操作、要设置哪种权限。可以通过u(user,文件目录所有者)、g(group文件所用户组)、o(others,其他用户)、a(all所有)的组合来制定要影响的对象,如果没有指定,则默认使用all。操作符+表示添加一种权限,-表示删除一种权限,=表示只有指定权限可用,其他权限都被删除。
      指定多种权限时,需用逗号分隔:u+x,go=rx。符号表示法的优点在于允许设置单个属性,而不影响其他的任何属性。
  •   umask——设置默认权限:umask命令控制着创建文件时指定给文件的默认权限,它用八进制表示法表示从该文件模式属性中删除一个位掩码。总共为4位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后3个,对于新创建的目录,其默认模式为~umask&(0777),对于新创建的文件则是~umask&(0666)。例如umask=0002,则创建目录的默认模式为0775,创建文件默认模式为0664。掩码的二进制数值中每个出现1的位置,其对应属性就被取消。
      root 的 umask 为 0022,而一般使用者则为 0002 ,因为可写的权限蛮严重的,因此预设都会拿掉这个权限!此外,因为 root 比较重要!所以为了安全的需求,其同群组的写入属性就被拿掉了!这东西对于安全性也有一定程度的贡献呦!
linux用户管理
赋予普通身份特殊权限
  su—以其他用户和组ID的身份来运行shell:su [-[l]] [user],-l显示登陆界面,可缩写为-。也可以使用su命令执行单个命令,而不需要开启一个新的交互式命令界面:su –c ‘command’,注意命令需要用单引号括起来。(在ubuntu 14.04中要使用该功能,就需要首先在root权限下设置root密码:passwd root,然后才能使用su命令)。
  sudo—以另一个用户的身份执行命令:和su功能类似,但是sudo命令并不需要输入超级用户密码。使用sudo命令,用户只需要输入自己的密码来进行认证。并且仅能执行预设的权限。
  sudo工具由文件/etc/sudoers进行配置,该文件包含所有可以访问sudo工具的用户列表并定义了他们的特权。
liming ALL=(ALL) ALL  
ADMINS ALL=(ALL) NOPASSWD: ALL  表示允许ADMINS不用口令执行一切操作123
  管理员需要允许gem用户在主机sun上执行reboot和shutdown命令,在/etc/sudoers中加入:
gem sun=/usr/sbin/reboot,/usr/sbin/shutdown  
sudo –l会显示当前用户在sudo模式下可以执行的权限。123
  chown—更改文件所有者和所用户组,这个命令需要超级用户权限:
chown [ower][:[group]] file…12  该命令更改的是文件所有者还是文件所用户组,取决于该命令的第一个参数。
chown bob file  把文件所有者从当前所有者更改为用户bob  
chown bob:users file 把文件所有者更改为bob,所用户组更改为users
  
chown :admins file  把文件所用户组改为admins
  
chown bob: file  把文件所有者更改为用户bob,所用户组改为用户bob登录时的所属的组12345
添加用户的方法
adduser [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID][--firstuid ID] [--lastuid ID] [--gecos GECOS] [--ingroup GROUP | --gid ID][--disabled-password] [--disabled-login] [--encrypt-home] USER添加普通用户(sudo adduser mountzf)12  注意这里有很多选项,可直接将用户加入用户组
adduser --system [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID][--gecos GECOS] [--group | --ingroup GROUP | --gid ID] [--disabled-password] [--disabled-login] USER添加系统用户  

  
useradd [options] LOGIN,有很多选项,可实现密码、根目录、用户组等1234
添加用户组的方法
adduser --group [--gid ID] GROUP(sudo adduser --group media)  
addgroup [--gid ID] GROUP (sudo addgroup document)
  
addgroup --system [--gid ID] GROUP加入—system选项表示添加系统用户组
  
groupadd [options] GROUP(sudo groupadd music)
  
groupmod修改用户组属性123456
添加用户至用户组
adduser USER GROUP(sudo adduser mountzf music)添加已存在的用户至已存在的用户组  
usermod –G/-g GROUP USER(usermod命令用来改变用户账号状态)123
  如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限。用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组。例如:newgrp root
删除用户
deluser USER  
  --remove-home             remove the users home directory and mail spool
  
  --remove-all-files        remove all files owned by user
  
  --backup                  backup files before removing.
  
  --backup-to          target directory for the backups. Default is the current directory.
  
  --system                  only remove if system user
  

  
userdel [options] LOGIN
  
  -f, --force                   force removal of files, even if not owned by user
  
  -h, --help                    display this help message and exit
  
  -r, --remove                  remove home directory and mail spool
  
  -R, --root CHROOT_DIR         directory to chroot into
  
  -Z, --selinux-user            remove any SELinux user mapping for the user
  
kill -9 [pid]删除进程号为[pid]的进程。123456789101112131415
删除用户组
delgroup GROUP  
deluser --group GROUP
  
  --system                  only remove if system group
  
  --only-if-empty           only remove if no members left
  
groupdel [options] GROUP123456
从用户组中删除用户
deluser USER GROUP(sudo deluser mountzf music)但是不能从主用户组中移除12查看用户组
cat /etc/group   music:x:1001:mountzf,jane同时可以显示该用户组中的用户成员(不包括以该组为主组的成员)  
groups 查看当前用户所属的用户组,当前用户组排在最前面
  
groups user 查看用户user所属的用户组1234
查看用户
id/whoami查看当前用户  
w/who查看当前登录的用户
  
cat /etc/passwd查看所有用户列表1234
  增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。
用户口令管理
passwd:超级用户可以为自己和普通用户指定口令,而普通用户只能修改自己口令。  
passwd修改自己的口令
  
passwd user超级用户修改user的口令
  
  -l 锁定口令,即禁用账号。
  
  -u 口令解锁。
  
  -d 使账号无口令。
  
  -f 强迫用户下次登录时修改口令。12345678
与用户管理有关的文件
  完成用户管理的工作有多种方法,但是每一种方法实际上都是对有关的系统文件进行修改,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。
/etc/passwd
  /etc/passwd文件是用户管理工作涉及的最重要的一个文件,/etc/passwd中一行记录对应着一个用户,其格式和具体含义如下:
mountzf:x:1000:1000:mountzf,,,:/home/mountzf:/bin/bash  
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell123
  系统中有一类用户称为伪用户(psuedo users),这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。
/etc/shadow
  /etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。
/etc/group
  用户组的所有信息都存放在/etc/group文件中。
  以上就是我这两天在ubuntu系统中学习用户管理和文件/目录权限操作所涉及的内容。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-674062-1-1.html 上篇帖子: 在Ubuntu 16.04上安装Joomla系统 下篇帖子: Ubuntu安装Go:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表