linux下如何修改用户权限,使每个用户有不同的功能

2024年11月01日 03:16
有3个网友回答
网友(1):

其实一楼已经说得比较详细了。我觉得你先弄清楚几个概念:操作系统用户、系统超级用户、系统普通用户、管理员角色、操作员角色、普通用户角色。
1、首先前面三个是存在于unix或linux上的可用于登录的用户
2、后面三个是逻辑概念,对应到操作系统上可能有多个操作系统用户,比如“我”和“你”可以是管理员,可以同时拥有系统超级用户的密码,但是我们可能都不能直接用系统超级用户远程登录,需要“我”自己的系统用户远程登录后su到超级用户
3、默认系统超级用户可以对其他系统用户进行操作,所以“谁”作为管理员,有两层含义:1)谁拥有超级用户密码;2)他们是否拥有各自的系统用户用于su到超级用户
4、其他非系统超级用户均不能管理其他用户,所以你所说的“操作员”和“普通用户”在linux和unix上就是非系统超级用户。
5、文件的权限靠用户owner和group进行限定和控制

因此你的需求是靠用户组和文件权限来控制,举个例子:
root是超级用户,组是system、dns
root可以作为管理员,该用户密码可以授权给管理员角色,管理员角色可以拥有一个操作系统用户,比如一个普通用户john,他的组是stuff)
普通用户bob 组是dns (可以作为操作员)
普通用户pop 组是stuff (可以作为你所说普通用户)

假如网元配置文件是dns.conf,它的权限是靠管理员角色(拥有john这个用户的人)进行设定的
他登录后进行设定:
$su - root
#chown root:dns dns.conf
#chmod 775 dns.conf
这样设定后,效果如下:
root用户,也即管理员可以修改该文件,可以管理用户bob和pop
bob用户,也即操作员,可以修改该文件,不可以管理root和pop用户,及其他所有用户
pop用户,也即普通用户,仅可以查看该文件,不可以管理用户root和bob用户,及其他所有用户

网友(2):

在/etc/下
有用户密码验证权限列表文件:
shadow、passwd文件

找到对应userid那一行,将userid那一列你的id改成0,然后强制保存退出。这时候你的这个用户就有超级用户权限了。改用户的groupid也可以这样改。
如果是改某个文件的属性,就比较简单了,直接用chmod命令就可以了,我一般直接后面接数字,如果要给rwx的权限,就给7,rw-,就是6,r--就是4(二进制的,对应x -1,w-2,r -4),比如要给某个文件用户自己rwx权限,用户group内 r-x的权限,其它人r--只读,那么用chmod命令就可以:
# chomd 754
修改权限:

1)管理用户(user)的工具或命令;
useradd 注:添加用户
adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov 注:同步用户从/etc/passwd 到/etc/shadow
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 注:查看用户信息工具
id 注:查看用户的UID、GID及所归属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 注:和sudo 功能差不多。
般如果你修改用户本身的权限,也没有太多好改的,一般用户创建用户(useradd)之后,用户就会有一个默认或指定的 userid和groupid. 一般对UNIX系统下的文件,都分为“user自己、usergroup、其它user”可以“读、写、执行”三类,用ls -la可以看到,如:

# ls -l
-rwxr-xr-x 1 root bin 62528 Jan 23 2005 zip
其中r表示可以 read/读,w表示可以 write/写,x表示可以 execute/执行。
userid一般都是唯一的,但你可以修改自己user的group信息,以加入需要的用户组里面访问特定的文件。
groupadd :添加用户组;
groupdel :删除用户组;
groupmod :修改用户组信息
2)管理用户组(group)的工具或命令;
groupadd 注:添加用户组;
groupdel 注:删除用户组;
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
grpck
grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件。

网友(3):

什么是网元配置?