루트 권한을 부여하지 않고 -20이라는 좋은 값으로 프로세스를 시작하는 방법은 무엇입니까?

루트 권한을 부여하지 않고 -20이라는 좋은 값으로 프로세스를 시작하는 방법은 무엇입니까?

-20이라는 좋은 값으로 프로세스를 시작하고 싶습니다. 이를 위해서는 다음과 같은 명령을 사용해야 합니다.

sudo nice -n -20 matlab

그러나 이것은 또한 MATLAB을 루트로 시작합니다. MATLAB을 루트가 아닌 사용자로 만드는 방법이 있습니까?

내 현재 접근 방식은

sudo nice -n -20 sudo -u myusername matlab

이것은 나에게 해킹처럼 보입니다. 이를 수행하는 직접적인 방법이 있습니까?

답변1

정상적으로 시작한 다음 "renice"를 사용합니다 ...

그러나 "su"를 사용하여 빠르게 해킹할 수 있었고 성공했습니다.

sudo nice -n -20 su -c command_to_run user_to_run_as

sudo에 비밀번호를 제공할 필요가 없다면(아마도 방금 비밀번호를 제공했기 때문에) 비밀번호를 추가하여 &전체 프로세스를 백그라운드에 둘 수 있습니다.

sudo 명령을 사용하여 루트가 되었기 때문에 su비밀번호를 묻지 않습니다. X 아래의 터미널 에뮬레이터에서 X 프로그램을 시작할 수 있습니다. X 세션을 소유한 사용자가 아닌 사용자로 X 프로그램을 실행하려면 X 세션을 허용하도록 명시적으로 지시해야 할 수도 있습니다(해당 사용자의 X 클라이언트에 공개).

답변2

파일을 수정하면 이 작업을 수행할 수 있다는 것을 알았습니다 /etc/security/limits.conf(적어도 일부 Linux 배포판에서는). 내 경우에는 방금 다음을 추가했습니다.

#<domain>    <type>  <item>  <value>
my_user        -     nice       -20`

그런 다음 실행할 수 있습니다

nice -n -20 matlab

로그아웃했다가 변경 사항을 저장한 후 다시 로그인하세요 /etc/security/limits.conf.

이것답변이유를 설명했습니다.

답변3

한 단계 더 나아가 @Jordan: 이것은 sudo nice -n -xx su <username> -c matlab해커를 위한 우아한 솔루션입니다.

참고: 사용자 이름= sid, matlab 메타데이터 dir= /var/lib/matlab, nice=를 사용하세요 -10. -- 자유롭게 변경하세요.

  1. MATLAB 메타데이터 디렉터리 생성
    sudo mkdir /var/lib/matlab
    
  2. MATLAB을 시작하고 권한을 부여하려면 지정된 사용자를 추가하세요.
    sudo useradd -d /var/lib/matlab sid
    sudo chown sid:sid /var/lib/matlab
    
  3. 사용자 비밀번호 설정
    sudo passwd sid
    
  4. 다음을 추가합니다./etc/security/limits.conf
    sid - priority -10
    
  5. 자동 로그인을 위한 SSH 키 설정 및 복사(선택 사항)
    ssh-keygen -t rsa #following key passwd misc   
    ssh-copy-id sid@localhost #using sid's passwd
    
  6. MATLAB 셸 래퍼 만들기(수정됨)자동 실패 오류)
    sudo -i
    cat &lt;&lt;EOF &gt;&gt;/usr/local/bin/wmatlab
    #!/bin/bash --
    # A wrapper to launch matlab
    /usr/local/MATLAB/&lt;version&gt;/bin/matlab -desktop
    EOF
    chmod +x /usr/local/bin/wmatlab
    
  7. "sid"에 대한 로그인 셸 조정
    sudo usermod -s /usr/local/bin/wmatlab sid
    
  8. sshwith를 사용하여 MATLAB 시작Xforward
    ssh -X sid@localhost
    

답변4

@jordanm이 말했듯이 sudo를 삭제하십시오. 프로세스를 최적화하여 우선순위를 낮출 수 있습니다.

nice -20 matlab

sudo아니요

관련 정보