Re: Context settings after ssh login

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On 10/05/2010 06:38 AM, imsand@xxxxxxxxx wrote:
>>> On 10/04/2010 11:30 PM, imsand@xxxxxxxxx wrote:
>>>>> On 10/04/2010 01:03 AM, imsand@xxxxxxxxx wrote:
>>>>>> Hello
>>>>>>
>>>>>> I'm working on SUSE SLES11SP1 and encounter the following problem.
>>>>>> Setting the context of the User after ssh login doesn't work if the
>>>>>> SELinux Username and the Linux Username aren't identical.
>>>>>>
>>>>>> --------------
>>>>>> Here is an example (SElinux User=mat_u, Linux User=mat_u):
>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]: Accepted
>>>>>> keyboard-interactive/pam for mat_u from 131.102.233.125 port 54714
>>>>>> ssh2
>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]:
>>>>>> pam_selinux(sshd:session):
>>>>>> Open Session
>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]:
>>>>>> pam_selinux(sshd:session):
>>>>>> Open Session
>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]:
>>>>>> pam_selinux(sshd:session):
>>>>>> Username= mat_u SELinux User = user_u Level= (null)
>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]:
>>>>>> pam_selinux(sshd:session):
>>>>>> set mat_u security context to user_u:user_r:user_t
>>>>>> Oct  4 09:41:54 testsrv.example sshd[15829]:
>>>>>> pam_selinux(sshd:session):
>>>>>> set mat_u key creation context to user_u:user_r:user_t
>>>>>> ---
>>>>>> mat_u@xxxxxxxxxxxxxxx:~>    id
>>>>>> uid=6575(mat_u) gid=100(users)
>>>>>> groups=16(dialout),33(video),100(users)
>>>>>> context=mat_u:staff_r:staff_t
>>>>>> mat_u@xxxxxxxxxxxxxxx:~>    newrole -r sysadm_r
>>>>>> mat_u@xxxxxxxxxxxxxxx:~>    id
>>>>>> uid=6575(mat_u) gid=100(users)
>>>>>> groups=16(dialout),33(video),100(users)
>>>>>> context=mat_u:sysadm_r:sysadm_t
>>>>>> --------------------
>>>>>>
>>>>>> So, this is okey. The user's context after login is
>>>>>> "mat_u:staff_r:staff_t"
>>>>>>
>>>>>> But, if the Linux User is different from the SELinux User, the
>>>>>> default
>>>>>> user's will be chosen instead.
>>>>>>
>>>>>> Here is the example (SELinux User=mat_u, Linux User=mat):
>>>>>> ---------------------
>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]: Accepted
>>>>>> keyboard-interactive/pam for mat from 131.102.233.125 port 54726
>>>>>> ssh2
>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]:
>>>>>> pam_selinux(sshd:session):
>>>>>> Open Session
>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]:
>>>>>> pam_selinux(sshd:session):
>>>>>> Open Session
>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]:
>>>>>> pam_selinux(sshd:session):
>>>>>> Username= mat SELinux User = mat_u Level= (null)
>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]:
>>>>>> pam_selinux(sshd:session):
>>>>>> set mat security context to mat_u:staff_r:staff_t
>>>>>> Oct  4 09:46:22 testsrv.example sshd[16185]:
>>>>>> pam_selinux(sshd:session):
>>>>>> set mat key creation context to mat_u:staff_r:staff_t
>>>>>> ---
>>>>>> mat_u@xxxxxxxxxxxxxxx:~>    id
>>>>>> uid=6575(mat) gid=100(users) groups=16(dialout),33(video),100(users)
>>>>>> context=user_u:user_r:user_t
>>>>>>
>>>>>> mat_u@xxxxxxxxxxxxxxx:~>    newrole -r sysadm_r
>>>>>> user_u:sysadm_r:sysadm_t is not a valid context
>>>>>> ---------------------
>>>>>>
>>>>>> As you can see, the pam_selinux module recognizes that the new
>>>>>> context
>>>>>> should be "mat_u:staff_r:staff_t", but for some reason the real
>>>>>> context
>>>>>> is
>>>>>> user_u:user_r:user_t. Changing the context with newrole doesn't work
>>>>>> either...
>>>>>>
>>>>>> The user mappings should be okey:
>>>>>> ------
>>>>>> semanage user -l | grep mat
>>>>>> mat_u           staff_r sysadm_r
>>>>>> testsrv.example:~ # semanage login -l | grep mat
>>>>>> mat
>>>>>> -------
>>>>>>
>>>>>> Any idea out there? Do I miss something?
>>>>>> kind regards
>>>>>> Matthias
>>>>>>
>>>>>>
>>>>>> --
>>>>>> This message was distributed to subscribers of the selinux mailing
>>>>>> list.
>>>>>> If you no longer wish to subscribe, send mail to
>>>>>> majordomo@xxxxxxxxxxxxx
>>>>>> with
>>>>>> the words "unsubscribe selinux" without quotes as the message.
>>>>>>
>>>>>
>>>>> you can specify the context in
>>>>> /etc/selinux/policy/contexts/users/whatroleyouused
>>>>> (under sshd) I normally set user_r:user_t:s0
>>>>>
>>>>>
>>>>> Justin P. Mattock
>>>>>
>>>>> --
>>>>> This message was distributed to subscribers of the selinux mailing
>>>>> list.
>>>>> If you no longer wish to subscribe, send mail to
>>>>> majordomo@xxxxxxxxxxxxx
>>>>> with
>>>>> the words "unsubscribe selinux" without quotes as the message.
>>>>>
>>>>
>>>> The file looks like:
>>>> cat /etc/selinux/refpolicy/contexts/users/mat_u
>>>> system_r:local_login_t		staff_r:staff_t sysadm_r:sysadm_t
>>>> system_r:remote_login_t		staff_r:staff_t
>>>> system_r:sshd_t			staff_r:staff_t sysadm_r:sysadm_t
>>>> system_r:crond_t		staff_r:cronjob_t
>>>> system_r:xdm_t			staff_r:staff_t
>>>> staff_r:staff_su_t		staff_r:staff_t
>>>> staff_r:staff_sudo_t		staff_r:staff_t
>>>> sysadm_r:sysadm_su_t		sysadm_r:sysadm_t
>>>> sysadm_r:sysadm_sudo_t		sysadm_r:sysadm_t
>>>>
>>>> So, theoretical this should be okey, isn't it?
>>>> And as you can see in the log from above (set mat key creation context
>>>> to
>>>> mat_u:staff_r:staff_t) it "tries" to switch to staff but for some
>>>> reason
>>>> it doesn't work..
>>>>
>>>>
>>>>
>>>
>>> if your sshd'ing and the context is staff_r:staff_t then it's correct,
>>> I
>>> usually change this to user_r:user_t just cause I'm paranoid.
>>> Also there is some options that you can set in /etc/pam.d to do other
>>> checks etc..
>>>
>>> Justin P. Mattock
>>>
>> no it's not and that't the problem:)
>> If I sshd'ing with mat_u it's always "user_r:user_t" even
>> "staff_r:staff_t" is specified (see above). But it's correct if the
>> selinux and linux users are named equaly (mat in the example).
>> It seems that something with the context settings and usermapping isn't
>> correct. Do you see the problem?
>>
>>
>
>
> Somewhere in the policy it is set to default to user_r for sshd, I dont
> think there is a boolean(but could be wrong)for that feature. maybe it's
> reading the default_contexts file which is set to use user_r:user_t
> instead of reading mat_u for sshd(staff_r:staff_t)
>
> Justin P. Mattock
>
>
Unfortunately I can't see a rule doing this. The curious thing is, that it
works if the selinux user and the linux user are equivalent (both mat_u).
But it does NOT work if it is mat (linux user) and mapped to mat_u
(selinux user).


--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
the words "unsubscribe selinux" without quotes as the message.


[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux